文獻標識碼:A
DOI: 10.19358/j.issn.2096-5133.2018.08.022
中文引用格式:喻永生,謝天異丹,劉暢,等.基于特征選擇和HMM的股票價格行為研究[J].信息技術與網絡安全,2018,37(8):96-100.
0 引言
股票市場已成為全球經濟的一部分,如果能準確地預測股票市場的行為趨勢,其高額的利益回報將具有巨大的吸引力。在早期的股票價格時間序列預測中,主要基于傳統的統計學方法,如移動平均線(Moving Average,MA)[1]、自回歸滑動平均模型[2]等。然而這類傳統方法的性能受到了股票價格時間序列數據非線性性質的制約,其較強的非平穩性和潛在的周期性不能通過線性擬合得到充分體現。隨著計算智能技術的發展,人工神經網絡(Artificial Neural Network,ANN)[3]、支持向量機[4]和隱馬爾可夫模型等技術也在股票價格時間序列預測領域開始得到嘗試和應用。
隱馬爾可夫模型(Hidden Markov Model, HMM)是分析和預測時間序列數據的常用工具。1994年,HMM模型首次被WEIGEND A S[5]應用在分析股票市場走勢過程中。國內朱嘉瑜[6]基于ANN技術,結合粒子群優化算法和HMM,得到較傳統模型效果更好的APHMM組合模型。HASSAN M R[7]利用航空公司股票數據訓練HMM模型進行預測,模型達到近似ANN的效果,但沒有解釋模型隱狀態含義。之后HASSAN M R 和NATH B[8]提出結合HMM、ANN和遺傳算法的模型,預測效果接近自回歸積分滑動平均模型,但仍存在直接指定隱狀態數目的問題。LIEW C C和SIU T K[9]提出了將離散HMM模型轉換為混合高斯模型,他們在解決期權定價問題時,將參數和狀態運用HMM聯系起來,同時也指出波動性和噪聲干擾等不確定因素對其模型預測的影響。對于股票價格有效特征的識別,BARAK S[10]提出了基于濾波器和函數聚類方法的特征選擇算法。段江嬌[11]研究了HMM模型隱藏狀態數量的選擇問題,提出一種基于數據聚類來計算預測誤差并自動調整HMM參數的算法,但算法的訓練樣本量在股價預測中難以達到。
HMM模型擁有堅實的數理基礎,能夠解釋預測結果[7],有利改善預測性能。使用HMM對時間序列建模,其中最重要的問題是因子特征的選取和隱狀態數目的確定。目前基于HMM的股票價格預測的研究中,隱狀態的數目和輸入特征因子往往是人為直接指定的,而這種指定方法沒有明確解釋,導致其模型的泛化能力和穩定性存在一定問題。為了使HMM預測模型有更好的性能,本文將著力于同時解決這兩個問題。通過基于分類回歸樹的方法優化特征選取,運用貝葉斯信息準則(BIC)確定隱狀態數目,旨在提出一個改進的HMM股價行為預測模型,以提高股票價格的預測精度,可用于股票市場的深入分析。
1 預測模型建立
1.1 隱馬爾可夫模型
一個HMM分為兩層,一層是隱藏的狀態序列層,隱藏層是一個馬爾可夫過程,也是有限狀態機,其中每個狀態之間有轉換概率;一層是可見的觀測層,是待識別的觀測序列。在預測模型中,股票因子特征向量作為觀測序列的值,通過識別狀態序列的值來表示次日股價行為變化。
隱馬爾可夫模型由狀態轉移概率矩陣A、生成概率矩陣B和初始概率分布Π確定,故HMM可描述為一個三元組,即λ=(A,B,Π)。
此外為了解決連續性觀測序列值的影響,需要結合高斯混合模型(GMM)作為觀測序列的概率密度函數,用于估計模型的生成概率。在模型參數訓練上使用Baum-Welch算法,即輸入觀測序列數據集,估計HMM模型參數使得P(O|λ)最大。文獻[12]對此算法進行了詳細描述。
1.2 模型隱狀態數目確定
BIC(Bayesian Information Criterion)方法可用于選擇HMM模型隱狀態數目。取預測指標F值(F-measure)作為模型對股價趨勢預測的目標函數,用θ表示隱狀態數目,Ck表示候選模型參數集中的第k項。基于BIC準則,最佳隱狀態數目即BIC(Ck)取最大值時的參數。
其中n表示觀測序列O的長度,k表示模型自由參數的總個數。
為了統計F值,要和樣本真實值進行比較。根據在驗證集中相應模型對每日股價漲或跌的預測結果統計TP、FP、FN值,從而計算F值來進行參數選擇。
2 特征選擇
在BARAK S的研究[10]中,他們分析公司財務指標和盈虧報表,并收集和預測股票收益和風險相關的特征,本文選取其中的部分與常見股票分析指標作為候選特征:ROA、ROE、銷售凈利潤率、經營活動凈收益、SMA、WMA、MOM、OBV、EMA。首先針對這些候選特征數據進行預處理。
2.1 候選特征數據預處理
(1)相關特征過濾
在候選特征之間,存在冗余的可替代特征。計算Pearson相關系數對互相關聯性較高的特征進行過濾處理,可以為之后的工作縮減計算量。
Pearson相關系數公式如下:
其中,cov(X,Y)為特征X和特征Y的協方差值,σX為特征X的標準差,σY為特征Y的標準差。
在Pearson檢驗中相關系數rt達到重復閾值即rt≥rtmax的相關特征可進行去重。
(2)離群數據處理
采用基于密度最大值聚類算法識別股票特征的離群數據作為噪聲處理。離群數據識別針對每一個股票特征進行單獨聚類,一個特征數據對應一個聚類結果。要識別離群數據需要得到局部密度ρ和高局部密度點最小距離δ的值:
其中, C表示聚類過程中的劃分簇,Ci表示包含數據項i的聚類簇,dij表示數據點i和j之間差值的絕對值,φ為距離閾值。
每個特征的所有數據項具有局部密度ρ和高局部密度點最小距離δ。在某個特征中選擇局部密度低且高局部密度點最小距離最高的數據項作為離群數據,和其他對應時間戳特征的數據項一并進行剔除處理。
(3)缺失數據處理
綜合數據量和股票性質,對于缺失數據進行均值插補法處理。
2.2 基于最小基尼指數的特征選取
特征選取基于CART(Classification and Regression Tree)方法,CART的核心是使用基尼指數劃分特征。本文將特征的基尼指數作為特征選取的標準,使得劃分后基尼指數越小的特征,最終將被選取的優先級越高。
式(6)中,d表示CART樹節點分裂后的左節點或右節點;ck表示類別集合中的第k個類。式(7)中,D表示數據集;X表示分裂閾值;DL、DR表示分裂后的左、右數據集結點。
針對股票特征的連續性,采用遍歷分裂點的方法計算特征基尼指數。
式(8)中,尋找特征f的最佳分裂點X使得其基尼指數值最低,并以該值作為特征f的基尼指數。式(9)中,特征F則是最優的特征。此外,以Gini_Index值為標準便可對特征集合進行排序。
本文采用待預測股票的自身特征數據,使用漲、跌兩類標記對每日的股票數據進行分類。圖1展示了對中國平安股票6種因子的排序結果。
3 股價行為預測算法
股價行為預測包括每日股價預測和次日股價走勢預測。本文提出PRHMM預測模型利用前文進行處理的數據作為輸入。該預測模型基于某一只個股的數據,每一只股票對應獨立的預測模型。
3.1 股票價格預測
輸入的數據為當日股票特征數據集,輸出為預測股價。通過已訓練的HMM模型計算輸入特征數據對應的隱態似然值向量。基于最小二乘估計對相似歷史模式進行最優匹配。
其中,i為用于匹配的模式序號;N為隱狀態數目;H為歷史模式的似然值向量;P為輸入數據的似然值向量。
將最優歷史模式的次日股價波動值加權累加于當天股票收盤價,即股價預測值。預測算法偽代碼如下:
3.2 股票走勢預測
將當日股票特征數據作為觀測值oT{oT,1,oT,2,…,oT,K},K為股票特征的個數。同時獲取前T-1日的對應股票特征數據,封裝為觀測序列O(o1,o2,…,oT-1,oT)作為輸入數據。利用Viterbi算法在訓練好的HMM模型上進行狀態序列的預測,用對應的次日狀態值推測股價的走勢方向。圖2展示了當K=3時的預測模型原理。
對已知模型λ=(A,B,Π)和觀測序列O,需要得到和觀測序列匹配概率最高的狀態序列H(h1,h2,…,hT),令中間變量初始值分別為δ1(i)={πibi(o1)|i∈[1,C]},Ψ1(i)={0|i∈[1,C]},走勢預測算法如下:
(1)遞推尋找最優隱狀態。對t=2,3,…,T,有:
(2)遞推結束求目標隱狀態hT值:
(3)根據該狀態在歷史數據中關于次日股價走勢的影響,取比重最大的方向作為預測結果。
4 實驗結果與分析
4.1 實驗數據
為了測試本文提出的預測模型性能,基于4只A股保險板塊股票的歷史數據進行實驗。不同的股票建立獨立的預測模型,由訓練集進行特征預處理和模型訓練。驗證集用于優化參數,如確定模型隱狀態數目。模型最終效果的對比分析基于測試數據集。表1展示了實驗數據的詳細情況。
4.2 預測結果與對比
在實驗中通過BIC方法得出HMM模型對中國平安、中國人壽、中國太保和新華保險4只股票建立的預測模型隱藏狀態分別為7、11、5、4。針對股票價格的預測效果,使用走勢準確率和平均絕對百分誤差(MAPE)兩個指標來衡量。股票價格走勢方向分為漲、跌兩種,走勢準確率為預測次日股價走勢方向和真實走勢方向相同的次數與預測次數的比值。MAPE是股票價格數值在預測值和真實值之間誤差標準,計算公式如下:
其中,n為測試集合元素個數,pi為預測股票價格,ri為真實股票價格。PRHMM模型在測試集的預測效果見表2。
本文提出的PRHMM模型對測試集的預測結果的絕對平均誤差是比較小的,走勢準確率也高于50%,說明了該模型的有效性。
同時基于同一數據集合,建立對比模型SVM模型和ARIMA模型,對測試集進行預測實驗。
不同種類股票的預測模型,取所有同一類模型計算出的指標平均值作為模型的最終指標值。表3展示了多個模型在同一測試數據的預測效果,可以得知ARIMA模型在測試集上的實驗結果波動性大,隨機性較強,而SVM模型的結果較為穩定,但相較本文提出的PRHMM模型,其絕對平均誤差還是比較大的,且PRHMM模型在股價走勢的預測也較傳統模型要穩定。
5 結論
本文通過特征工程解決了模型輸入因子的問題,設計的特征選擇方法使HMM模型中的輸入特征更加有效,模型預測的準確率得到提高。此外結合貝葉斯信息準則對模型隱狀態數目進行確定,優化模型訓練效果的同時防止了過擬合。所提出的PRHMM預測模型在4只A股保險板塊的股票進行了預測實驗,且在同一數據集結構中,對比了SVM、ARIMA模型,采用MAPE、走勢準確率指標來比較預測性能。
實驗結果表明,PRHMM模型對選定的測試數據有良好的預測效果。在股價行為的預測上相較SVM模型和ARIMA模型也表現出了更好的效果。同時說明了基于CART的特征選擇結合BIC規則確定隱狀態數目的方法對于優化HMM模型效果是行之有效的。
在研究過程中,發現對于隱馬爾可夫模型的隱狀態,不僅其數目影響模型預測效果,其不同狀態的意義也可作為股票預測的標準。未來將嘗試挖掘隱狀態的內涵以用于模型優化和股票交易點分析,并結合神經網絡等人工智能算法實現更為穩定的股價行為預測模型。
參考文獻
[1] JOSEPH R, MAXWELL S. Commodity futures trading with moving averages[M]. New York: Speer Books, 1975.
[2] KIMOTO T, ASAKAWA K, YODA M, et al. Stock market prediction system with modular neural networks[C]// International Joint Conference on Neural Networks. IEEE, 1990:1-6.
[3] GURESEN E, KAYAKUTLU G, DAIM T U. Using artificial neural network models in stock market index prediction[J]. Expert Systems with Applications, 2011, 38(8):10389-10397.
[4] LUO F, WU J, YAN K. A novel nonlinear combination model based on Support Vector Machine for stock market prediction[C]// Intelligent Control and Automation. IEEE, 2010:5048-5053.
[5] WEIGEND A S,GERSHENFELD N A.Time series prediction:forecasting the future and understanding the past[C]//The NATO Advanced Research Workshop on Comparative Time Series Analysis,Santa Fe,New Mexico:AddisonWesley,1994.
[6] 朱嘉瑜,葉海燕,高鷹.基于隱馬爾可夫模型的股票價格預測組合模型[J].計算機工程與設計,2009,30(21):4945-4948.
[7] HASSAN M R, NATH B. Stock market forecasting using hidden Markov model: a new approach[C]. Proceedings of 5th International Conference on Intelligent Systems Design and Applications, 2005. IEEE, 2005:192-196.
[8] HASSAN M R, NATH B, KIRLEY M. A fusion model of HMM, ANN and GA for stock market forecasting[J]. Expert Systems with Applications, 2007, 33(1):171-180.
[9] LIEW C C, SIU T K. Martingale representation and admissible portfolio process with regime switching[J]. Stochastic Analysis & Applications, 2010, 29(1):106-120.
[10] BARAK S, MODARRES M. Developing an approach to evaluate stocks by forecasting effective features with data mining methods[M]. Pergamon Press, Inc, 2015.
[11] DUAN J J, WANG W, ZENG J P, et al. A prediction algorithm for time series based on adaptive model selection[J]. Expert Systems with Applications, 2009, 36(2):1308-1314.
[12] RABINER L R. A tutorial on hidden Markov models and selected applications in speech recognition[J]. Readings in Speech Recognition, 1990, 77(2):267-296.
(收稿日期:2018-03-19)
作者簡介:
喻永生(1998-),男,學士,主要研究方向:數據挖掘、機器學習。
張衛東(1968-),男,碩士,副教授,主要研究方向:量化交易。