劉松 張帥



摘 要:隨著我國資本市場的擴大開放,國外資本進一步流入我國股市,中國股市迎來新的挑戰與機遇。金融市場股票的價格預測問題再次成為公眾關注的熱點。基于此,選取金融市場股票的歷史收盤價數據,以Python為實現工具,通過建立ARIMA模型來進行檢驗與預測,得到的股價預測值與真實值短期內最大誤差不超過0.04。這表明以ARIMA模型對股價進行短期預測具有很好的效果,能夠為股市投資者提供幫助。
關鍵詞:Python;ARIMA模型;股價預測
中圖分類號:F830.91? ? ? ? 文獻標志碼:A? ? ? 文章編號:1673-291X(2021)25-0076-03
引言
正如我們所知,股票市場是企業融資的重要渠道,也是反映一個國家經濟狀況的“晴雨表”。股票的價格作為股票市場的重要信息,其價格的變化是成千上萬投資者的共同決策結果,因此影響股價波動的因素眾多。不同的因素會對股價造成如何的影響,影響的程度有多大,往往難以衡量。因此,我們不去探究價格變化背后原因是什么,而以過去的價格變化為依據,去發現股價變化的規律,從而實現對股價的預測。當然作為一種隨機變化過程,我們無法完全預測股價的未來走向,但這不代表股價就是完全不可預測的,股票價格的變動過程就是一組可以看得到的時間序列數據,其既反映股價的隨機變化,也包含了一定的系統運行規律。ARIMA模型理論成熟,是當前處理時間序列數據的常用預測模型,可以很好預測具有波動性的時間序列數據的短期趨勢。因此,本文運用ARIMA模型對西南證券的收盤價作為歷史數據進行建模,以當前熱門的Python作為建模工具,對未來四天的股價進行預測。
一、選題意義與模型理論基礎
(一)選題意義
基于Eveiws所實現的股價預測方法已有相應成熟的研究,且該方法在短期的預測精度能夠得以保證,但還有許多的不足。而Python在股價預測領域的應用有待檢驗,基于這樣的背景,本文希望通過使用Python工具進行股票價格的短期預測,以對比Eviews工具做出的結果,分析使用新的研究工具是否可以給股價帶來更精確的估計。
(二)ARIMA模型理論介紹
ARIMA模型又被稱為自回歸移動平均模型,于20世紀70年代由美國統計學家Jenkins和英國統計學家Box提出。該模型主要運用在時間序列變量的短期預測中,因單個時間序列值具有不可測性,但整體時間序列值具有一定的規律,使用ARIMA模型將這種規律以數學形式表示。并通過對數學形式的研究,實現對時間序列值的短期預測。
ARIMA模型可分為三種,AR(p)模型為自回歸模型,MA(q)模型為滑動平均模型,ARIMA(p,d,q)為自回歸滑動平均模型。ARIMA是前兩種模型的糅合,其中AR是自回歸過程,p為自回歸的階數;MA為移動平均過程,q為移動平均階數,d為非平穩向平穩轉變的差分次數。
一般的ARIMA(p,q)模型形式可以表示為:
(1)式中,{?著t}是白噪音序列,p和q都是非負整數,AR和MA模型都是ARIMA(p,q)的特殊情形,當p=0時,ARIMA(0,q)=MA(q);當q=0時,ARIMA(p,0)=AR(P)。
由于ARIMA模型運用于時間序列平穩狀態,而當時間序列處于不平穩時,需要經過一系列的處理,使時間序列平穩化。在含有短期趨勢平穩的非平穩時間序列可以通過差分使非平穩序列成為平穩序列。
(三)ARIMA模型建模步驟
ARIMA模型的建模可分為以下四個步驟:首先,對原序列進行平穩性檢驗,如果檢驗結果為不平穩,需要通過差分變化或者其他變化,使序列滿足平穩性條件。其次,通過計算描述序列特征的統計量來確定模型,并結合BIC準則確定模型的階數。再次,利用最小二乘法估計模型的參數,并進行合理性檢驗。最后,進行診斷分析,通過生成的模型對數據進行預測,并將實際數據與之進行對比,進行預測準確定檢驗。若不精確重新確定參數,再次建立新的模型。
二、ARIMA模型的建立與分析
(一)數據來源
本文數據來源于Wind數據庫,從Wind上選取西南證券自2019年1月2日至12月9日的股票收盤價作為原始數據,數據樣本總量為229個。樣本量基本涵蓋了西南證券2019年以來的所有交易日的收盤價。
(二)數據的單位根檢驗與平穩化處理
通過Python可視化,對西南證券股價的原始數據處理,可以得到收盤價的時間序列圖像,通過觀察圖像我們發現,西南證券的收盤價時間序列數據呈現非平穩的特征,這對于數據的初步判斷來說還遠遠不夠。因此,我們通過對原始數據進行單位根檢驗,對數據進行單位根檢驗后,得出ADF檢驗的t統計量為-2.786767均小于在顯著性水平為1%、5%和10%時分別所對應的臨界值-3.458366,-2.873866和-270.425668。可以得出,原始數據的ADF檢驗結果落于接受原假設區間內,即西南證券的收盤價時間序列數據存在單位根,數據是非平穩的。時間序列數據的非平穩可以通過差分法來進行解決,因此我們對原始數據進行一階差分,并進行ADF檢驗得出t統計量的值,在對數據進行一階差分處理之后,此時得出的t統計量的值為-16.611521均大于在顯著性水平為1%、5%和10%時分別所對應的臨界值-3.458366,-2.873866和-270.425668。也就意味著在對原始數據進行一階差分處理之后,時間序列數據不再是非平穩的。
(三)ARIMA模型的建立與參數估計
建立ARIMA模型的關鍵就是要通過觀察ACF、PACF圖,以及通過BIC信息準則來確定ARIMA模型的最佳p值和q值。通過Python,可以得到相應的自相關圖ACF和偏自相關圖PACF,根據ACF、PACF圖的觀察方法,暫定ARIMA模型的p、q值為1,1,即模型為ARIMA(1,1)。為保證模型的最優,僅僅通過肉眼的觀察不足以判斷ARIMA模型最優的p、q值,還必須通過BIC信息準則來做進一步判斷,即找出BIC最小值。
通過傳統的Eviews軟件來對ARIMA模型定階,要通過多次去輸入可能的p、q值,得到多個BIC的值,從而找出最小BIC所對應的p、q值。這樣的實現過程十分煩瑣,而運用Python工具來實現,只需要幾行代碼就可以找到最優的p、q值。根據Python的輸出結果,最優的p、q值分別為(1,0)。為檢驗Python實現的準確性,我們還是做出了ARIMA(1,0),ARIMA(2,1),ARIMA(2,2),ARIMA(3,3),ARIMA(0,3),ARIMA(3,2)所對應的BIC值如表1所示。
可見,ARIMA(1,0)所對應的BIC值為最小,最終,我們選擇以ARIMA(1,0)來進行模型構建。
(四)ARIMA模型檢驗
對模型參數估計完之后,我們需要對模型進行檢驗。
首先,要驗證殘差項是否符合正態分布,我們以QQ圖作為驗證殘差項是否符合正態分布的方式如圖1所示。QQ圖是一種散點圖,對應于正態分布的QQ圖,就是由標準正態分布的分位數為橫坐標,樣本值為縱坐標的散點圖。要利用QQ圖鑒別樣本數據是否近似于正態分布,只需看QQ圖上的大多數點是否近似地在一條直線附近。觀察QQ圖可以發現,大多數數據點都近似在直線附近,即殘差項符合正態分布的特征。
其次,我們通過進行Ljung-Box檢驗,得出殘差項對應的P值均大于0.05,說明殘差項屬于白噪聲序列,殘差項中的有用信息已被提取完,模型基本完善。
(四)ARIMA模型預測結果與分析
最后,我們以ARIMA模型對未來三天的股價預測,并將預測值與真實值進行比較如表2所示。根據表2可知,用模型預測出的股票價格與真實價格較為接近,誤差較小,說明ARIMA模型可以用來預測股票價格。但由于股票的價格變動較大,所以本模型只適合進行短期預測而不適用于長期。
結語
關于股價的預測是一個古老的問題,不少學者都已對其進行過研究,但從來沒有一種方法可以完全預測股價的走勢,可見股價的預測是多么復雜。盡管隨著時間的推移,對于股價的預測涌現出不少新的方法,但時間序列數據理論依舊是對股價預測的有效手段。本文通過選取A股股市某一只股票作為研究對象,以ARIMA模型作為預測模型,通過Python工具,最終得出對股票的未來幾天預測值與真實值最大誤差不超過0.04。這表明,以ARIMA模型對股價進行短期預測具有很好的效果,能夠為股市投資者提供些許幫助。其次,本文改變了以Eviews軟件來作為實現工具的傳統方式,填補了以Python工具實現ARIMA模型來對股價預測領域的空白。
參考文獻:
[1]? 吳玉霞,溫欣.基于ARIMA模型的短期股票價格預測[J].統計與決策,2016,(23):83-86.
[2]? 馮盼,曹顯兵.基于ARIMA模型的股價分析與預測的實證研究[J].數學的實踐與認識,2011,(22):84-90.
[3]? 趙國順.基于時間序列分析的股票價格趨勢預測研究[D].廈門:廈門大學,2009.
[4]? 陳陽.股票預測模型研究[D].哈爾濱:哈爾濱工程大學,2007.
[5]? 朱瑜.股市預測方法研究[D].西安:西北工業大學,2006.
An Empirical Study on Stock Price Forecast by ARIMA Model
LIU Song,ZHANG Shuai
(Guizhou University,Guiyang 550025,China)
Abstract:With the expansion and opening up of Chinas capital market,foreign capital flows into Chinas stock market,which ushers in new challenges and opportunities.Based on this,this paper selects the historical closing price data of the stock in the financial market,uses Python as the implementation tool,and establishes ARIMA model to test and forecast.The maximum error between the predicted value and the real value in the short term is not more than 0.04.It shows that ARIMA model has a good effect on short-term stock price forecasting,and can provide some help for stock market investors.
Key words:Python;ARIMA model;Stock price forecast
[責任編輯 辰 敏]