徐緣圓
(中南財經(jīng)政法大學(xué),湖北 武漢 430079)
所謂匯率(又稱外匯利率,外匯匯率或外匯行市),是指兩種貨幣之間的對換的比率,同時也可視為一個國家的貨幣對另一種貨幣的價值。匯率與一國進出口、物價、資本流出入都有著密不可分的關(guān)系,會因為利率、通貨膨脹、國家的政治和每個國家的經(jīng)濟等原因而變動。根據(jù)國際貨幣制度的演變,匯率可以劃分為固定利率和浮動利率。在Bretton Woods system 崩潰后,世界上匯率制度漸漸變成以浮動匯率制度為主,匯率變動更是顯現(xiàn)出動態(tài)化和復(fù)雜化的特征。特別是在全球經(jīng)濟一體化的背景下,各國之間的聯(lián)系日益密切,相互之間的依賴性也越來越強,匯率,自然地成為各國之間經(jīng)濟往來的橋梁。然而,各國的外匯管理和貨幣政策的實施效果受到了匯率的變化的嚴(yán)重干擾。在此背景下,探尋人民幣兌美元匯率的變化特征以及其內(nèi)在的運行規(guī)律,對匯率進行準(zhǔn)確的預(yù)測就有了諸多現(xiàn)實意義。
對匯率預(yù)測方法的研究主要有技術(shù)分析和基本分析。以基本分析方法為基礎(chǔ)的匯率預(yù)測應(yīng)用非常之廣,其中包括很多很經(jīng)典的方法理論,比如,以購買力平價理論、利率平價理論、資產(chǎn)市場組合模型為代表的傳統(tǒng)的匯率理論及模型,以基于新開放宏觀經(jīng)濟學(xué)的匯率理論、混沌分析理論、基于檢驗外匯市場有效性的匯率理論等為代表的新近發(fā)展起來的匯率理論。技術(shù)分析經(jīng)歷了參數(shù)到非參數(shù),線性到非線性的發(fā)展過程,其中,參數(shù)方法主要包括隨機游走模型、自回歸移動平均模型、自回歸條件異方差模型、自我激勵閥值自回歸模型、指數(shù)平滑過渡自回歸模型等。非參數(shù)方法主要包括小波分析、遺傳算法、人工神經(jīng)網(wǎng)絡(luò)等。
近年來,非參數(shù)方法中的神經(jīng)網(wǎng)絡(luò)技術(shù)的出現(xiàn),極大地提高了匯率預(yù)測中的樣本擬合度。其中,按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò)——BP 神經(jīng)網(wǎng)絡(luò),更加能夠直接生動地反映系統(tǒng)的動態(tài)特性,因此它更適合對具有非線性的、動態(tài)的特征的匯率系統(tǒng)進行預(yù)測。
理論上,一個三層的神經(jīng)網(wǎng)絡(luò)就能夠以任意的精度逼近連續(xù)函數(shù),也就能滿足實證建模的需要。盡管歐元等其他主要貨幣的比重也在逐漸上升,但是中國的儲備貨幣目前仍然是以美元為主,因此,若是能夠?qū)θ嗣駧艃睹涝獏R率進行準(zhǔn)確地預(yù)測,貨幣當(dāng)局就能更好的把握人民幣和主要儲備貨幣之間復(fù)雜的變動關(guān)系,進而靈活地、有針對性地對儲備貨幣的結(jié)構(gòu)進行調(diào)整,從而做好外匯風(fēng)險的防范工作。在本文中,將采用單步預(yù)測法對人民幣兌美元中間價進行預(yù)測,這不僅有助于我國匯率政策、利率政策等的制定和調(diào)整,也有助于企業(yè)進行科學(xué)的國際貿(mào)易決策。
本文實證研究將選擇2010 年01 月04 日起至2012 年10 月25 日為止央行公布的每日人民幣兌美元匯率中間價,一共680 個數(shù)據(jù)為樣本,進行實證研究 (所有數(shù)據(jù)均來源于中國人民銀行網(wǎng)站:http://www.pbc.gov.cn/)。 之所以取2010 年至2012 年近700 個數(shù)據(jù),原因如下:
一方面,人民幣兌美元匯率是一組時間序列數(shù)據(jù),對于它的預(yù)測工作,當(dāng)然是時間上越近的數(shù)據(jù)越有代表性,預(yù)測結(jié)果更有說服力;
另一方面,Kang 在利用神經(jīng)網(wǎng)絡(luò)對時間序列進行預(yù)測的研究中就指出了,要想模型有較好的預(yù)測能力并不一定必須要具備很大的數(shù)據(jù)樣本。再后來,Walczak 以不同規(guī)模的數(shù)據(jù)樣本,利用神經(jīng)網(wǎng)絡(luò)模型對匯率序列進行預(yù)測后,通過比較結(jié)果,得出在多數(shù)情況下兩年的數(shù)據(jù)樣本就足以使神經(jīng)網(wǎng)絡(luò)模型產(chǎn)生合適的預(yù)測精度這一結(jié)論。
把前679 天的數(shù)據(jù)按順序輸入,作為網(wǎng)絡(luò)的一個輸入數(shù)據(jù)(即把樣本數(shù)據(jù)從第1 個取到第679 個,作為p),然后將后面的679個數(shù)據(jù)輸入,作為網(wǎng)絡(luò)輸出即目標(biāo)數(shù)據(jù)(即從第2 個取到第680 個,作為t),按這個方式進行滾動式的排列,就形成了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本。
理論上,一個三層的神經(jīng)網(wǎng)絡(luò)就能夠以任意的精度逼近連續(xù)函數(shù)。由于其具有操作性強、計算量小等優(yōu)點,目前仍是多層式網(wǎng)絡(luò)訓(xùn)練的首選網(wǎng)絡(luò)結(jié)構(gòu)之一,并且已經(jīng)被人們推廣應(yīng)用于各種各樣實際問題的解決中。因此,我將在本論文中采用三層網(wǎng)絡(luò)建立模型進行匯率預(yù)測。
輸入層和輸出層的節(jié)點數(shù)主要由輸入變量決定,這些將直接影響網(wǎng)絡(luò)的學(xué)習(xí)效果和泛化能力。對時間序列預(yù)測問題,輸入層節(jié)點數(shù)等于所開窗口大小,在本例中輸入層節(jié)點數(shù)即為679,加之本文只限于一維時間序列,所以預(yù)測值只需要用一個輸出層節(jié)點來表示,本例中輸出層節(jié)點數(shù)為1。隱藏神經(jīng)元主要應(yīng)用于學(xué)習(xí)數(shù)據(jù)的內(nèi)部規(guī)律,試湊法是確定最佳隱藏層節(jié)點數(shù)的一個常用方法,即先用較少的隱層節(jié)點數(shù)進行訓(xùn)練,然后逐漸增加隱藏層節(jié)點數(shù),用同一樣本集進行訓(xùn)練,從上述訓(xùn)練結(jié)果中選出網(wǎng)絡(luò)誤差最小的一組確定為隱藏層節(jié)點數(shù)。在用試湊法的時候,也可以用一些經(jīng)驗公式來確定隱藏層節(jié)點數(shù)。用這些公式計算出來的隱層節(jié)點數(shù)的粗略估計值,可以作為確定隱層神經(jīng)元數(shù)目初始值的大致參考。
即隱藏層節(jié)點數(shù)為28—37 中的一個整數(shù)。
在MATLAB 中進行訓(xùn)練,得到訓(xùn)練結(jié)果如下,見表1:
表1 訓(xùn)練結(jié)果
網(wǎng)絡(luò)誤差最小所對應(yīng)的隱層神經(jīng)元個數(shù)為28,因此,本例中b即為28。
建立一個新的前向神經(jīng)網(wǎng)絡(luò),%設(shè)置網(wǎng)絡(luò)隱單元的神經(jīng)元數(shù)、輸出層節(jié)點數(shù)及訓(xùn)練函數(shù)net=newff(minmax(p),[28,1],{‘tansig’,’purelin’},’traingdm’);% 當(dāng) 前 輸 入層 權(quán) 值 和 閾 值inputWeights=net.IW{1,1},inputbias=net.b{1};%當(dāng)前網(wǎng)絡(luò)層權(quán)值和閾值layerWeights=net.LW{2,1},layerbias=net.b{2};%設(shè)置訓(xùn)練參數(shù)net.trainParam.show=50,%每50 步顯示一次誤差,net.trainParam.lr=0.05,%訓(xùn)練步長,net.trainParam.mc=0.9,%Sigmoid 參 數(shù)0.9,net.trainParam.epochs=10000,% 最大訓(xùn)練次數(shù),net.trainParam.goal=1e-3,%設(shè)定的期望誤差,一般為0.001;%調(diào)用TRAINSCG 算法訓(xùn)練BP 網(wǎng)絡(luò)[net,tr]=train(net,p,t); % 對BP 網(wǎng)絡(luò) 進行仿真p_TEST=6.3047,A=sim(net,p_TEST);% 計算 仿 真 誤 差E=t -A,MSE=mse(E)。
按上述過程在MATLAB 中進行操作后,得到誤差趨勢圖如圖1 所示:
圖1 BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差趨勢圖
當(dāng)前輸入層權(quán)值和閾值、當(dāng)前網(wǎng)絡(luò)層權(quán)值和閾值部分結(jié)果(因版面問題未能全部列示)如表2 所示:
表2 輸入層權(quán)值和閾值、當(dāng)前網(wǎng)絡(luò)層權(quán)值和閾值部分結(jié)果
預(yù)測值A(chǔ) 為6.3251,MSE=0.00099823.
2012 年10 月26 日人民幣兌美元匯率中間價為6.3010,與預(yù)測值相差0.0241,誤差率為0.38%,明顯地,預(yù)測值與實際值相差并不是很大,說明用MATLAB 進行BP 神經(jīng)網(wǎng)絡(luò)預(yù)測模型進行匯率預(yù)測效果不錯,具有可行性。
經(jīng)過上述的探索操作,我們根據(jù)2010 年01 月04 日起至2012 年10 月25 日為止中國人民銀行公布的每日人民幣兌美元匯率中間價,共680 個數(shù)據(jù)樣本預(yù)測出了下一日的匯率中間價,預(yù)測過程合理規(guī)范,并最終達到了實證目的。進一步地,還可以通過滾動預(yù)測法預(yù)測以后更多的匯率,操作思想同上,不再贅述。
盡管BP 神經(jīng)網(wǎng)絡(luò)對匯率預(yù)測效果不錯,但還是存在一些不足之處。神經(jīng)網(wǎng)絡(luò)模型只利用了匯率的歷史數(shù)據(jù)來進行預(yù)測,并沒有考慮影響匯率變動的經(jīng)濟、政治等因素,也沒有將其量化入模型中,故只能在外部環(huán)境較為穩(wěn)定的前提下進行短期預(yù)測。此外,BP 神經(jīng)網(wǎng)絡(luò)本身也在算法上存在一些缺陷,比如它的收斂速度較慢慢、容易導(dǎo)致局部最小、訓(xùn)練結(jié)果不穩(wěn)定等。
[1]丁輝,基于神經(jīng)網(wǎng)絡(luò)模型的人民幣匯率預(yù)測研究,2008.
[2]王莎.BP 神經(jīng)網(wǎng)絡(luò)在股票預(yù)測中的應(yīng)用研究,2008.4.
[3]趙振勇.基于遺傳BP 神經(jīng)網(wǎng)絡(luò)的股市預(yù)測,2007.5.
[4]孟生旺.神經(jīng)網(wǎng)絡(luò)模型與車險索賠頻率預(yù)測.統(tǒng)計研究,2012(03):22-26.
[5] http://www.pbc.gov.cn/中國人民銀行