陳東東,沐年國
(上海理工大學(xué) 管理學(xué)院,上海 200093)
匯率是用一國貨幣表示另一國貨幣的價格水平,是一種外匯資產(chǎn)價格水平的貨幣表現(xiàn)。匯率作為一國重要的宏觀經(jīng)濟(jì)變量,不僅影響一國宏觀經(jīng)濟(jì)的運(yùn)行和微觀層次上的資源配置,而且還是維系全球經(jīng)濟(jì)發(fā)展的一條重要紐帶[1]。2015年8月11日,我國匯改又進(jìn)一步松綁了人民幣匯率,使得人民幣匯率更加市場化。因此,正確預(yù)測人民幣匯率的變化也變得越來越重要。
時間序列分析方法一直是研究匯率的有效并可靠的方法,可以獲得觀測樣本序列產(chǎn)生的隨機(jī)機(jī)制,也就是建立數(shù)學(xué)模型;亦可以根據(jù)在歷史數(shù)據(jù)規(guī)律,估算觀測樣本序列未來的可能取值[2]。由于匯率具有復(fù)雜的非線性特征,而ARIMA模型是建立在線性關(guān)系的假設(shè)上,因此很難有效地捕捉到并解釋非線性關(guān)系,存在難以調(diào)和的矛盾。
神經(jīng)網(wǎng)絡(luò)(Neural Networks,NN)具有良好的逼近能力,能挖掘數(shù)據(jù)背后復(fù)雜的非線性特征,是目前非線性系統(tǒng)研究的熱門工具之一[3]。Thomas和Yu分別使用BP和RBF非線性神經(jīng)網(wǎng)絡(luò)模型對美元匯率進(jìn)行了短期預(yù)測,但由于需要估計(jì)的參數(shù)較多,導(dǎo)致所模型容易產(chǎn)生數(shù)據(jù)過擬合,泛化能力不夠,從而使其預(yù)測精度不高,在短期匯率預(yù)測應(yīng)用中受到了限制[4~5]。
ARIMA模型是基于線性技術(shù)來預(yù)測的,而對非線性處理效果不佳;NN模型則在挖掘數(shù)據(jù)背后非線性關(guān)系方面有著不可比擬的優(yōu)勢。但匯率市場是復(fù)雜演化的動態(tài)市場,是高噪聲、非平穩(wěn)的,包含了線性和非線性的混沌系統(tǒng)[6],因此,使用單一的線性模型或者非線性模型都不能完全描述匯率時間序列的特征。Tseng等人組合ARIMA模型與BP神經(jīng)網(wǎng)路模型預(yù)測季節(jié)性時間序列[7],Yu等結(jié)合廣義線性自回歸模型與NN模型預(yù)測匯率[8],結(jié)果顯示組合模型的總體預(yù)測效果顯著優(yōu)于單一的時間序列模型預(yù)測效果。熊志斌采用ARIMA模型預(yù)測序列的線性主體,運(yùn)用NN模型對ARIMA的殘差部分進(jìn)行估計(jì),結(jié)果表明融合模型的預(yù)測精準(zhǔn)率高[9]。
本文在總結(jié)前人研究的基礎(chǔ)上,將HP濾波分解融合到時間序列ARMA與神經(jīng)網(wǎng)絡(luò)(BPNN)組合模型里預(yù)測人民幣匯率。即采用HP濾波將樣本序列分解成平穩(wěn)趨勢項(xiàng)與方差時變的波動項(xiàng);對平穩(wěn)序列建立ARMA模型,對波動非線性序列建立BPNN模型,然后將模型的預(yù)測值整合,得到樣本短期預(yù)測值。
Hodrick-Prescott濾波法把經(jīng)濟(jì)運(yùn)行看作是長期內(nèi)在的或者潛在的增長趨勢和短期波動的結(jié)合[10]。該方法采用對稱數(shù)據(jù)移動平均的方法原理,設(shè)計(jì)了一個濾波器,高頻部分通過,低頻部分濾除[11],即HP過濾器是一種將趨勢和周期成分從原始時間序列中分離出來的工具[12],這就是通常意義上的時間序列趨勢成分和波動成分[13]。
設(shè)一個時間序列Yt表示成:
HP濾波依賴于參數(shù)λ的設(shè)定,該參數(shù)λ需要先給定。參數(shù)λ是對趨勢光滑程度和對原始數(shù)據(jù)擬合程度的一個權(quán)衡參數(shù):隨著λ值的增加,估計(jì)的趨勢越光滑,當(dāng)λ趨于無窮大時,估計(jì)的趨勢將接近線性函數(shù)。
ARMA是對平穩(wěn)時間序列進(jìn)行自回歸AR(p)和滑動平均過程MA(q)建模,并有一整套的建模、估計(jì)、檢驗(yàn)和控制方法[14]。
模型的表達(dá)式:
式中:c為常數(shù)項(xiàng),p和q分別表示模型中自回歸項(xiàng)和移動平均項(xiàng)的階數(shù),αi為第i個自回歸項(xiàng)的系數(shù);θj為第j個移動平均項(xiàng)的系數(shù);εt為殘差項(xiàng),是獨(dú)立同分布的隨機(jī)變量,服從均值為0、方差為1的分布。
神經(jīng)網(wǎng)絡(luò)是由大量的、簡單的處理單元廣泛地互相連接而形成的復(fù)雜網(wǎng)絡(luò)系統(tǒng),它反映了人腦功能的許多基本特征,是一個高度復(fù)雜的非線性動力學(xué)習(xí)系統(tǒng)。本文模型通過PSO算法來訓(xùn)練優(yōu)化神經(jīng)網(wǎng)絡(luò),并最終確定合適的模型參數(shù)(Wij和Wj)。PSO算法的基本原理是[9,15~16]:
設(shè)在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。
粒子在搜索過程中通過跟蹤兩個目標(biāo)值來更新自己的速度和位置:一是粒子本身目前找到的最優(yōu)解,即個體極值;二是整個種群目前找到的最優(yōu)解,即群體極值。
其迭代公式:
本文采用了對數(shù)據(jù)進(jìn)行HP粗分解方法,首先獲得趨勢部分和波動部分,然后分別對趨勢部分和變化部分建立ARMA、BPNN模型進(jìn)行預(yù)測;同時,對樣本數(shù)據(jù)直接建立ARIMA模型、BPNN模型進(jìn)樣本外預(yù)測;然后比較各模型預(yù)測值與真實(shí)值的均方根誤差(RMES)、平均絕對誤差(MAE)、平均絕對百分誤差(MAPE)和希爾不等系數(shù)(TIC)4個常用的預(yù)測誤差指標(biāo)。誤差指標(biāo)越小,說明模型的預(yù)測值和真實(shí)值最為接近,則可判斷為最佳模型[17]。
本文對人民幣匯率進(jìn)行短期預(yù)測,基于何丹青[18]比較大小樣本建立ARMA模型效果,證明一些久遠(yuǎn)的數(shù)據(jù)不利于ARMA模型的準(zhǔn)確預(yù)測。因此,本文選擇了2013年1月至2017年3月《中國統(tǒng)計(jì)年鑒》公布的美元兌換人民幣匯率的月度數(shù)據(jù)為樣本,進(jìn)行分析建立模型,預(yù)測匯率走勢。
先將原始樣本數(shù)據(jù)對數(shù)處理,然后用軟件Eviews進(jìn)行HP濾波處理,根據(jù)月度數(shù)據(jù)的趨勢性特點(diǎn),定義平滑指數(shù)λ=14 400[19],結(jié)果(如圖1所示),平滑虛線Trend代表趨勢序列,增長率沒有明顯的變化;實(shí)心圓線Cycle代表波動項(xiàng),有著周期性的不規(guī)則變化。
圖1 HP濾波分解圖
模型程序基于Matlab7.0軟件編寫并實(shí)現(xiàn)。本文采用試錯法確定網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)和隱層節(jié)點(diǎn)數(shù),即計(jì)算每個粒子所對應(yīng)神經(jīng)網(wǎng)絡(luò)的輸出誤差,并將該誤差作為對應(yīng)粒子的適應(yīng)值,找出適應(yīng)值最好的粒子,將此粒子的位置作為粒子群的群體極值;按照式(6)更新所有粒子位置即產(chǎn)生新的種群;然后計(jì)算每個粒子的個體極值進(jìn);將每個粒子的個體極值與群體極值進(jìn)行比較,若更好,則將該粒子的個體極值更新為當(dāng)前的群體極值;若輸出誤差滿足設(shè)計(jì)要求,則終止訓(xùn)練并輸出結(jié)果;否則返回重新計(jì)算粒子適應(yīng)值,直到誤差平方和減小到某一目標(biāo)誤差,即認(rèn)為此算法是收斂的。
經(jīng)反復(fù)試驗(yàn)比較,確定模型為4輸入1輸出,隱層節(jié)點(diǎn)數(shù)為5,即網(wǎng)絡(luò)模型采用4×5×1結(jié)構(gòu)。粒子群算法的各參數(shù)選取分別為:c1=1.5,c2=0.2,wmax=0.9,wmin=0.4,vmax=8,vmin=-10,Xmax=10,Kmax=500。利用建模樣本對網(wǎng)絡(luò)訓(xùn)練500代,誤差達(dá)到0.0091745,訓(xùn)練過程的誤差曲線(如圖2所示)。
圖2 訓(xùn)練誤差曲線
3.模型預(yù)測值融合。將趨勢序列與波動序列模型的預(yù)測值整合起來,得到樣本序列預(yù)測值(如圖3所示)。
4.建立ARIMA、BPNN模型。樣本數(shù)據(jù)直接建模進(jìn)行預(yù)測。先進(jìn)行單位根檢驗(yàn),結(jié)果表明樣本序列的一階差分序列為穩(wěn)定序列;對一階差分序列建立ARMA,運(yùn)用Eviews軟件,經(jīng)過多次試設(shè),遵循SC、AIC最小原則確定參數(shù),建立如下模型ARMA(2,2),并進(jìn)行預(yù)測。模型表達(dá)式如下:
依然采用試錯法確定樣本序列的網(wǎng)絡(luò)輸入節(jié)點(diǎn)數(shù)和隱層節(jié)點(diǎn)數(shù),建立BPNN并進(jìn)行預(yù)測,預(yù)測值(如圖3所示)。
圖3 各模型預(yù)測值
5.方差分析。為了更加全面地描述不同模型對匯率的預(yù)測效果,本文采用4個常用的預(yù)測誤差指標(biāo)來衡量模型預(yù)測效果,各模型誤差指標(biāo)(如下表所示)。
由上表可知,ARMA+BPNN模型向前短期3個月預(yù)測值的各項(xiàng)誤差指標(biāo)值都是最小的,比ARIMA模型的指標(biāo)值縮小了近6倍,比BPNN模型縮小近20倍;向前6個月預(yù)測值的誤差指標(biāo)與ARIMA的相近,比BPNN模型的指標(biāo)縮小近3倍;但向前9個月的預(yù)測值誤差指標(biāo)比ARIMA模型擴(kuò)大了近2倍,比BPNN模型的指標(biāo)縮小了近2倍,以上分析說明序列經(jīng)HP濾波處理后的ARMA+BPNN模型在短期預(yù)測精準(zhǔn)度得到很大提高。
模型的預(yù)測誤差指標(biāo)比較
從模型理論上分析,ARIMA模型沒有考慮到外界相關(guān)因素的影響,導(dǎo)致短期預(yù)測效果相對低;而BPNN需要估計(jì)的參數(shù)較多,導(dǎo)致所得到的模型容易產(chǎn)生過擬合,泛化能力不夠,而使其預(yù)測精度不高,在短期匯率預(yù)測應(yīng)用中受到了限制;HP濾波分解出趨勢項(xiàng)和波動項(xiàng),既考慮了外界經(jīng)濟(jì)長期趨勢的影響,也考慮到匯率自身因素,融合了單一模型的長處,更深刻地挖掘匯率序列背后復(fù)雜的線性與非線性特征,極大地改善了模型的預(yù)測性能。
ARMA善于捕捉數(shù)據(jù)中的線性特征,而BPNN則擅長挖掘數(shù)據(jù)背后的非線性關(guān)系。融合ARMA-BPNN模型對匯率序列的預(yù)測效果都要好于其他單一的模型,這也說明人民幣匯率序列不僅具有線性結(jié)構(gòu)特征,也具有非線性特征關(guān)系;而融合模型相比單一模型,更能捕捉到人民幣匯率的這種復(fù)雜的混合特征,極大地提高了模型的預(yù)測性能。同時,也表明我國人民幣匯率市場并不是一個有效市場,對匯率的預(yù)測是有必要的,也是可能的。