文獻標識碼:A
DOI: 10.19358/j.issn.2096-5133.2018.08.022
中文引用格式:喻永生,,謝天異丹,劉暢,,等.基于特征選擇和HMM的股票價格行為研究[J].信息技術與網(wǎng)絡安全,,2018,37(8):96-100.
0 引言
股票市場已成為全球經(jīng)濟的一部分,,如果能準確地預測股票市場的行為趨勢,,其高額的利益回報將具有巨大的吸引力,。在早期的股票價格時間序列預測中,主要基于傳統(tǒng)的統(tǒng)計學方法,,如移動平均線(Moving Average,MA)[1],、自回歸滑動平均模型[2]等,。然而這類傳統(tǒng)方法的性能受到了股票價格時間序列數(shù)據(jù)非線性性質(zhì)的制約,,其較強的非平穩(wěn)性和潛在的周期性不能通過線性擬合得到充分體現(xiàn)。隨著計算智能技術的發(fā)展,,人工神經(jīng)網(wǎng)絡(Artificial Neural Network,ANN)[3],、支持向量機[4]和隱馬爾可夫模型等技術也在股票價格時間序列預測領域開始得到嘗試和應用。
隱馬爾可夫模型(Hidden Markov Model, HMM)是分析和預測時間序列數(shù)據(jù)的常用工具,。1994年,,HMM模型首次被WEIGEND A S[5]應用在分析股票市場走勢過程中。國內(nèi)朱嘉瑜[6]基于ANN技術,,結合粒子群優(yōu)化算法和HMM,得到較傳統(tǒng)模型效果更好的APHMM組合模型,。HASSAN M R[7]利用航空公司股票數(shù)據(jù)訓練HMM模型進行預測,,模型達到近似ANN的效果,但沒有解釋模型隱狀態(tài)含義,。之后HASSAN M R 和NATH B[8]提出結合HMM,、ANN和遺傳算法的模型,預測效果接近自回歸積分滑動平均模型,,但仍存在直接指定隱狀態(tài)數(shù)目的問題。LIEW C C和SIU T K[9]提出了將離散HMM模型轉換為混合高斯模型,,他們在解決期權定價問題時,,將參數(shù)和狀態(tài)運用HMM聯(lián)系起來,,同時也指出波動性和噪聲干擾等不確定因素對其模型預測的影響,。對于股票價格有效特征的識別,BARAK S[10]提出了基于濾波器和函數(shù)聚類方法的特征選擇算法,。段江嬌[11]研究了HMM模型隱藏狀態(tài)數(shù)量的選擇問題,,提出一種基于數(shù)據(jù)聚類來計算預測誤差并自動調(diào)整HMM參數(shù)的算法,但算法的訓練樣本量在股價預測中難以達到,。
HMM模型擁有堅實的數(shù)理基礎,,能夠解釋預測結果[7],有利改善預測性能,。使用HMM對時間序列建模,,其中最重要的問題是因子特征的選取和隱狀態(tài)數(shù)目的確定。目前基于HMM的股票價格預測的研究中,,隱狀態(tài)的數(shù)目和輸入特征因子往往是人為直接指定的,,而這種指定方法沒有明確解釋,導致其模型的泛化能力和穩(wěn)定性存在一定問題,。為了使HMM預測模型有更好的性能,,本文將著力于同時解決這兩個問題,。通過基于分類回歸樹的方法優(yōu)化特征選取,,運用貝葉斯信息準則(BIC)確定隱狀態(tài)數(shù)目,旨在提出一個改進的HMM股價行為預測模型,,以提高股票價格的預測精度,,可用于股票市場的深入分析。
1 預測模型建立
1.1 隱馬爾可夫模型
一個HMM分為兩層,,一層是隱藏的狀態(tài)序列層,,隱藏層是一個馬爾可夫過程,也是有限狀態(tài)機,,其中每個狀態(tài)之間有轉換概率,;一層是可見的觀測層,,是待識別的觀測序列。在預測模型中,,股票因子特征向量作為觀測序列的值,,通過識別狀態(tài)序列的值來表示次日股價行為變化。
隱馬爾可夫模型由狀態(tài)轉移概率矩陣A,、生成概率矩陣B和初始概率分布Π確定,,故HMM可描述為一個三元組,即λ=(A,B,Π),。
此外為了解決連續(xù)性觀測序列值的影響,,需要結合高斯混合模型(GMM)作為觀測序列的概率密度函數(shù),用于估計模型的生成概率,。在模型參數(shù)訓練上使用Baum-Welch算法,,即輸入觀測序列數(shù)據(jù)集,估計HMM模型參數(shù)使得P(O|λ)最大,。文獻[12]對此算法進行了詳細描述,。
1.2 模型隱狀態(tài)數(shù)目確定
BIC(Bayesian Information Criterion)方法可用于選擇HMM模型隱狀態(tài)數(shù)目。取預測指標F值(F-measure)作為模型對股價趨勢預測的目標函數(shù),,用θ表示隱狀態(tài)數(shù)目,,Ck表示候選模型參數(shù)集中的第k項?;贐IC準則,,最佳隱狀態(tài)數(shù)目即BIC(Ck)取最大值時的參數(shù)。
其中n表示觀測序列O的長度,,k表示模型自由參數(shù)的總個數(shù),。
為了統(tǒng)計F值,要和樣本真實值進行比較,。根據(jù)在驗證集中相應模型對每日股價漲或跌的預測結果統(tǒng)計TP,、FP、FN值,,從而計算F值來進行參數(shù)選擇,。
2 特征選擇
在BARAK S的研究[10]中,,他們分析公司財務指標和盈虧報表,,并收集和預測股票收益和風險相關的特征,本文選取其中的部分與常見股票分析指標作為候選特征:ROA,、ROE,、銷售凈利潤率、經(jīng)營活動凈收益,、SMA,、WMA,、MOM、OBV,、EMA,。首先針對這些候選特征數(shù)據(jù)進行預處理。
2.1 候選特征數(shù)據(jù)預處理
(1)相關特征過濾
在候選特征之間,,存在冗余的可替代特征,。計算Pearson相關系數(shù)對互相關聯(lián)性較高的特征進行過濾處理,可以為之后的工作縮減計算量,。
Pearson相關系數(shù)公式如下:
其中,,cov(X,Y)為特征X和特征Y的協(xié)方差值,σX為特征X的標準差,,σY為特征Y的標準差,。
在Pearson檢驗中相關系數(shù)rt達到重復閾值即rt≥rtmax的相關特征可進行去重。
(2)離群數(shù)據(jù)處理
采用基于密度最大值聚類算法識別股票特征的離群數(shù)據(jù)作為噪聲處理,。離群數(shù)據(jù)識別針對每一個股票特征進行單獨聚類,,一個特征數(shù)據(jù)對應一個聚類結果。要識別離群數(shù)據(jù)需要得到局部密度ρ和高局部密度點最小距離δ的值:
其中,, C表示聚類過程中的劃分簇,,Ci表示包含數(shù)據(jù)項i的聚類簇,dij表示數(shù)據(jù)點i和j之間差值的絕對值,,φ為距離閾值,。
每個特征的所有數(shù)據(jù)項具有局部密度ρ和高局部密度點最小距離δ。在某個特征中選擇局部密度低且高局部密度點最小距離最高的數(shù)據(jù)項作為離群數(shù)據(jù),,和其他對應時間戳特征的數(shù)據(jù)項一并進行剔除處理,。
(3)缺失數(shù)據(jù)處理
綜合數(shù)據(jù)量和股票性質(zhì),對于缺失數(shù)據(jù)進行均值插補法處理,。
2.2 基于最小基尼指數(shù)的特征選取
特征選取基于CART(Classification and Regression Tree)方法,,CART的核心是使用基尼指數(shù)劃分特征。本文將特征的基尼指數(shù)作為特征選取的標準,,使得劃分后基尼指數(shù)越小的特征,,最終將被選取的優(yōu)先級越高。
式(6)中,,d表示CART樹節(jié)點分裂后的左節(jié)點或右節(jié)點,;ck表示類別集合中的第k個類。式(7)中,,D表示數(shù)據(jù)集,;X表示分裂閾值;DL,、DR表示分裂后的左,、右數(shù)據(jù)集結點,。
針對股票特征的連續(xù)性,采用遍歷分裂點的方法計算特征基尼指數(shù),。
式(8)中,,尋找特征f的最佳分裂點X使得其基尼指數(shù)值最低,并以該值作為特征f的基尼指數(shù),。式(9)中,,特征F則是最優(yōu)的特征。此外,,以Gini_Index值為標準便可對特征集合進行排序,。
本文采用待預測股票的自身特征數(shù)據(jù),使用漲,、跌兩類標記對每日的股票數(shù)據(jù)進行分類,。圖1展示了對中國平安股票6種因子的排序結果。
3 股價行為預測算法
股價行為預測包括每日股價預測和次日股價走勢預測,。本文提出PRHMM預測模型利用前文進行處理的數(shù)據(jù)作為輸入,。該預測模型基于某一只個股的數(shù)據(jù),每一只股票對應獨立的預測模型,。
3.1 股票價格預測
輸入的數(shù)據(jù)為當日股票特征數(shù)據(jù)集,,輸出為預測股價。通過已訓練的HMM模型計算輸入特征數(shù)據(jù)對應的隱態(tài)似然值向量,?;谧钚《斯烙媽ο嗨茪v史模式進行最優(yōu)匹配。
其中,,i為用于匹配的模式序號,;N為隱狀態(tài)數(shù)目;H為歷史模式的似然值向量,;P為輸入數(shù)據(jù)的似然值向量,。
將最優(yōu)歷史模式的次日股價波動值加權累加于當天股票收盤價,即股價預測值,。預測算法偽代碼如下:
3.2 股票走勢預測
將當日股票特征數(shù)據(jù)作為觀測值oT{oT,1,oT,2,…,oT,K},,K為股票特征的個數(shù)。同時獲取前T-1日的對應股票特征數(shù)據(jù),,封裝為觀測序列O(o1,o2,…,oT-1,oT)作為輸入數(shù)據(jù),。利用Viterbi算法在訓練好的HMM模型上進行狀態(tài)序列的預測,用對應的次日狀態(tài)值推測股價的走勢方向,。圖2展示了當K=3時的預測模型原理,。
對已知模型λ=(A,B,Π)和觀測序列O,需要得到和觀測序列匹配概率最高的狀態(tài)序列H(h1,h2,…,hT),,令中間變量初始值分別為δ1(i)={πibi(o1)|i∈[1,C]},,Ψ1(i)={0|i∈[1,C]},走勢預測算法如下:
(1)遞推尋找最優(yōu)隱狀態(tài),。對t=2,3,…,T,,有:
(2)遞推結束求目標隱狀態(tài)hT值:
(3)根據(jù)該狀態(tài)在歷史數(shù)據(jù)中關于次日股價走勢的影響,取比重最大的方向作為預測結果,。
4 實驗結果與分析
4.1 實驗數(shù)據(jù)
為了測試本文提出的預測模型性能,,基于4只A股保險板塊股票的歷史數(shù)據(jù)進行實驗。不同的股票建立獨立的預測模型,,由訓練集進行特征預處理和模型訓練,。驗證集用于優(yōu)化參數(shù),如確定模型隱狀態(tài)數(shù)目,。模型最終效果的對比分析基于測試數(shù)據(jù)集,。表1展示了實驗數(shù)據(jù)的詳細情況。
4.2 預測結果與對比
在實驗中通過BIC方法得出HMM模型對中國平安,、中國人壽,、中國太保和新華保險4只股票建立的預測模型隱藏狀態(tài)分別為7、11,、5,、4。針對股票價格的預測效果,,使用走勢準確率和平均絕對百分誤差(MAPE)兩個指標來衡量,。股票價格走勢方向分為漲、跌兩種,,走勢準確率為預測次日股價走勢方向和真實走勢方向相同的次數(shù)與預測次數(shù)的比值,。MAPE是股票價格數(shù)值在預測值和真實值之間誤差標準,計算公式如下:
其中,,n為測試集合元素個數(shù),,pi為預測股票價格,ri為真實股票價格,。PRHMM模型在測試集的預測效果見表2,。
本文提出的PRHMM模型對測試集的預測結果的絕對平均誤差是比較小的,走勢準確率也高于50%,,說明了該模型的有效性,。
同時基于同一數(shù)據(jù)集合,建立對比模型SVM模型和ARIMA模型,,對測試集進行預測實驗,。
不同種類股票的預測模型,取所有同一類模型計算出的指標平均值作為模型的最終指標值。表3展示了多個模型在同一測試數(shù)據(jù)的預測效果,,可以得知ARIMA模型在測試集上的實驗結果波動性大,,隨機性較強,而SVM模型的結果較為穩(wěn)定,,但相較本文提出的PRHMM模型,,其絕對平均誤差還是比較大的,且PRHMM模型在股價走勢的預測也較傳統(tǒng)模型要穩(wěn)定,。
5 結論
本文通過特征工程解決了模型輸入因子的問題,,設計的特征選擇方法使HMM模型中的輸入特征更加有效,模型預測的準確率得到提高,。此外結合貝葉斯信息準則對模型隱狀態(tài)數(shù)目進行確定,,優(yōu)化模型訓練效果的同時防止了過擬合。所提出的PRHMM預測模型在4只A股保險板塊的股票進行了預測實驗,,且在同一數(shù)據(jù)集結構中,,對比了SVM、ARIMA模型,,采用MAPE,、走勢準確率指標來比較預測性能。
實驗結果表明,,PRHMM模型對選定的測試數(shù)據(jù)有良好的預測效果,。在股價行為的預測上相較SVM模型和ARIMA模型也表現(xiàn)出了更好的效果。同時說明了基于CART的特征選擇結合BIC規(guī)則確定隱狀態(tài)數(shù)目的方法對于優(yōu)化HMM模型效果是行之有效的,。
在研究過程中,,發(fā)現(xiàn)對于隱馬爾可夫模型的隱狀態(tài),不僅其數(shù)目影響模型預測效果,,其不同狀態(tài)的意義也可作為股票預測的標準,。未來將嘗試挖掘隱狀態(tài)的內(nèi)涵以用于模型優(yōu)化和股票交易點分析,并結合神經(jīng)網(wǎng)絡等人工智能算法實現(xiàn)更為穩(wěn)定的股價行為預測模型,。
參考文獻
[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-),男,,學士,,主要研究方向:數(shù)據(jù)挖掘、機器學習。
張衛(wèi)東(1968-),,男,,碩士,副教授,,主要研究方向:量化交易,。