- MATLAB時間序列方法與實踐
- 江渝 李幸 卓金武編著
- 917字
- 2019-06-19 15:50:12
1.7 應用實例:基于時間序列的股票預測
有些股票的價格波動具有很好的周期性,這時就可以考慮用時間序列方法進行股票價格預測。下面將以具體的實例來說明如何利用上述介紹的時間序列方法進行股票價格走勢的預測。
(1)讀取股票數據

(2)原始數據可視化

該節程序執行后,會得到如圖1-3所示的原始的股票價格走勢圖,從該圖中可以看出,股票的價格變動有些規律,即周期性上升,為此可以考慮用時間序列來建立股票價格走勢的模型。

圖1-3 原始的股票價格走勢圖
(3)建立ARIMA模型
由于ARIMA具有較強的適應性,可以嘗試用該模型建立該股票的時間序列模型,具體代碼如下:


(4)評估預測效果


該節程序運行后,產生如圖1-4所示的股票實際走勢與預測走勢的比較圖。從該圖中可以看出,兩者總的趨勢一致,但波動周期、波動幅度差異較大。這說明時間序列能在一定程度上反映股價的走勢情況,但同時也說明現實中股價的變化情況具有較強的無序、隨機的特征。這也是比較客觀的,因為時間序列模型是經過抽象后形成的比較完美的模型,而現實世界的股價則是完全自由的,用完美、固定的模型只能刻畫現實數據的部分特征。

圖1-4 股票實際走勢與預測走勢的比較圖
(5)預測未來股票趨勢


本節程序得到的是用已經訓練的模型對未來股價預測后的結果,如圖1-5所示,同時還得到股價95%的置信波動區間,說明股價的可能波動范圍。從該圖中可以看出,預測時間越長,波動范圍越大,這也說明預測時間越長,結果越不準,所以在用時間序列預測時,盡量不要將預測時間設置得太長,原則上預測時間不宜超過時間序列數據對應總時長的10%,也就是向后推延的時間不超過歷史時間的10%。

圖1-5 對未來股價預測后的結果
從該案例讀者也可以體會到,股價數據隨機性較強、噪聲偏多,時間序列方法可在一定程度上反映股價的走勢,對投資具有一定的指導意義。同時需要注意的是,影響股價的因素很多,各種各樣非市場的因素往往左右著股價的整體走勢,這在一個成熟市場是不應該出現的,從而充分地說明了我國股市還存在一些弊端。對廣大投資者而言,要努力提高自身素質,減少對股票的盲目僥幸的認識,培養起應有的投資意識;對股市的研究人員而言,應該積極吸收西方發達國家成熟股市的先進經驗和理論,運用于我國股票市場,以起到理論帶動實踐發展的作用。