正文 許多經(jīng)濟學(xué)家認為股票市場是隨機的,因為它受隨機事件的支配,有效市場假說和隨機游走理論中對此也有所說明。但是這是真的嗎? 研究人員對這一點進行了測試,他們試圖預(yù)測股票市場,以表明確實有可能對市場走向有影響,而且似乎某些事實已經(jīng)證明了他們的觀點。這一領(lǐng)域的里程碑式的論文是由Bollen等人撰寫的(https:///pdf/1010.3003.pdf)。本文中,我們將試圖簡單地解釋他們是如何做的。 Bollen使用公眾觀點(使用Twitter)來證明推特上公眾表達的情緒和股票市場表現(xiàn)之間存在關(guān)聯(lián)。 什么是股票市場? 現(xiàn)在,大多數(shù)公司不是由一個簡單的人所擁有,甚至不是一個單純的組織,而是由大量的人所共享一個公司,這些人被稱為股東。這些人都擁有公司的一部分股票,因此這些人也被稱為股東。股票市場是一個你可以出售公司股票或購買公司股票的地方。 更正式地說,股票可以定義為:
股票市場可以定義為:
如果你有興趣了解更多,請參考這個鏈接: https:///resources/knowledge/trading-investing/stock-market/ 現(xiàn)在有很多股票市場,我們的研究落腳點將是“紐約證券交易所”。為什么?因為它是最大的股票市場,大多數(shù)相關(guān)研究都以它為研究對象?,F(xiàn)在,在繼續(xù)我們的研究之前,需要理解一個術(shù)語,它是“道瓊斯工業(yè)平均指數(shù)”,或者簡稱為“道瓊斯指數(shù)”。 道瓊斯工業(yè)平均指數(shù)是紐約證券交易所和納斯達克交易的30只重要股票的價格加權(quán)平均值。道瓊斯工業(yè)平均指數(shù)是查爾斯道在1896年發(fā)明的。 道瓊斯工業(yè)平均指數(shù)通常被稱為“道瓊斯”, 道瓊斯工業(yè)平均指數(shù)(DJIA)包括世界上最老、最受關(guān)注的一部分公司,有通用電氣公司、華特迪士尼公司、??松梨诠疽约拔④浀裙尽k娨暰W(wǎng)絡(luò)中的通常指的是道瓊斯指數(shù)。 所以道瓊斯指數(shù)為我們就研究股票市場是高走還是低走提供了一個很好的思路。那么DJIA到底衡量什么?它本身只是前30大公司股票價格的加權(quán)平均值,其中,價值更高的股票被賦予更大的權(quán)重,而最終的結(jié)果將被標準化以剔除偶然性事件。因此,它本身就是一個價格。 因此,有了DJIA,我們現(xiàn)在就有了一個可靠的方法去了解市場一天的表現(xiàn)?,F(xiàn)在我們需要的是一種能夠挖掘公眾意見的方式,為此我們借助Twitter。 Twitter情緒分析 機器能理解情感嗎?不,他們不能,直到現(xiàn)在,我們不是指完美的不(而是相當(dāng)不完美的不),因為機器現(xiàn)在可以理解各種各樣的情感(盡管不是完美和可靠的),并且很容易被愚弄/迷惑。 使用機器學(xué)習(xí)可以測量某段文本中表達的情緒(或情感)。但是精確度還有待提高。但是,如果情感被明確表達,并且語言上的含義并沒有被扭曲,那么我們可以建立一個可靠的情感分析模型。這是Bollen從推特上獲得情緒表達的載體想法。 情感分析是機器學(xué)習(xí)中一個非常重要的應(yīng)用,許多不同的(指的是很多)算法已經(jīng)被用于從文本中獲取情感這一現(xiàn)象就不足為奇了。讓我們來看一個最簡單和直觀的算法。考慮一個文本:
我們的算法將只關(guān)注重要的單詞,如“非?!?、“印象深刻”等。(而不是像“我”、“是”等詞。我們的算法可能不知道spaceX、 Elon、Musk, 所以這些詞可能會被忽略掉)。現(xiàn)在,考慮到該算法之前已經(jīng)遍歷過正面積極的詞(在該訓(xùn)練文本的時候),并發(fā)現(xiàn)諸如“漂亮”“印象深刻”“偉大”這樣的詞大多與正面情緒有關(guān)。因此我們的算法可能會將文本標記為積極。 這是Textblob (文本分析工具:https://textblob./en/dev/)所采用的方法,它非常簡單,Textblob基于樸素貝葉斯算法工作。樸素貝葉斯算法是一種非常簡單的算法,考慮到它的簡單性,它給出的結(jié)果會很大。因此這個算法的思路是——考慮到每個單詞所關(guān)聯(lián)的文檔類型,給每個單詞賦予一個分數(shù)。從而出現(xiàn)在正面文本中的單詞比出現(xiàn)在負面文本中的單詞更有可能有更高(或更積極)的分數(shù)。因此如果積極的詞出現(xiàn)在文檔中,那么這個文本更有可能是正面的。因此,每個單詞都有自己的分數(shù),然后對這些分數(shù)進行平均,以獲得文檔的情感傾向。 當(dāng)然,這種方法并不理想,尤其是在復(fù)雜的文檔上,這樣的方法會產(chǎn)生非常差的結(jié)果。因此,大多數(shù)研究者也會使用更復(fù)雜的分類器(如SVMs,即支持向量機)來建立情感分析模型。 Bollen使用了兩種工具進行情感挖掘,一種是意見查找器,另一種是谷歌公司推出的關(guān)于情緒狀態(tài)的個人資料服務(wù)。這些天我并沒有見過很多人使用意見查找器,當(dāng)然這個工具對于本博客來說也不是很重要,所以我們將把它放在谷歌情緒狀態(tài)簡介(或GPOMS)上。 GPOMS是一種工具,它可以幫助你準確地檢測文本中表達的情緒。它基于情緒狀態(tài),由65或37個問題組成的調(diào)查問卷,而這將取決于你選擇哪一個。對于每一個問題,你都用以下的詞來表明你的感受——“一點也不”、“一點”、“適度”、“相當(dāng)多”、“極度”。 因此,舉個例子,對于“遺憾”的問題,你會指出你作為上述狀態(tài)之一的感覺, 它會用一個標準來轉(zhuǎn)換成分數(shù),你的情感傾向?qū)鶕?jù)你的反應(yīng)來進行計算。這里有一個測試鏈接:https://www./poms.htm 那么,GPOMS如何使用POMS從文本中預(yù)測情緒呢?你可以點擊這個谷歌連接。Bollen使用了谷歌發(fā)布的一個數(shù)據(jù)集。這個數(shù)據(jù)集包括從1萬億個英文網(wǎng)頁文本中提取的n-gram的頻率來計數(shù)。你可以在這里試試。那么bollen做了什么:他將POMS調(diào)查問卷中的每個單詞與google n-gram數(shù)據(jù)集中的n-gram相關(guān)聯(lián),然后將最頻繁出現(xiàn)的N -gram分成標記。現(xiàn)在這些單詞中的每一個都有與之相關(guān)聯(lián)的情緒,并且可以基于這些單詞出現(xiàn)的情況來給它們一個加權(quán)分數(shù),并根據(jù)這些詞在文本中的出現(xiàn)的部分來用情感進行標記。 以上是我們對Bollen在論文中對這一方法解釋的理解:
不幸的是,GPOMS不再可被自由獲取,現(xiàn)在它是一個封閉的源代碼工具(http://101.96.10.75/cs229.stanford.edu/proj2011/GoelMittal-StockMarketPredictionUsingTwitterSentimentAnalysis.pdf)。Goel- Mittal用一種簡單得多的方法建立了一個類似的模型(盡管不太準確)。他們使用POMS問卷中出現(xiàn)的單詞的同義詞,然后將它們映射到文本中。 根據(jù)他的GPOMS模型和意見調(diào)查者Bollen發(fā)現(xiàn)的人們的情緒傾向,得到的結(jié)果如下: 我們現(xiàn)在已經(jīng)完成了四個部分中的兩個,我們知道了如何衡量公眾的情緒和市場的情緒?,F(xiàn)在我們可以繼續(xù)證明這兩者之間確實是關(guān)聯(lián)的。 “時間序列”間的相關(guān)性 如上圖所示,我們已經(jīng)獲得了關(guān)于人們情緒的時間序列,類似的DJIA分數(shù)時間序列可以很容易地獲得?,F(xiàn)在,我們需要尋找一種方法來證明這些是相互關(guān)聯(lián)的,或者人們的情緒(從推特上挖掘出來的)導(dǎo)致了股票市場的變化。 我們用格蘭杰因果關(guān)系(Granger causality)來對它進行處理。那么到底什么是格蘭杰因果檢驗?zāi)?根據(jù) Schoaropedia 的文章(http://www./article/Granger_causality) 格蘭杰因果關(guān)系(Granger causality)是基于預(yù)測的因果關(guān)系的統(tǒng)計概念。根據(jù)格蘭杰因果關(guān)系,如果信號X1是信號X2的格蘭杰原因(或G-causes),則X1的過去值應(yīng)該包含有助于預(yù)測X2的信息,而不僅僅是X2過去值中包含的信息。它的數(shù)學(xué)公式基于隨機過程的線性回歸模型( Granger 1969 )。非線性情況存在更復(fù)雜的擴展形式,然而這些擴展形式在實踐中往往更難應(yīng)用。 所以,如果我們有兩個時間序列,比如X1和X2,我們可以證明X2依賴于它的歷史值,即: 這里, 至少有一個常數(shù) 不為零,那么我們可以說 取決于其歷史值,已知上述關(guān)系后,如果 中至少有一個不為零,那么以下關(guān)系成立: 那么我們可以說X1是X2的格蘭杰原因, 或者X1有預(yù)測X2的可能性。請參考這段視頻可以更好地理解格蘭杰因果關(guān)系。 在做了二元格蘭杰因果分析后,Bollen發(fā)現(xiàn),在六種情緒狀態(tài)(即平靜、警覺、肯定、重要、善良和快樂)中,只有一種情緒狀態(tài),即“平靜”情緒狀態(tài)與股票市場的Granger因果關(guān)系最大,從2天到6天不等,另外四種情緒維度與股票市場沒有顯著的因果關(guān)系。 因此,Bollen繪制了“平靜”的時間序列(滯后3天)和DJIA時間序列,以顯示兩者之間的相關(guān)性:
陰影部分顯示了具有顯著相關(guān)性的部分。我們應(yīng)該記住,平靜圖滯后3天,因此Twitter的數(shù)據(jù)不是可以同步對市場進行預(yù)測,而是在3天前預(yù)測市場。如果我們仔細觀察的話,我們可以看到這個圖中存在大量的相關(guān)性,因此現(xiàn)在我們可以確定兩個時間序列之間存在相關(guān)性。我們可以利用這些信息來預(yù)測股票市場,以及見證我們預(yù)測的準確性有多高。 預(yù)測股票市場 現(xiàn)在,對于試金石數(shù)據(jù),我們能根據(jù)現(xiàn)有的Twitter預(yù)測以前看不見的股票市場的將來趨勢嗎? 為了預(yù)測股票市場,Bollen使用了一種叫做自組織模糊神經(jīng)網(wǎng)絡(luò)(SOFNN)的算法,他們使用了五層混合SOFNN模型來預(yù)測股票市場,并獲得了令人印象深刻的結(jié)果。他們使用了不同的數(shù)據(jù)排列方式,例如,只有平靜,平靜和快樂交織等。他們在以非線性方式將平靜和快樂結(jié)合在一起后獲得的最佳準確率為87.6 %。 那么,到底什么是SOFNN?(http://www./article/Fuzzy_neural_network)根據(jù)這篇sholaropedia的學(xué)術(shù)論文,結(jié)合模糊邏輯和神經(jīng)網(wǎng)絡(luò)的優(yōu)點,為類似的任務(wù)創(chuàng)建了一個非常好的模型。這兩個主題都超出了本文的范圍。因此,我們將只簡要討論他們。 在進行計算機操作時,我們主要處理的是布爾邏輯或二進制邏輯,即任何實體都可認為0或1。但是這種類型的邏輯在現(xiàn)實世界的許多場景中并不適用,因為我們一般會面臨超過一個的結(jié)果,例如,游戲的結(jié)果主要是贏或輸,但也可能是平局,或者也可能需要考慮到贏的差距,因此在0和1這兩者之間可能會有更多的狀態(tài)。對我們來說,這似乎比二進制(又稱黑白)方法更自然,也更有助于模擬現(xiàn)實世界的情況。這種模糊方法是模糊邏輯背后的邏輯,你可以在這里讀到更多(http://www./article/Fuzzy_neural_network) 如果你沒聽說過神經(jīng)網(wǎng)絡(luò),那么現(xiàn)在神經(jīng)網(wǎng)絡(luò)是個時髦的詞。是時候了解一些相關(guān)的博客了?;旧?,這是一個試圖模仿人腦內(nèi)部神經(jīng)元的數(shù)學(xué)模型。 以下是sholaropedia對混合模糊神經(jīng)網(wǎng)絡(luò)的一個很好的解釋:
綜合 以上四個部分試圖用來解釋用于構(gòu)建Bollen提出的模型的較小部分。現(xiàn)在,我們將研究的最終模型,來更好地理解可用于預(yù)測股票市場的模型:
首先,將來自于推特和DJIA中的原始數(shù)據(jù)進行提取和處理,然后使用情緒分析模型Opinion Finder和GPOMS對推特數(shù)據(jù)進行Granger因果檢驗,以證明推特上表達的情緒確實與DJIA值有一定的相關(guān)性。一旦上述情況成立,我們接下來就可以開始用SOFNN模型預(yù)測股市了。 |
|