陳東東,沐年國
(上海理工大學 管理學院,上海 200093)
匯率是用一國貨幣表示另一國貨幣的價格水平,是一種外匯資產價格水平的貨幣表現。匯率作為一國重要的宏觀經濟變量,不僅影響一國宏觀經濟的運行和微觀層次上的資源配置,而且還是維系全球經濟發展的一條重要紐帶[1]。2015年8月11日,我國匯改又進一步松綁了人民幣匯率,使得人民幣匯率更加市場化。因此,正確預測人民幣匯率的變化也變得越來越重要。
時間序列分析方法一直是研究匯率的有效并可靠的方法,可以獲得觀測樣本序列產生的隨機機制,也就是建立數學模型;亦可以根據在歷史數據規律,估算觀測樣本序列未來的可能取值[2]。由于匯率具有復雜的非線性特征,而ARIMA模型是建立在線性關系的假設上,因此很難有效地捕捉到并解釋非線性關系,存在難以調和的矛盾。
神經網絡(Neural Networks,NN)具有良好的逼近能力,能挖掘數據背后復雜的非線性特征,是目前非線性系統研究的熱門工具之一[3]。Thomas和Yu分別使用BP和RBF非線性神經網絡模型對美元匯率進行了短期預測,但由于需要估計的參數較多,導致所模型容易產生數據過擬合,泛化能力不夠,從而使其預測精度不高,在短期匯率預測應用中受到了限制[4~5]。
ARIMA模型是基于線性技術來預測的,而對非線性處理效果不佳;NN模型則在挖掘數據背后非線性關系方面有著不可比擬的優勢。但匯率市場是復雜演化的動態市場,是高噪聲、非平穩的,包含了線性和非線性的混沌系統[6],因此,使用單一的線性模型或者非線性模型都不能完全描述匯率時間序列的特征。Tseng等人組合ARIMA模型與BP神經網路模型預測季節性時間序列[7],Yu等結合廣義線性自回歸模型與NN模型預測匯率[8],結果顯示組合模型的總體預測效果顯著優于單一的時間序列模型預測效果。熊志斌采用ARIMA模型預測序列的線性主體,運用NN模型對ARIMA的殘差部分進行估計,結果表明融合模型的預測精準率高[9]。
本文在總結前人研究的基礎上,將HP濾波分解融合到時間序列ARMA與神經網絡(BPNN)組合模型里預測人民幣匯率。即采用HP濾波將樣本序列分解成平穩趨勢項與方差時變的波動項;對平穩序列建立ARMA模型,對波動非線性序列建立BPNN模型,然后將模型的預測值整合,得到樣本短期預測值。
Hodrick-Prescott濾波法把經濟運行看作是長期內在的或者潛在的增長趨勢和短期波動的結合[10]。該方法采用對稱數據移動平均的方法原理,設計了一個濾波器,高頻部分通過,低頻部分濾除[11],即HP過濾器是一種將趨勢和周期成分從原始時間序列中分離出來的工具[12],這就是通常意義上的時間序列趨勢成分和波動成分[13]。
設一個時間序列Yt表示成:

HP濾波依賴于參數λ的設定,該參數λ需要先給定。參數λ是對趨勢光滑程度和對原始數據擬合程度的一個權衡參數:隨著λ值的增加,估計的趨勢越光滑,當λ趨于無窮大時,估計的趨勢將接近線性函數。
ARMA是對平穩時間序列進行自回歸AR(p)和滑動平均過程MA(q)建模,并有一整套的建模、估計、檢驗和控制方法[14]。
模型的表達式:

式中:c為常數項,p和q分別表示模型中自回歸項和移動平均項的階數,αi為第i個自回歸項的系數;θj為第j個移動平均項的系數;εt為殘差項,是獨立同分布的隨機變量,服從均值為0、方差為1的分布。
神經網絡是由大量的、簡單的處理單元廣泛地互相連接而形成的復雜網絡系統,它反映了人腦功能的許多基本特征,是一個高度復雜的非線性動力學習系統。本文模型通過PSO算法來訓練優化神經網絡,并最終確定合適的模型參數(Wij和Wj)。PSO算法的基本原理是[9,15~16]:
設在n維的搜索空間中,由m個粒子組成的種群記為:X=(X1,…,Xi,…Xm),其中,第i個粒子的位置為Xi=(Xi1,Xi2,…Xin)T,其速度為Vi=(Vi1,Vi2,…Vin)T。粒子i的個體極值為pi=(pi1,pi2,…pin)T,種群的全局極值為pg=(pg1,pg2,…pgn)T。
粒子在搜索過程中通過跟蹤兩個目標值來更新自己的速度和位置:一是粒子本身目前找到的最優解,即個體極值;二是整個種群目前找到的最優解,即群體極值。
其迭代公式:

本文采用了對數據進行HP粗分解方法,首先獲得趨勢部分和波動部分,然后分別對趨勢部分和變化部分建立ARMA、BPNN模型進行預測;同時,對樣本數據直接建立ARIMA模型、BPNN模型進樣本外預測;然后比較各模型預測值與真實值的均方根誤差(RMES)、平均絕對誤差(MAE)、平均絕對百分誤差(MAPE)和希爾不等系數(TIC)4個常用的預測誤差指標。誤差指標越小,說明模型的預測值和真實值最為接近,則可判斷為最佳模型[17]。
本文對人民幣匯率進行短期預測,基于何丹青[18]比較大小樣本建立ARMA模型效果,證明一些久遠的數據不利于ARMA模型的準確預測。因此,本文選擇了2013年1月至2017年3月《中國統計年鑒》公布的美元兌換人民幣匯率的月度數據為樣本,進行分析建立模型,預測匯率走勢。
先將原始樣本數據對數處理,然后用軟件Eviews進行HP濾波處理,根據月度數據的趨勢性特點,定義平滑指數λ=14 400[19],結果(如圖1所示),平滑虛線Trend代表趨勢序列,增長率沒有明顯的變化;實心圓線Cycle代表波動項,有著周期性的不規則變化。

圖1 HP濾波分解圖

模型程序基于Matlab7.0軟件編寫并實現。本文采用試錯法確定網絡輸入節點數和隱層節點數,即計算每個粒子所對應神經網絡的輸出誤差,并將該誤差作為對應粒子的適應值,找出適應值最好的粒子,將此粒子的位置作為粒子群的群體極值;按照式(6)更新所有粒子位置即產生新的種群;然后計算每個粒子的個體極值進;將每個粒子的個體極值與群體極值進行比較,若更好,則將該粒子的個體極值更新為當前的群體極值;若輸出誤差滿足設計要求,則終止訓練并輸出結果;否則返回重新計算粒子適應值,直到誤差平方和減小到某一目標誤差,即認為此算法是收斂的。
經反復試驗比較,確定模型為4輸入1輸出,隱層節點數為5,即網絡模型采用4×5×1結構。粒子群算法的各參數選取分別為:c1=1.5,c2=0.2,wmax=0.9,wmin=0.4,vmax=8,vmin=-10,Xmax=10,Kmax=500。利用建模樣本對網絡訓練500代,誤差達到0.0091745,訓練過程的誤差曲線(如圖2所示)。

圖2 訓練誤差曲線
3.模型預測值融合。將趨勢序列與波動序列模型的預測值整合起來,得到樣本序列預測值(如圖3所示)。
4.建立ARIMA、BPNN模型。樣本數據直接建模進行預測。先進行單位根檢驗,結果表明樣本序列的一階差分序列為穩定序列;對一階差分序列建立ARMA,運用Eviews軟件,經過多次試設,遵循SC、AIC最小原則確定參數,建立如下模型ARMA(2,2),并進行預測。模型表達式如下:

依然采用試錯法確定樣本序列的網絡輸入節點數和隱層節點數,建立BPNN并進行預測,預測值(如圖3所示)。

圖3 各模型預測值
5.方差分析。為了更加全面地描述不同模型對匯率的預測效果,本文采用4個常用的預測誤差指標來衡量模型預測效果,各模型誤差指標(如下表所示)。
由上表可知,ARMA+BPNN模型向前短期3個月預測值的各項誤差指標值都是最小的,比ARIMA模型的指標值縮小了近6倍,比BPNN模型縮小近20倍;向前6個月預測值的誤差指標與ARIMA的相近,比BPNN模型的指標縮小近3倍;但向前9個月的預測值誤差指標比ARIMA模型擴大了近2倍,比BPNN模型的指標縮小了近2倍,以上分析說明序列經HP濾波處理后的ARMA+BPNN模型在短期預測精準度得到很大提高。

模型的預測誤差指標比較
從模型理論上分析,ARIMA模型沒有考慮到外界相關因素的影響,導致短期預測效果相對低;而BPNN需要估計的參數較多,導致所得到的模型容易產生過擬合,泛化能力不夠,而使其預測精度不高,在短期匯率預測應用中受到了限制;HP濾波分解出趨勢項和波動項,既考慮了外界經濟長期趨勢的影響,也考慮到匯率自身因素,融合了單一模型的長處,更深刻地挖掘匯率序列背后復雜的線性與非線性特征,極大地改善了模型的預測性能。
ARMA善于捕捉數據中的線性特征,而BPNN則擅長挖掘數據背后的非線性關系。融合ARMA-BPNN模型對匯率序列的預測效果都要好于其他單一的模型,這也說明人民幣匯率序列不僅具有線性結構特征,也具有非線性特征關系;而融合模型相比單一模型,更能捕捉到人民幣匯率的這種復雜的混合特征,極大地提高了模型的預測性能。同時,也表明我國人民幣匯率市場并不是一個有效市場,對匯率的預測是有必要的,也是可能的。