|
似乎突如其來,似乎合情合理,我們和巴菲特老先生一起親見了一次,又一次,雙一次,叒一次的美股熔斷。身處歷史的洪流,渺小的我們會不禁發(fā)問:那以后呢?還會有叕一次嗎?于是就有了這篇記錄:利用ARIMA模型來預(yù)測美股的走勢。 1. Get Train Dataset and Test Dataset本例子簡單地以2020年第一季度的道指的收盤價為數(shù)據(jù)集(數(shù)據(jù)來源雅虎財經(jīng)),將前面95%的數(shù)據(jù)用作本次預(yù)測的訓(xùn)練集,后面5%的數(shù)據(jù)用作本次預(yù)測的測試集。
2. Stationarity Test由于ARIMA預(yù)測要求輸入數(shù)據(jù)為平穩(wěn)時間序列。如果輸入數(shù)據(jù)為非平穩(wěn)時間序列,則需要對數(shù)據(jù)進行平穩(wěn)化處理。識別數(shù)據(jù)集是否為平穩(wěn)時間序列,本例子用了兩種方法:1)簡單粗暴的觀察法;2)白噪聲檢驗。 其實對于多次熔斷向下再向下的道指來說,撇開各種觀察和檢驗的方法,我們都知道他一定是非平穩(wěn)時間序列了。下面兩種方法就是打個版:當(dāng)我們遇到不太明顯的時間序列時可以怎么做? 2.1 Observational Method下圖斷崖式下降的曲線表明訓(xùn)練集為非平穩(wěn)時間序列。
2.2 Ljung‐Box Statistics Test利用 Ljung–Box test 得到 p-value = 2.2e-16 < 0.05, 由此拒絕時間序列為白噪聲的假設(shè)。
3. Differencing上述我們可知本訓(xùn)練集為非平穩(wěn)時間序列,所以我們利用差分對它進行平穩(wěn)化處理。對訓(xùn)練集分別進行一階差分和二階差分后,從下圖其實并不能很容易看出一階差分以及二階差分是否為平穩(wěn)序列。于是我們對其進行了ADF檢驗。從檢驗結(jié)果可知: 原序列:p-value = 0.5336 > 0.05,拒絕它是平穩(wěn)序列的假設(shè); 一階差分:p-value = 0.4495 > 0.05,拒絕它是平穩(wěn)序列的假設(shè); 二階差分:p-value = 0.01 < 0.05,接受它是平穩(wěn)序列的假設(shè)。=""> 所以我們將利用其二階差分序列進行ARIMA預(yù)測。
4. ARIMA Model4.1 Choosing the order當(dāng)我們確定用二階差分序列進行預(yù)測后,則需要對模型進行定階。如下圖所示,對于ACF,滯后1-2階在2倍標(biāo)準(zhǔn)差外,所以q=2;對于PACF,同樣也是滯后1-2階都在2倍標(biāo)準(zhǔn)差外,所以p=2,所以將會選擇模型ARIMA(2,2,2)。
為了保證選擇的模型是最優(yōu)的,建議可以多選擇接近的模型,然后根據(jù)AIC準(zhǔn)則或者BIC準(zhǔn)則選取最優(yōu)的模型。比如利用自動定階的方法,得出一個模型ARIMA(1,1,0)
經(jīng)過比較發(fā)現(xiàn)還是模型ARIMA(2,2,2)較優(yōu):
4.2 Model Validation對擬合殘差進行白噪聲檢驗,得到p-value = 0.8221 > 0.05,而且acf在lag=1后迅速減小,可得殘差為白噪聲。
我們將訓(xùn)練集數(shù)據(jù)和擬合數(shù)據(jù)同時畫在圖上,可以看到兩者的差別是在可接受范圍的。 4.3 Forecast and Test Data將預(yù)測結(jié)果與測試集對比,兩者的最大相對誤差為 0.056,可見模型是表達充分的,預(yù)測結(jié)果良好。
5. Forecast上述已經(jīng)找到合適的預(yù)測模型了, 于是就可以用這個模型ARIMA(2,2,2)來預(yù)測未來5天的道指走勢了。預(yù)測未來道指將在22000波動,均值微跌(呈下跌趨勢),波動范圍為16000-26000左右。簡單說,這個模型的預(yù)測是前景不容樂觀。
|
|
|