蔣 奇,劉永文
(貴州大學經(jīng)濟學院,貴陽 550025)
匯率的預(yù)測準確度對外匯的持有者、依賴進出口貿(mào)易的企業(yè)、個人和企業(yè)的外匯交易行為等都有很大的影響。在科技不斷發(fā)展、統(tǒng)計分析技術(shù)不斷提高的背景下,時間序列模型被廣泛應(yīng)用于經(jīng)濟領(lǐng)域中。基于時間序列模型,在短期內(nèi)可以很好擬合真實值,因此時間序列模型經(jīng)常被用來預(yù)測短期的數(shù)據(jù)走勢。
如果一個時間序列{X}的當前值與過去p 個時刻的序列值之間的關(guān)系是線性的,即可以用過去p個時刻的序列值來表示,則稱這個線性過程為{X}的p 階自回歸方程用AR(p)表示。AR(p)模型的一般形式為:
其中,φ 為自回歸系數(shù),p 為階數(shù),ε為白噪聲序列,滿足零期望E(ε)=0,同方差Var(ε)=σε,且無自相關(guān)Cov(ε,ε)=0,t≠s。
與自回歸模型常聯(lián)系在一起的是平穩(wěn)性問題,自回歸的特征方程為:
如果特征方程的所有根的絕對值都大于1,則AR(p)是一個平穩(wěn)的隨機過程。由此,p 階自回歸序列的平穩(wěn)性條件為:
如果序列{X}的當前值可以用現(xiàn)在干擾值和過去q階干擾值線性表示,則稱為q 階移動平均過程MA(q)模型。MA(q)模型的一般形式為:
其中,θ 為回歸系數(shù),{ε}為白噪聲序列。
MA(q)的特征方程為:
如果這個特征方程的全部根絕對值都大于1,即|z|>1,這個條件成為移動平均過程的可逆性條件。
ARIMA 模型又稱自回歸積分移動平均模型,當時間序列本身不是平穩(wěn)的時,考慮其差分ΔX=X-X=(1-L)X,可以將{X}看成是平穩(wěn)的序列。
ARIMA(p,d,q)模型表示為:
以上模型就是最簡單的ARIMA 模型,可視為經(jīng)過d 階差分后再把AR(p)和MA(q)兩個模型綜合而成。
本文數(shù)據(jù)均選自于國家外匯管理局2020 年8 月20 日至2020 年12 月31 日的91 個日數(shù)據(jù)。
首先,我們對原序列進行ADF 檢驗,結(jié)果如表1??梢钥闯?,原時間序列的t 統(tǒng)計量均大于1%、5%、10%水平下的臨界值,因此,原時間序列為不平穩(wěn)序列。
表1 原時間序列ADF檢驗結(jié)果
ARIMA 模型要求時間序列必須為平穩(wěn)的時間序列,我們要運用差分的方法對原始數(shù)據(jù)進行處理。依然對差分后的序列進行ADF 檢驗,結(jié)果如表2??梢钥闯?,差分后的時間序列的t 統(tǒng)計量均小于1%、5%、10%水平下的臨界值,因此,差分后的時間序列為平穩(wěn)序列。
表2 差分后時間序列的ADF結(jié)果
原數(shù)列經(jīng)過一階差分后,變成了平穩(wěn)的時間序列,我們運用python 畫出一階差分序列的自相關(guān)圖和偏自相關(guān)圖(見圖1)。
圖1 自相關(guān)圖(上)和偏自相關(guān)圖(下)
具體的階數(shù)我們要運用AIC 準則。我們必須知道,自由參數(shù)的種類越多,模型擬合的質(zhì)量就會越優(yōu);AIC既要充分考慮到數(shù)據(jù)擬合的質(zhì)量優(yōu)劣性,又必須要有效地避免過分擬合。因而首先選擇的模型必須是AIC值最小的。
本文使用python 中的pmdarima 庫中auto_arima函數(shù),由函數(shù)自動為我們推薦最優(yōu)的預(yù)測模型。我們可以從表3 得出,AIC 值最低的是模型ARIMA(2,1,2),因此最好的模型為ARIMA(2,1,2)。
表3 模型階數(shù)和對應(yīng)的AIC值
運用ARIMA(2,1,2)模型進行參數(shù)估計,分別得出了自回歸系數(shù)和移動平均系數(shù)(見表4)。
表4 參數(shù)估計結(jié)果
由表3 可以看出,常數(shù)項的p 值為0.018,在5%的水平下顯著;AR(1)、AR(2)、MA(1)、MA(2)對應(yīng)的p值均為0,均為顯著性變量。因此我們建立的模型為:
模型建立好后,需要進行殘差相關(guān)性和擬合性檢驗,結(jié)果如圖2。
由圖2 可知,殘差分布接近于正態(tài)分布,Q 檢驗接近于對角線,說明我們選取的模型擬合的較好,可以進行預(yù)測。
圖2 殘差直方密度分布(上)和殘差Q檢驗(下)
如圖3 所示,對時間序列的LB 檢驗可知,p 值均在0.05 以上,因此時間序列為白噪聲序列。
使用ARIMA(2,1,2)模型對2020 年12 月18 日至12 月31 日的匯率進行預(yù)測,結(jié)果如表5。
表5 模型預(yù)測結(jié)果
由表5 可以看出,模型預(yù)測值與實際值的誤差均在1%以內(nèi),說明我們的模型擬合比較準確;再者,我們從表4 中可以看出,盡管誤差均在1%以內(nèi),但是前五個工作日的誤差均值為0.569%,后五個工作日的誤差均值為0.758%,說明ARIMA 模型短期內(nèi)預(yù)測誤差偏小、長期預(yù)測誤差偏大。
圖3 LB檢驗
時間序列模型是根據(jù)歷史數(shù)據(jù)的波動特征來預(yù)測未來趨勢的一種方法,這種方法要求數(shù)據(jù)必須是平穩(wěn)的,對不平穩(wěn)的數(shù)據(jù)可以采用差分或者對數(shù)差分來使數(shù)據(jù)平穩(wěn)化。時間序列模型在金融領(lǐng)域上的應(yīng)用十分廣泛,這得益于它更加簡便快捷,不需要太多的變量來刻畫原始數(shù)據(jù)的特征。建模過程中,p 和q 的階數(shù)是至關(guān)重要的,它們直接決定著最后預(yù)測的準確性。利用python中的pmdarima 庫中auto_arima 函數(shù)就可以避免產(chǎn)生這個問題。auto_arima 函數(shù)可以直接給你提供最適合的階數(shù),本文的結(jié)論也驗證了auto_arima 函數(shù)推薦的模型預(yù)測很準確。用時間序列模型對匯率進行短期預(yù)測,有利于進出口企業(yè)的貿(mào)易開展,也能為國際投資者提供投資依據(jù)。