陳登建 杜飛霞 夏換
摘? 要: 為提高金融市場股票的預(yù)測精確度,提出自回歸差分移動平均與支持向量機(jī)滾動殘差模型組合的預(yù)測股票方法。以貴州茅臺的股票數(shù)據(jù)為研究對象,借助ARIMA模型實現(xiàn)對股票數(shù)據(jù)的線性趨勢預(yù)測,通過滾動殘差的SVR回歸模型對ARIMA模型的預(yù)測殘差進(jìn)行數(shù)據(jù)修正,得到ARIMA_SVR滾動殘差模型的預(yù)測值。實驗結(jié)果表明,相較于傳統(tǒng)ARIMA模型,ARIMA與滾動殘差SVR組合模型的性能和預(yù)測精度都得到大幅提升,具有一定的學(xué)術(shù)價值和應(yīng)用意義。
關(guān)鍵詞: 金融; ARIMA模型; SVR滾動殘差模型; 股票預(yù)測
中圖分類號:TP183? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ?文章編號:1006-8228(2022)05-76-05
Stock forecasting based on the combination of ARIMA and SVR rolling residual model
Chen Dengjian ?Du Feixia Xia Huan
Abstract: In order to improve the accuracy of stock prediction, a prediction method based on the combination of autoregressive differential moving average and support vector machine rolling residual model is proposed. Taking the stock data of Guizhou Maotai as the research object, the ARIMA model is used to realize the linear trend prediction of the stock data. The predicted residuals of the ARIMA model are corrected by the SVR regression model of the rolling residuals, and the predicted values of the ARIMA_SVR rolling residuals model are obtained. The experimental results show that compared with the traditional ARIMA model, the performance and prediction accuracy of ARIMA and rolling residual SVR combined model have been greatly improved, which has certain academic value and application significance.
Key words: finance; ARIMA model; SVR rolling residual model; stock forecast
引言
我國股票二級市場的漲跌受到多種因素的影響,由于其不平穩(wěn)、非線性等特點,導(dǎo)致為實現(xiàn)對股票數(shù)據(jù)的精確預(yù)測變得尤為困難。挖掘股票的波動規(guī)律,預(yù)測股票漲跌情況,有利于促進(jìn)中國金融市場的穩(wěn)定。
我國早期對股票走勢預(yù)測主要包括對于基本面的分析和技術(shù)面的分析?;久娴姆治鍪峭ㄟ^分析公司的運(yùn)營情況和行業(yè)的發(fā)展態(tài)勢,預(yù)測該公司股票的未來走勢。技術(shù)的分析主要是分析金融市場各個因素,例如股票的成交量、成交價格等因素。
隨著研究的進(jìn)展,學(xué)者們以時間為維度構(gòu)建出ARIMA模型,根據(jù)股票歷史價格走勢對股票進(jìn)行短期預(yù)測[1-6]。計算機(jī)技術(shù)的發(fā)展,各種智能算法也越發(fā)的成熟,眾多學(xué)者將機(jī)器學(xué)習(xí)的智能算法應(yīng)用在股票數(shù)據(jù)的研究分析。如丁文絹通過構(gòu)建ARIMA與LSTM神經(jīng)網(wǎng)絡(luò)模型,實現(xiàn)股票走勢的預(yù)測,LSTM神經(jīng)網(wǎng)絡(luò)模型相較于ARIMA模型預(yù)測誤差更小[7];鄒菊紅借助BP反向傳播的神經(jīng)網(wǎng)絡(luò)模型實現(xiàn)對于股票價格的預(yù)測[8];齊甜方借助Seq2Seq和情感分析實現(xiàn)對于股票波動趨勢的預(yù)測[9]。
本文選貴州茅臺的股票價格數(shù)據(jù)[1]作為實驗的研究對象,提出一種改進(jìn)的差分自回歸移動平均模型(ARIMA)與滾動殘差的支持向量機(jī)回歸模型(SVR)的組合,利用殘差數(shù)據(jù)優(yōu)化模型的參數(shù),實現(xiàn)對貴州茅臺高準(zhǔn)確率的預(yù)測。
1 研究方法
1.1 ARIMA模型
時間序列是以時間作為自變量,隨著時間變化并且互相關(guān)聯(lián)的數(shù)據(jù)。ARIMA模型是經(jīng)典的時間序列模型[10],該模型含義表達(dá)為將非平穩(wěn)的序列轉(zhuǎn)化為平穩(wěn)的序列,用當(dāng)前變量的滯后項,以及隨機(jī)的誤差值來解釋當(dāng)前變量,模型的輸入為時間序列的單變量,該模型的表達(dá)式可以用式⑴來表示。
⑴
其中?i的i取值從1到p,θi的i取值從1到q。其分別代表ARIMA模型參的參數(shù)p和q,p是自回歸模型的系數(shù),q是移動平均模型的系數(shù)。
ARIMA(p,d,q)模型要求當(dāng)前的時間序列是一個平穩(wěn)的時間序列,平穩(wěn)的序列的時間平移長度,可以決定當(dāng)前函數(shù)的自相關(guān)與協(xié)方差,如下所示:
⑵
γ (t,s)表示為序列{Xt}的自相關(guān)協(xié)方差函數(shù),μ為常數(shù)。時間序列進(jìn)行差分處理后,可以將非平穩(wěn)的時間序列轉(zhuǎn)為平穩(wěn)的時間序列,再將AR自回歸模型與MA移動平均模型組合成ARIMA模型,該模型完整建模函數(shù)為:
⑶
⑷
⑸
函數(shù)⑶中?表示差分算法,式⑷代表平滑系數(shù)多項式,式⑸代表自回歸系數(shù)多項式。
本文的ARIMA建模步驟[11]
⑴ 觀察數(shù)據(jù)的平穩(wěn)性,將非平穩(wěn)的時間序列利用差分處理轉(zhuǎn)為平穩(wěn)的時間序列,確定d參數(shù)。
⑵ 根據(jù)ACF確定自回歸模型中參數(shù)p,根據(jù)PACF確定模型中的參數(shù)q。
⑶ 利用歷史數(shù)據(jù)對模型進(jìn)行訓(xùn)練,預(yù)測未來數(shù)據(jù)。
1.2 SVR模型
支持向量機(jī)模型,可以用于樣本數(shù)據(jù)的分類與預(yù)測,用于對于連續(xù)值的預(yù)測稱為支持向量機(jī)的回歸SVR[12]該模型是基于統(tǒng)計學(xué)結(jié)構(gòu)風(fēng)險最小理論作為理論支撐{Yi}(i = 1, 2,…,M),輸入N維的樣本xi∈Rn進(jìn)行訓(xùn)練,將樣本xi低維度的特征,通過不同函數(shù)算法,映射為高維度的空間,輸出yi∈R預(yù)測值。支持向量的線性函數(shù)完成數(shù)據(jù)的預(yù)測任務(wù),SVR回歸預(yù)測函數(shù)的表示為:
⑹
式⑹中Φ(x)完成輸入數(shù)據(jù)映射為高維數(shù)據(jù),通過梯度下降法,迭代訓(xùn)練,收斂參數(shù)w和常數(shù)b的值,得到w,b誤差最小值,如下所示:
⑺
式⑺中C表示正則化系數(shù),相較于普通的回歸模型,SVR模型可以調(diào)整正則項系數(shù),解決模型的過擬合和欠擬合問題,式中[Lε]為不敏感系數(shù)。支持向量機(jī)模型中的核函數(shù)k(xi,xj)是借助拉格朗日函數(shù)和沃爾夫?qū)ε祭碚搶栴}轉(zhuǎn)化為二次規(guī)劃問題找最優(yōu),常用的核函數(shù)有線性核函數(shù)Linear kernel,多項式核函數(shù)Polynomial kernel,以及徑向基核函數(shù)RBF等。
本文的SVR模型的建模步驟
⑴ 將ARIMA預(yù)測獲得的殘差,通過不同次的實驗,獲取適宜的循環(huán)滾動次數(shù)。
⑵ 對數(shù)據(jù)進(jìn)行切分,獲得得到訓(xùn)練集的train_x與train_y,選擇核函數(shù),對SVR模型進(jìn)行訓(xùn)練。
⑶ 模型檢驗評估。
1.3 ARIMA_SVR滾動殘差組合模型
本文選取貴州茅臺的股票數(shù)據(jù),本文的ARIMA_SVR滾動殘差模型組合實現(xiàn)對未來數(shù)據(jù)的預(yù)測的步驟。
⑴ 借助ARIMA對于該數(shù)據(jù)線性部分?jǐn)?shù)據(jù)處理,獲得股票的漲幅趨勢,以及預(yù)測值和殘差。
⑵ 借助SVR解決函數(shù)的非線性的部分的數(shù)據(jù)的擬合,利用SVR模型實現(xiàn)殘差值進(jìn)行滾動訓(xùn)練,預(yù)測。
⑶ ARIMA模型和SVR模型預(yù)測結(jié)果疊加,得到最終的預(yù)測數(shù)據(jù)。
2 實例分析
2.1 ARIMA建模
本文選貴州茅臺2008年1月至2021年8月的股票數(shù)據(jù)作為實驗數(shù)據(jù),如圖1所示。
ARIMA建模前,首先需要將采集到的貴州茅臺的股票數(shù)據(jù)進(jìn)行預(yù)處理,再對股票數(shù)據(jù)進(jìn)行重新采樣。因為六日股市不開放,所以數(shù)據(jù)中存在斷點。通過重新采樣,保證數(shù)據(jù)之間的連續(xù)性,提高到數(shù)據(jù)預(yù)測的精確度[13]。對采集到的貴州茅臺2008-2021年的股票收盤價數(shù)據(jù)按月進(jìn)行重采樣,對每個月的數(shù)據(jù)的總和取得均值,結(jié)果如圖2所示??芍F州茅臺自2008-2014年間波動起伏大,并未有大幅度的上漲,但是自2016年后股票整體的走勢的呈現(xiàn)指數(shù)式的上漲的。
股票數(shù)據(jù)并不平穩(wěn),不符合ARIMA對數(shù)據(jù)的要求,需對數(shù)據(jù)進(jìn)行差分處理,轉(zhuǎn)化為為平穩(wěn)的時間序列才可預(yù)測,差分的公式如下:
⑻
⑼
其中?和?s分別為一階差分算子和周期差分算子;Yt和Yt-1分別表示為當(dāng)前的實際值與上一個時間的值;B為時間序列的滯后值;s是時間序列的周期。如果經(jīng)過一階差分處理后,數(shù)據(jù)還處于不平穩(wěn),可以在一階的基礎(chǔ)上,再次進(jìn)行一次差分處理,直到序列平穩(wěn)。
貴州茅臺數(shù)據(jù)差分處理結(jié)果如圖3所示,藍(lán)色實線Closeing price表示收盤價價格曲線,黃色實線diff_1表示經(jīng)過對收盤價經(jīng)過一階差分處理后的波動情況,綠色實線diff_2表示對在一階差分基礎(chǔ)上的再次差分處理。原數(shù)據(jù)Closeing price數(shù)據(jù)不平穩(wěn),經(jīng)過一次差分后的數(shù)據(jù)就已逐步達(dá)到平穩(wěn)。
自回歸AR,可以表示為當(dāng)前值與序列歷史值之間的相關(guān)關(guān)系。存在相關(guān)性才能用當(dāng)前變量的歷史數(shù)據(jù)[14]實現(xiàn)對自身的預(yù)測,可以用自相關(guān)圖ACF進(jìn)行初步觀測。模型中移動平均模型MA,利用移動平均來消除在預(yù)測當(dāng)中的隨機(jī)波動,可以用偏自相關(guān)函數(shù)來確定q的值,該函數(shù)用來描述中間項的隨機(jī)變量對模型的影響,可以用PACF實現(xiàn)對q值的確定。自相關(guān)分析和偏自相關(guān)分析結(jié)果如圖4所示。
本文ARIMA模型根據(jù)赤池信息準(zhǔn)則(Akaike Information Criterion,AIC)準(zhǔn)則作為模型選擇的參考,AIC是日本統(tǒng)計學(xué)家Akaike提出,用以擬合精度與參數(shù)個數(shù)的加權(quán)函數(shù),L表示模型參數(shù)個數(shù),k表示模型極大似然函數(shù),函數(shù)表達(dá)式如下:
⑽
最終選擇ARIMA(1,1,1),將數(shù)據(jù)集進(jìn)行切分,2008年~2017年劃分為ARIMA訓(xùn)練數(shù)據(jù),對模型進(jìn)行訓(xùn)練。將2014~2018為ARIMA預(yù)測數(shù)據(jù),如圖5所示。
藍(lán)色的實線是實際的數(shù)據(jù),橙色的直線是預(yù)測結(jié)果,ARIMA模型已經(jīng)可以大致的預(yù)測出貴州茅臺股票的增長的趨勢,但是實際值與預(yù)測值之間的誤差還是較大。
ARIMA殘差的檢驗,主要對殘差數(shù)據(jù)的自相關(guān)性與正態(tài)性進(jìn)行檢驗。ARIMA殘差應(yīng)當(dāng)符合正態(tài)分布的性質(zhì),若殘差數(shù)據(jù)都集中于0值的附近,那么殘差數(shù)據(jù)就服從正態(tài)分布,即這樣的殘差屬于白噪聲數(shù)據(jù)。ARIMA模型的殘差檢驗主要用于判別模型是否已經(jīng)完全捕捉到數(shù)據(jù)中的信息,性能良好的ARIMA模型的殘差之間不具有相關(guān)性,若殘差之間具有相關(guān)性,說明數(shù)據(jù)中還有未挖掘的信息,模型需要進(jìn)一步優(yōu)化。性能良好的ARIMA模型的殘差的均值為0,若不為0說明模型中具有偏差。對數(shù)據(jù)進(jìn)行白噪聲檢驗,檢驗數(shù)據(jù)的隨機(jī)性,最終的檢測結(jié)果如圖6所示。
殘差Normal QQ圖是線性分布則說明模型ARIMA(1,1,1)通過殘差白噪聲檢驗,由Standardized residual圖可知?dú)埐顢?shù)據(jù)符合正態(tài)分布,則ARIMA(1,1,1)模型的通過殘差檢驗,且模型性能良好。
2.2 SVR滾動殘差模型修正
計算得到殘差的值,經(jīng)過多次實驗,最終選定循環(huán)滾動4個殘差值,將這4個殘差作為訓(xùn)練集的特征對SVR模型進(jìn)行訓(xùn)練,改模型的訓(xùn)練還涉及核函數(shù)的選定,本文選擇取徑向基核函數(shù)作為模型的核函數(shù),因為其不受樣本參數(shù)大小的影響的優(yōu)點,再多次反復(fù)實驗發(fā)現(xiàn),對本次貴州茅臺的股票數(shù)據(jù)集有良好的表現(xiàn),該核函數(shù)如下:
⑾
選定滾動數(shù)據(jù)集,對模型進(jìn)行訓(xùn)練,預(yù)測2019年-2021年的股票數(shù)據(jù)的,結(jié)果如圖7所示。
從圖7可以發(fā)現(xiàn),相較于ARIMA模型的單模型,利用SVR模型循環(huán)滾動殘差值來修正原模型,已經(jīng)有了良好的預(yù)測效果,模型性能與精度都得到提升。
2.3 預(yù)測效果對比分析
分別用ARIMA、SVR和ARIMA-SVR模型對數(shù)據(jù)對相同的時間區(qū)間的真實數(shù)據(jù)進(jìn)行預(yù)測,通過比較各個模型之間的預(yù)測誤差進(jìn)行對比分析。為評價回歸模型的性能,本文主要采用平均絕對誤差(mean absolute error,MAE)和中位絕對值誤差(mean percentage error,MPE)選用這兩個個指標(biāo)分別對ARIMA(1,1,1)和ARIMA_SVR模型的預(yù)測性能進(jìn)行評估,這兩個指標(biāo)的計算如下所示:
⑿
⒀
式⑿中yi的表示數(shù)據(jù)中的真實值,而[yi]表示模型的預(yù)測值,式⒀中MAD代表的是數(shù)據(jù)點Xi到中位數(shù)X的絕對值偏差。這兩個指標(biāo)的值越小說明,模型的預(yù)測的準(zhǔn)確性越高,模型的預(yù)測性能越好。
ARIMA,SVR,ARIMA_SVR三個模型的具體的預(yù)測值,如表1所示。可見ARIMA_SVR模型的預(yù)測誤差相較于單個的ARIMA(1,1,1)模型的預(yù)測值誤差,得到了改善。在ARIMA的預(yù)測基礎(chǔ)上可以實現(xiàn)預(yù)測貴州茅臺股票的大體的趨勢,實現(xiàn)了對于股票數(shù)據(jù)的線性預(yù)測?;赟VR的滾動殘差模型可以對ARIMA(1,1,1)預(yù)測的偏差進(jìn)行修正。
對于ARIMA與ARIMA_SVR模型的預(yù)測性能的評估,如表2所示。可以發(fā)現(xiàn)相較于單個模型的ARIMA的MAE已經(jīng)從428降到44.35,MAD從224降到26.71。組合模型有更加良好的預(yù)測性能。
3 結(jié)束語
近年來,股票受到了越來越多人的追捧。而貴州股票自上市以來股票價格漲幅一直都處于良好趨勢,已然成為股民心中的大股票。針對傳統(tǒng)的股票預(yù)測方法預(yù)測精度低的問題,本文提出的基于ARIMA時間序列結(jié)合測SVR滾動殘差的股票價格的預(yù)測模型,以貴州茅臺的股票數(shù)據(jù)作為研究對象進(jìn)行實證研究。研究結(jié)果表明本文方法是可行、有效的,可以為相關(guān)的投資者或者公司進(jìn)行決策時提供參考策略,避免盲目的投資。
本文的研究不足之處在于,僅以時間的維度作為自變量出發(fā),僅反映在時間序列下數(shù)據(jù)之間的相關(guān)性與規(guī)律,這樣可以實現(xiàn)對于股票數(shù)據(jù)的短期價格的預(yù)測。而股票的漲跌受到多種因素的影響,因此,本模型并不能實現(xiàn)對于股票數(shù)據(jù)的長期的預(yù)測。
參考文獻(xiàn)(References):
[1] 袁仁國.危機(jī)時代,激發(fā)創(chuàng)新與改革的力量[N].貴陽日報,
2013-12-18(003)
[2] Rao T S,Gabr M M.An introduction to bispectral analysis
and bilinear time series models[M].New York:Springer,2012
[3] Zheng T,F(xiàn)arrish J,KitterlinM.Performance trends of hotels
and casino hotels through the recession:an ARIMAwith intervention analysis of stock indices[J].Journal of Hospitality Marketing & Management,2016,25(1):49-68
[4] Rangel-Gonzalez J A,F(xiàn)rausto-Solis J,González-Barbosa
JJ,et al.Comparative study of ARIMA methods for forecastingtime series of the mexican stock exchange[J].Studies in Computational Intelligence,2018,749:475-485
[5] 宋剛,張云峰,包芳勛,等.基于粒子群優(yōu)化LSTM的股票預(yù)測
模型[J].北京航空航天大學(xué)學(xué)報,2019,45(12):2533-2542
[6] 李超.機(jī)器學(xué)習(xí)模型在股票價格時間序列分析中的應(yīng)用與
比較[J].電子世界,2021,615(9):66-70
[7] 丁文絹.基于股票預(yù)測的ARIMA模型、LSTM模型比較[J].
工業(yè)控制計算機(jī),2021,34(7):109-112,116
[8] 鄒菊紅.基于BP神經(jīng)網(wǎng)絡(luò)的改進(jìn)粒子群優(yōu)化股票預(yù)測[J].
山東工業(yè)技術(shù),2021,297(1):34-38
[9] 齊甜方,蔣洪迅.基于Seq2Seq文本摘要和情感挖掘的股票
波動趨勢預(yù)測[J].管理評論,2021,33(5):257-269
[10] 陳維榮,關(guān)佩,鄒月嫻.基于SVM的交通事件檢測技術(shù)[J].
西南交通大學(xué)學(xué)報,2011,46(1):63-67
[11] 李奮華,趙潤林.一種基于時間序列分析的股票走勢預(yù)測模
型[J].現(xiàn)代計算機(jī)(專業(yè)版),2016(20):14-17
[12] 劉家學(xué),白明皓,郝磊.基于ARIMA-SVR組合方法的航班
滑出時間預(yù)測[J].中國科技論文,2021,16(6):661-667
[13] 楊翠娟.基于機(jī)器學(xué)習(xí)方法的金融股票預(yù)測研究[D].湖南
大學(xué),2020
[14] 趙杜羽.基于ARIMA模型的深證成指收盤價的分析和
預(yù)測[J].老字號品牌營銷,2021(8):96-98
收稿日期:2021-10-19
*基金項目:貴州省科技計劃項目(No.黔科合基礎(chǔ)[2019]1041,No.黔科合基礎(chǔ)[2019]1403,No.黔科合基礎(chǔ)[2020]1Y279,No.黔科合基礎(chǔ)[2020]1Y420); 貴州省教育廳青年科技人才成長項目(No.黔教合KY字[2021]135)
作者簡介:陳登建(1997-),男,福建福州人,碩士研究生,主要研究方向:機(jī)器學(xué)習(xí),自然語言處理。
通訊作者:夏換(1982-),男,湖南永州人,博士,教授,主要研究方向:計算機(jī)仿真,大數(shù)據(jù)分析。