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