Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
JavaScript是世界上最流行的編程語言之一,已有二十多年的歷史,它也是Web開發(fā)人員常使用的三種主要語言之一。JavaScript可以用于各種各樣的目的,從增強(qiáng)網(wǎng)站功能到運行游戲和基于Web的軟件。
但是一種語言不可能做到完美,在過去的十年里,JavaScript驅(qū)動的網(wǎng)站方法(如:由JavaScript生成的HTML)常常被用在一些無益的情況下。把應(yīng)用程序(例如:谷歌地圖)和交互式文檔(例如:Twitter)混為一談的人數(shù)不勝數(shù),創(chuàng)建了很多占內(nèi)存、性能差又耗電的網(wǎng)站。另外,JS代碼段相當(dāng)大,且各瀏覽器廠商對JavaScript支持程度不同,在不同的設(shè)備上會以不同的方式呈現(xiàn),從而導(dǎo)致展示效果不一致。
所以,很多人會產(chǎn)生一種“反JS”的情緒不足為奇。有些“反JS”激進(jìn)者甚至希望使用一些不帶JavaScript的網(wǎng)站。這種觀點和“親JS”一樣,都低估了科技發(fā)展以及人的能動性的力量。
JavaScript是把雙刃劍
Web發(fā)展已經(jīng)有二十年的歷史了,但是還是有很多人不會使用。數(shù)字鴻溝真實的存在,無論是在手機(jī),還是在電腦上使用網(wǎng)站,仍然有很多人對于如何使用感到費解。如果真的在網(wǎng)站中禁用JavaScript,對于這些用戶來說,使用體驗只會更差。因為JavaScript還是有一些優(yōu)點的,比如:
一個簡單的基于JavaScript構(gòu)建的購物車更容易使用,相比于每次按下添加商品按鈕后自動重新定向到購物車頁面,所需要的資源更少。
與注重體驗的頁面相比,輸入數(shù)據(jù)時實時更新并實時通知所需支付費用的稅收計算器,所產(chǎn)生的壓力更小,效率更高,并且需要的來回次數(shù)更少。
一家保險公司提供由十幾頁組成的復(fù)雜訂閱通道,看起來十分混亂且不易導(dǎo)航。可以用幾個較小的表格代替,將這些表格相互堆疊,可以在一個頁面中即時保存、編輯和縮小。
如果需要調(diào)整設(shè)置,閱讀障礙者必須進(jìn)入其配置面板,在表單中選擇閱讀障礙模式,然后對其進(jìn)行驗證,重新加載整個網(wǎng)站后可以使用新的樣式。這個操作可以用一個簡單的切換按鈕實現(xiàn),在任何界面都無需重新加載。
無論是絕對支持JavaScript還是反對JavaScript都不是一種好的解決方法。但是如果我們不強(qiáng)制在交互式文檔中使用JavaScript,并且把它作為一種增強(qiáng)用戶體驗的工具就能很好的解決這兩種極端情況帶來的問題。
在用戶體驗和技術(shù)能力之間找到合適的平衡點的網(wǎng)站已經(jīng)是一種常態(tài)。在我們有工具和知識可以做得更好的時候,絕對支持或反對JavaScript的看法是落后的。圍繞著JavaScript使用的思維方式已經(jīng)在行業(yè)中發(fā)生了轉(zhuǎn)變,越來越多的人提倡更負(fù)責(zé)任的方法。
大多數(shù)的前端框架現(xiàn)在都用于元框架(其中Next是領(lǐng)導(dǎo)者),提供服務(wù)器端的渲染與交互,從而在舊的硬件上工作。其中一些框架甚至不再是庫,而是編譯器(如Svelte),可以輸出超級微小和高效的代碼。
現(xiàn)在微框架已經(jīng)興起,它們的工作方式?jīng)]有變化,但體積卻小了10倍(Preact vs React),而且它們中的大多數(shù)甚至更快。還有另一些框架,它們可以編譯成HTML并創(chuàng)建JavaScript交互的 "島嶼",結(jié)合了雙方的優(yōu)點(這就是Astro)。
所有這些之前提到的框架都嚴(yán)重依賴于一個龐大的工具生態(tài)系統(tǒng),而這個生態(tài)系統(tǒng)仍然存在問題,不安全,脆弱(而且其中大部分現(xiàn)在被微軟擁有)。但至少他們更加注重用戶體驗。對于那些不喜歡NPM但又想編譯JavaScript的人來說,有一些單一的二進(jìn)制文件,比如(Esbuild),可以直接安裝在系統(tǒng)上,按照自己想要的方式使用。
最后,對于一些真的抗拒JavaScript的人來說,有一些庫可以通過HTML屬性(HTMX,Alpine)來管理Ajax調(diào)用或dom交互。這些庫已經(jīng)在“反JS”文化的團(tuán)隊中取得了很大的成功,比如Python、Ruby甚至JAVA。
但這依然不是萬全之策。我們要消除Angular和React對網(wǎng)站造成的損害,同時保持它們的優(yōu)勢,仍然需要很多年的努力。但是,至少我們努力的方向是對的,也許很快我們就能夠在2005年的電腦上擁有看起來和感覺上都不像2005年網(wǎng)頁的網(wǎng)站。
你對此有什么看法呢?你是極端的支持或者反對JS者還是中立者呢?歡迎留言告訴我們。
參考資料:
https://thomasorus.com/about-the-no-js-mindset.html
https://www.cnblogs.com/SanMaoSpace/archive/2013/06/14/3136774.html
https://www.simcf.cc/9122.html
《新程序員001-004》全面上市,對話世界級大師,報道中國IT行業(yè)創(chuàng)新創(chuàng)造
評:如果停用瀏覽器里的 JavaScript,網(wǎng)頁還能正常運作嗎?JavaScript 的便利到底是讓我們更方便了還是更復(fù)雜了?
在柏林,有一個寫 JavaScript 的程序員,有一天她終于厭煩了天天為了掙錢而寫 JavaScript,一點樂趣都沒有。于是她決定要在沒有 JavaScript 的情況下度過完全屬于自己的一整天。
看起來好像有點瘋狂,不過想想上古時期的網(wǎng)頁沒有 JavaScript 不也這么過來了么,看起來完全禁用 JavaScript 也不是什么大不了的事情。
然后她就這么干了!
以下是她訪問過的幾個熱門網(wǎng)站,禁用 JavaScript 之后:
YouTube 的視頻和縮略圖都無法加載
Netflix 除了左上角的徽標(biāo)之外不加載任何東西
亞馬遜看起來有點奇怪,不過還是可以買買買!
維基百科依然很正常
Google 搜索仍然很好用
沒有 JavaScript 的一天,大體是這樣的:
網(wǎng)頁加載速度快得不要不要的
沒有任何廣告彈窗,也沒有渣推自動播放視頻
但是……很多網(wǎng)站不工作。圖片不加載,表單無法提交
總之,作者依然有點憤慨,她認(rèn)為這是個面向所有用戶和設(shè)備的互聯(lián)網(wǎng),而不是 JavaScript App Store,我們應(yīng)該確保即使是最基本的設(shè)備也能瀏覽網(wǎng)頁。
似性模式匹配如何幫助我們預(yù)測股票走勢。
Python代碼在最后用于復(fù)制和粘貼。本文將解釋我如何使用Python實現(xiàn),以及我們應(yīng)該如何在股票預(yù)測中最好地使用這種模式匹配技術(shù)。
免責(zé)聲明:我強(qiáng)烈建議您在將這些代碼用于交易算法之前,先閱讀我的文章。
我還將在最后分享我的觀點,以及如何最好地利用這個想法來調(diào)整我們的創(chuàng)業(yè)。
以下是明天(2024年5月22日)盈利公告前即將到來的90天英偉達(dá)股票預(yù)測的快速視圖。
你有什么感覺?
Nvidia股票預(yù)測在2024年第1季度前1天賺取股份(即2024年5月21日)
以上是股票公告后的價格預(yù)測(作者更新時間:2024年5月23日)
繼續(xù)閱讀,看看這張圖表是如何用末尾的完整代碼生成的。
由于英偉達(dá)將于明天2024年5月22日宣布其2024年第一季度結(jié)果的收益,讓我首先向您展示預(yù)測結(jié)果,并展示我的Python代碼是如何得出這一預(yù)測的。
我用左邊的30天紅線作為每個公告的“價格模式”。DOTTED-RED線是每個公告發(fā)布之前未來90天的預(yù)測。綠線是供比較的實際股價。
2023年5月24日宣布2023年第1季度
2023年8月23日發(fā)布2023年第二季度公告
2023年11月21日發(fā)布2023年Q3公告
2023年2月21日Q4公告
乍一看,你可能會說“這完全關(guān)閉了!”
你是對的!
盡管我可以爭辯說“趨勢實際上還不錯!”但它似乎被巨大的規(guī)模所抵消。發(fā)生這種情況是因為在每次宣布時,市場的行為都不同,市場反應(yīng)是由預(yù)期驅(qū)動的。機(jī)構(gòu)投資者設(shè)定了這種預(yù)期,如果結(jié)果超過“他們的”預(yù)期,盡管結(jié)果實際上每季度呈指數(shù)增長,但則設(shè)定了主觀預(yù)期。
好的,讓我們調(diào)整我們的預(yù)測,并將其推遲到通知后1到2天后。以下是預(yù)測1-2天后未來股票走勢的相同程序。
2023年5月25日宣布2023年第一季度(晚1天)——看起來不錯
2023年8月24日宣布2023年2季度(晚1天)——非常關(guān)閉
2023年11月22日宣布2023年第三季度(晚1天)——和以前一樣
2023年2月23日第4季度宣布(晚2天)——還不錯
如果我們能在一兩天內(nèi)避免重大事件,那么預(yù)測似乎與實際價格趨勢有很大距離。這并不難理解,因為重大事件導(dǎo)致價格波動更大。我會在這篇文章的結(jié)尾處解釋更多。
讓我們討論一下我在幕后做什么。
使用一只股票的股票圖表模式來識別另一只股票或自己圖表的早期階段的類似模式,我們可以進(jìn)行預(yù)測,這是一個非常誘人的策略,因為市場認(rèn)為歷史價格走勢包含有價值的信息,可以應(yīng)用于不同的股票,特別是在同一行業(yè)內(nèi)。
這種方法背后的原則在于假設(shè)股票圖表中的某些模式或趨勢,如支撐和阻力水平、趨勢線和燭臺形成,反映了潛在的市場心理和投資者行為。這些模式被認(rèn)為在各種股票和時間框架中重復(fù)出現(xiàn),為我們提供了預(yù)測未來價格走勢的機(jī)會。
通過利用機(jī)器學(xué)習(xí)算法或統(tǒng)計技術(shù),可以從一只股票的歷史數(shù)據(jù)中提取的模式與另一只股票的模式進(jìn)行比較和匹配,從而能夠識別類似的市場條件和潛在的交易機(jī)會。
在這個程序中,我正在使用余弦相似性進(jìn)行模式匹配,并使用sklearn.metrics.pairwise中的模塊作為測量兩個向量之間相似性的常見技術(shù),通常用于文本挖掘、信息檢索和機(jī)器學(xué)習(xí)。
如果你不熟悉余弦相似性,并且有時間,那就去做別的事情吧:)相信它能從兩種模式中找到相似性就足夠了。除非你想更深入地研究數(shù)據(jù)科學(xué),否則你可以去維基百科作為你的起點。下面的方程已經(jīng)由sklearn模塊處理了......唉!
我將在我正在編寫的書中更詳細(xì)地解釋這個程序的工作原理,但在這篇文章中,我將給出要點,以保持簡短。
以下是喂養(yǎng)兩個周期股票的例程,通過從sklearn模塊調(diào)用cosine_similarity,如果找到匹配的模式,它將返回起點。
從 sklearn.metrics.pairwise import cosine_similarity
def calculate_similarity(target_period,other_period):
#通過用相應(yīng)列的平均值填充來處理NaN值
target_period_filled=np.nan_to_num(target_period,nan=np.nanmean(target_period))
other_period_filled=np.nan_to_num(other_period, nan=np.nanmean(other_period))
similarity=cosine_similarity(target_period_filled.reshape(1, -1), other_period_filled.reshape(1, -1))
返回相似性[0][0]
通過此例程并將滾動()函數(shù)應(yīng)用于股票,我們可以找出Nvidia與我們要比較的周期相似:
上圖顯示了我們在自己的歷史圖表中發(fā)現(xiàn)類似模式的位置。
底部圖表顯示了紅色時期(以供比較)和黃色時期(發(fā)現(xiàn)類似模式)的放大視圖。請注意,左軸和下軸代表類似的模式周期和價格;上軸和右軸代表我們的目標(biāo)比較股票的周期和價格。
我想預(yù)測在2023年11月21日2023年第三季度宣布之后的價格。我在通知前30天使用了,并試圖從之前的價格中找到一個匹配的模式。
在下圖中,它顯示了從2023-10-15到2023-11-22(紅色突出顯示)(30天)的Nvidia價格可以從2021-06-09到2021-07-09(黃色突出顯示-共30天)的同一圖表中找到。如果需要,我們可以更改變量以搜索更長的時間跨度,例如90天。
從早期日期發(fā)現(xiàn)的類似模式,底部圖表是兩個時期的比較
如果我們擴(kuò)展符號列表,我們甚至可以從其他股票或同一行業(yè)內(nèi)搜索股票模式的相似性,因為同一股票的歷史數(shù)據(jù)并不總是具有最佳匹配模式。然而,人們必須注意,盡管沒有最佳匹配模式,但同一只股票應(yīng)該比其他股票有更好的指示。將蘋果與橙子進(jìn)行比較是可能的,但并不總是可取的。
如果我們將Nvidia與其他技術(shù)股票相比較,并嘗試找到一種模式,以下是一些結(jié)果,這是控制臺輸出供參考:
計劃開始時間:20240521_1614
從文件中讀取股票部門...
[********************100%%*************************] 56個已完成
比較AAPL |#######################################| 2371/2371
比較MSFT |#######################################| 2371/2371
比較GOOG |####################################| 2371/2371
比較AMZN |#################################| 2371/2371
比較META |####################################| 2371/2371
比較T |####################################| 2371/2371
比較VZ |####################################| 2371/2371
比較DIS |####################################| 2371/2371
比較NFLX |####################################| 2371/2371
比較CMCSA |####################################| 2371/2371
比較TSLA |####################################| 2371/2371
比較通用汽車 |####################################| 2371/2371
比較F |####################################| 2371/2371
比較NIO |################### | 1309/2371
比較福特 |#################################| 2371/2371
比較JNJ |####################################| 2371/2371
比較PFE |####################################| 2371/2371
比較UNH |####################################| 2371/2371
比較MRK |#################################| 2371/2371
比較AMGN |####################################| 2371/2371
比較JPM |####################################| 2371/2371
比較BAC |####################################| 2371/2371
比較WFC |####################################| 2371/2371
比較C |####################################| 2371/2371
比較GS |#################################| 2371/2371
比較PG |####################################| 2371/2371
比較KO |####################################| 2371/2371
比較PEP |####################################| 2371/2371
比較成本 |####################################| 2371/2371
比較WMT |####################################| 2371/2371
比較BA |#################################| 2371/2371
比較 HON |####################################| 2371/2371
比較MMM |####################################| 2371/2371
比較UNP |####################################| 2371/2371
比較UPS |####################################| 2371/2371
比較LIN |#################################| 2371/2371
比較APD |####################################| 2371/2371
比較ECL |####################################| 2371/2371
比較NEM |####################################| 2371/2371
比較DD |####################################| 2371/2371
比較AMT |####################################| 2371/2371
比較EQIX |####################################| 2371/2371
比較PLD |#################################| 2371/2371
比較SPG |####################################| 2371/2371
比較CBRE |####################################| 2371/2371
比較NEE |####################################| 2371/2371
比較DUK |#################################| 2371/2371
比較SO |####################################| 2371/2371
比較EXC |####################################| 2371/2371
比較D |####################################| 2371/2371
比較XOM |####################################| 2371/2371
比較CVX |####################################| 2371/2371
比較COP |####################################| 2371/2371
比較SLB |#################################| 2371/2371
比較PSX |#######################################| 2371/2371
比較NVDA |####################################| 2349/2349
[?25hCOP股票與NVDA股票最相似的時期:
most_類似_庫存
警察
最高相似度值:99.98%
類似時期開始日期:2016-03-17 00:00:00
類似時期結(jié)束日期:2016-04-28 00:00:00
我們發(fā)現(xiàn)COP在2016年期間與NVDA有99.98%的相似性。以下是放大視圖
通過在我們找到匹配模式后繪制以下時期,我們可以用它來預(yù)測當(dāng)前時期,以預(yù)測未來的股票走勢。
現(xiàn)在,我們從上面的兩張圖表中看到,我們能夠找到類似的模式,一種是早期時期的股票本身,另一種是其他股票的更密切匹配,我們現(xiàn)在可以嘗試使用以下時期來預(yù)測價格走勢作為我們的預(yù)測。讓我們用這兩個例子來預(yù)測NVDA的未來!
如果使用NVDA本身來預(yù)測未來的價格行動,結(jié)果:
由于從2021-06年到2021-07年(30天)也發(fā)現(xiàn)了類似的模式,我們現(xiàn)在可以使用以下90天(2021-07年至2021-10)來預(yù)測我們未來的90天。
我們未來時間框架2023-12至2024-02年使用2021-6至2021-10的預(yù)測價格
如果我們使用COP來預(yù)測相同,我們將獲得未來期間的下圖:
我們可以看到,即使我們從自身和其他股票COP中都發(fā)現(xiàn)了非常相似的模式,未來的預(yù)測可能非常不同。
在這種情況下,我們應(yīng)該使用哪一個?讓我們疊加NVDA的結(jié)果,并與COP的結(jié)果進(jìn)行比較:
基于NVDA歷史價格的預(yù)測價格表明預(yù)計會長期升級
基于COP歷史價格的預(yù)測價格,預(yù)計短期內(nèi)交易區(qū)間為平
使用30天的模式并嘗試預(yù)測90天的未來是很好的指導(dǎo),但無論預(yù)測是基于統(tǒng)計或機(jī)器學(xué)習(xí)/人工智能,都不能過度依賴預(yù)測。
如果您能夠理解上述內(nèi)容,我的程序已將所有視圖合并到一個圖中,下面顯示了我如何在2023年第四季度使用它,日期為2024-02-21的收益公告的完整故事,但正如我之前提到的,在公告日期后創(chuàng)建預(yù)測是更明智的,以避免不可預(yù)測的波動性,即2024-02-22。
與自身概述比較
如果我使用技術(shù)股票作為主要參與者進(jìn)行比較,我得到META與該計劃的更接近的匹配,NVDA未來價格繪制在頂部圖表上。
與技術(shù)股票相比,META有99.95%的匹配和NVDA未來模式
我會把程序留給你探索,并運行各種模擬。
如果您與我之前的文章相結(jié)合,如何從各種來源中提取股票符號或從同一部門的符號,您可以比較并嘗試找到數(shù)千只股票的匹配模式,以便根據(jù)近期價格走勢給出各種可能的價格范圍。
股票模式匹配有時有效,有時無效,我簡單的答案是歷史重復(fù),但不完全像我們想象的那樣,不是在一個完美的圓圈中,而是更像一個螺旋。
如果可以找到一種模式,并在交易日過去時以一定的準(zhǔn)確性正確預(yù)測,這意味著在那個時期,市場情感與當(dāng)前情況非常相似,這只股票確實給投資者一種與過去事件進(jìn)行比較的類似感覺。
如果無論我們?nèi)绾闻Γ紵o法找到或預(yù)測模式,我們將消除“歷史會重演!”的想法。從我們的腦海中,并在對市場分析的整個過程中執(zhí)行更多操作。這意味著我們正在研究的股票“不像其他任何東西”,因為我們?nèi)祟惪偸窍朐谏钪姓业绞煜さ哪J健J菚r候“跳出框框思考”并忘記過去了。太多的人迷失在他們所做的事情中,因為他們“希望”和思考事情會重演。我的圖表告訴你“是時候放手了”。
正如Nvidia示例中觀察到的,在收益公告(“事件”)后,市場預(yù)測往往更準(zhǔn)確或在預(yù)期范圍內(nèi)。這一觀察支持了這樣一種觀點,即市場在很大程度上是由情緒驅(qū)動的,而不是完全基于事實和數(shù)字。
情感決策通常主導(dǎo)著圍繞事件的交易行為,本質(zhì)上不那么準(zhǔn)確,也更不可預(yù)測。
鑒于此,在正常交易期間依靠市場預(yù)測,并根據(jù)不可預(yù)測的事件不斷調(diào)整預(yù)測,是更明智、更安全的。此類事件創(chuàng)造了波動性和新的價格行為,可以成為人工智能和機(jī)器學(xué)習(xí)中強(qiáng)化學(xué)習(xí)算法的寶貴投入。
通過不斷整合這些新數(shù)據(jù)點,人工智能系統(tǒng)可以改進(jìn)其模型,更好地了解市場情緒和反應(yīng)的細(xì)微差別。這種自適應(yīng)學(xué)習(xí)方法允許任何邏輯,特別是人工智能,隨著時間的推移完善其預(yù)測,使其在面對受人類情緒和意外事件影響的市場動態(tài)時更具彈性和準(zhǔn)確性。
本質(zhì)上,雖然由于人類行為和情緒的固有不可預(yù)測性,市場可能永遠(yuǎn)無法完全預(yù)測,但利用您的算法從這些波動中學(xué)習(xí)可以增強(qiáng)預(yù)測模型。這種迭代的學(xué)習(xí)和適應(yīng)過程有助于創(chuàng)建一個更強(qiáng)大的系統(tǒng),能夠駕馭市場運動的復(fù)雜性,無論是在穩(wěn)定時期還是在應(yīng)對突然的、情緒驅(qū)動的變化。
為了最好地利用這種預(yù)測方法,我強(qiáng)烈建議:
Geranimo在Unsplash上拍攝的照片
我們可能仍然懷疑,即使人工智能和機(jī)器學(xué)習(xí)取得了進(jìn)步,任何預(yù)測方法是否也能實現(xiàn)完全的準(zhǔn)確性。這種懷疑是絕對合理的。如今,市場主要由買家和賣家驅(qū)動,主要是人類。也許有一天,如果交易完全由機(jī)器人和自動化系統(tǒng)主導(dǎo),市場行為將更可預(yù)測......
但是,有什么好玩的呢?
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。