【摘 要】文章結合股市新聞和股票歷史價格,首先將股市新聞作為多重核的一個子核,利用中文分詞軟件對股市新聞進行分割,并從中選取1000個有代表性的詞語處理后作為股市新聞子核的特征空間;然后選取11個指標對股票歷史價格進行了處理并將其作為另外一個子核的特征空間;最終利用線性加權的方法對兩個特征子空間進行合成,并進行仿真。
【關鍵詞】股票市場預測;中文分詞;多重核學學習;交互驗證;網絡搜索
一、研究背景
股票市場是當今金融市場主要部分之一,金融市場的投資者與預測者都想通過分析市場信息從而獲得更多利潤。通過有效市場假說(EMH),我們知道股票價格包含且反映了市場信息,但是,一些研究行為金融學的學者質疑了EMH的準確性,因為投資者會被各種市場信息和他們的心理所影響,從而造成不合理的投資舉措。為了將多重信息整合到同一個系統當中,我們運用了多重核學習方(MKL),采用兩個子核:一個運用股市新聞,另一個運用近期歷史價格。在研究了子核的權重后,我們可以得到合成核,從而我們的改進的模型給出了一個比傳統更準確的預測。
二、模型設計
(一)信息來源
我們的系統是以兩個信息為來源設計的:股市新聞和事前價格。所以系統的輸入應該有如下幾個特征:(1)時間戳記:每個股市新聞與一個時間戳記聯系,它表示這個新聞的發行時間;(2)逐筆交易數據:交易數據往往記錄在一個短時間段中;(3)同時:因為系統需要用價格變動來標記股市新聞,股市新聞和歷史價格必須是同一時間段的信息;
(二)股市新聞信息的預處理
股市新聞可以理解為一種需要我們進行預處理的原始數據資源,其預處理的主要步驟如下:(1)中文分詞:我們用中文分詞軟件對股市新聞數據進行分詞。該中文分詞軟件可以對文字信息合理地劃分,但是許多金融領域的一些特殊術語不能被該軟件準確地分詞,因此我們用金融字典對分詞軟件的輸出進行二次加工;(2)詞語過濾:首先刪去中文停止詞,例如:和、或等。然后過濾掉其他不重要的詞語,只留下典型的具有代表性的詞語,例如:名詞、動詞和形容詞;(3)特征詞語精選:不是余下的詞語都可以作為特征詞語留下,Feldman只選擇了過濾后余下的10%作為特征詞語。于是我們根據卡方分布選擇了過濾后總共7052中的前1000個詞語作為我們系統的特征詞語;(4)賦予權重:最后為1000個詞語賦權,我們計算作為每個詞語的權重。
(三)歷史價格的預處理
原始的逐筆交易數據通過以下步驟來進行預處理:(1)排序:因為交易不可能按照它們的時間戳記來排序,所以我們必須先按照時間戳記來對整個記錄進行排序。(2)插入添加:因為連續交易之間的時間間隔不一樣,有些時間段甚至不可能有記錄,所以存在一個問題:在那些空時間段中,我們需要加入什么價格值。有兩種方法解決這個問題:一是線性時間權重通過Dacorogna來排序;二是最近的收盤價格。該方法將逐筆交易數據以同一分鐘為基礎分開,將每分鐘最相近的價格放在一起。如果某一分鐘沒有記錄,那么上一分鐘的記錄將為代替。盡管兩種方法都可以實現,我們選擇了第二種方法,因為它的實現過程較為簡單。
(四)結合股市新聞和歷史價格
1.提取加工股票的歷史價格。為了使計算機能使用這兩種信息數據,我們需要將這些原始數據處理為算法需要的輸入數據。假設股市新聞的時間戳記為,此時對應的股票價格為,則其后5、10、15、20、25和30分鐘的股價分別表示為,, , , ,和。如果,例如超過了交易時間限制,這個股市新聞將會被刪掉。我們將股市新聞發布后的股票價格通過下面的公式轉化為回收率:
我們以市場平均交易價格的為臨界值,如果,股市新聞將會標記稱積極的消息,反之如果 則標記成消極的消息。在股市新聞發行之前的三十分鐘到一分鐘時間段內,我們的實驗每隔一分鐘抽取一次樣本作為股票的歷史價格。Cao和Tay將股價序列轉換為RDP指標,通過他們的方法,我們用同樣的計算的公式對股票價格進行處理。
除了RDP指標,我們運用了其他用于股票分析的市場指標,計算該股市指標的公式列在附錄2中,其中是第分鐘的股價,是時間順序。最后,30個歷史股價點轉化為 6個RDP指標和5個市場指標,在后面的模型中它們將作為簡化的指標。
2. 數據的標準化處理。在完成以上工作之后,我們得到了:(1)股市新聞實例的集合,用N表示;(2)指標實例的集合,用表示;(3)由對股市新聞的標記構成的向量。其中N中的每一個實例對應于一條新聞消息,每一個特征分量代表一個被選中的文字;中的每個特征分量對應于一個指標;于是標準化處理可以分為兩種情況進行討論:第一,當和的特征分量只取非負值時,用表示,標準化處理如下: 標準化之后的取值范圍為[0,1]。第二,當和的特征分量可以取正負值時,用表示,標準化處理如下:標準化之后的取值范圍為[-1,1]。
三、實驗結果及分析
(一)數據集
選取相關的股市新聞信息和市場價格作為實驗數據集。(1)股市新聞信息:實驗運用了來自Caihua 2001年的股市新聞信息,所有的新聞信息都是用繁體中文發布的,并且每條新聞信息都有一個時間戳記以表明它的發布時間。(2)市場價格:市場價格包括2001年香港交易所所有股票的價格。股市新聞信息的時間戳記和股票市場價格以每筆交易為基礎。港交所有成千上萬支股票,而并不是所有的股票都很活躍,我們主要關注恒生指數在2001的33支股票,然而恒生指數的組成分別在2001年6月1號和7月31號發生了兩次變動,根據,新增加的股票在前幾個月內價格的變動是不合理的,通常會發生定價錯誤,因此我們選擇那些一年內都是恒生指數組成股的股票作為研究對象,則只有23支股票滿足要求。我們選擇這23支股票前10的月的數據作為訓練集合,最后兩個月的數據作為檢驗集合,用以檢驗模型的精確性。
(二)參數的計算
在模型訓練的時候,通過網絡搜索和五摺交互驗證來確定參數的值,以模型1的訓練為例,假設SVM的參數為€%\和C,對于€%\的計算,以0.2為步長從0到10進行搜索,對于C的計算,以1為步長,從1到20進行搜索,則總共有50×20=1000種參數組合,也就是算法要運行1000次。在每一次循環中,通過五摺交互驗證來驗證模型的效果,也就是將前10個月的數據平均分為5個部分,用其中的4個部分訓練模型,剩余的1個部分用來驗證模型的預測效果。在1000中參數組合中,保存使模型的預測效果做好的那一組參數值,并用于最后的模型檢驗。在模型中,參數的計算方法是一樣的,對于模型4,我們選用通過模型1,2得到的€%\值,參數C的值則通過與其它模型一樣的方法得到。
(三)實驗結果
我們用準確度來衡量模型的預測效果,其中:
從交互驗證以及網絡搜索所得實驗結果我們能看出:(1) MKL經交互驗證以及網絡搜索得到的預測結果(除在第5的交互驗證和第10m,25m的網絡搜索的結果外)都優于其余三個模型。盡管自然組合的方法和MKL都運用了股市新聞信息以及市場價格,但是自然組合方法沒有像預期那樣比依賴于單種信息的模型表現得好,原因可能是簡單的將股市新聞信息和指標集的特征分量的結合導致了對某種特征分量的偏向。特征分量在很大程度上偏向了股市新聞信息一方,這正如圖1所表現的那樣,自然組合的圖形與簡單依賴于新聞信息的圖形十分接近;另一方面,MKL平衡了股市新聞信息和市場價格之間的可預測性(股市信息和股票價格都有各自的特點,隱藏在他們背后的信息能形成互補)。相比于交互驗證,MKL經網絡搜索的表現雖然有所下降,但依然獲得了4個最好的預測結果和2個次好的預測結果。
(2)從圖1和2中可以很明顯的看出指標集對股市的預測效果的走勢幾乎總是向下的,這表明價格的可預測性隨著時間的推移在慢慢下降,這和我們通常認為隨時間按推移市場信息會逐漸被市場所吸收、可預測性會逐漸下降這一觀點相契合。(3)從圖1可以看出,模型1,3,4的準確度曲線在第分鐘時達到最高點,并且這三個模型都運用了股市新聞信息,這說明股市新聞的可預測性在第分鐘時達到最高,結論和的研究發現一致。
參考文獻
[1]E.F. Fama. The behavior of stock market prices. Journal of business, 38(1), 1964.
[2]G. Fung, J. Yu, and W. Lam. News sensitive stock trend prediction. Advances in Knowledge Discovery and Data Mining, pages 481-493, 2002.
[3]G.P.C. Fung, J.X. Yu, and H. Lu. The predicting power of textual information on financial markets. IEEE Intelligent Informatics Bulletin, 5(1):1-10, 2005.