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