馬保忠 陳傳明
摘 要:隨著黃金市場(chǎng)和黃金期貨市場(chǎng)的不斷擴(kuò)大,人們對(duì)市場(chǎng)中的價(jià)格波動(dòng)研究越來(lái)越多,很多研究者采用簡(jiǎn)單的時(shí)間序列模型對(duì)黃金期貨的價(jià)格進(jìn)行研究與預(yù)測(cè),雖然可以獲得一定的結(jié)論,但是模型中仍然有不足之處,本文利用BP神經(jīng)網(wǎng)絡(luò)模型在對(duì)時(shí)間序列模型的修正角度來(lái)對(duì)黃金期貨價(jià)格進(jìn)行研究和預(yù)測(cè)。
關(guān)鍵詞:黃金期貨價(jià)格;時(shí)間序列模型;BP神經(jīng)網(wǎng)絡(luò)模型
一、數(shù)據(jù)的處理
數(shù)據(jù)的歸一化處理,在進(jìn)行網(wǎng)絡(luò)之前,數(shù)據(jù)的處理是非常的關(guān)鍵的,因?yàn)樗苯佑绊懼W(wǎng)絡(luò)的學(xué)習(xí)速度、預(yù)測(cè)精度。數(shù)據(jù)的歸一化指的是將樣本的數(shù)據(jù)限定在[0,1]或是[-1,1]之間,具體的作用是:其一是歸納和統(tǒng)一樣本數(shù)據(jù)的統(tǒng)計(jì)分布性;其二是加快訓(xùn)練的收斂性,提高網(wǎng)絡(luò)的泛化的能力,所有樣本的輸入信號(hào)其均值接近于0或與其均方差相比很小。
運(yùn)用MATLAB中,有以下三種方法可以實(shí)現(xiàn)數(shù)據(jù)的歸一化:(1)線性函數(shù)轉(zhuǎn)換,表達(dá)式如下: Y=(X-minX)/(maxX-minX)(歸一到0 1 之間);Y=0.1+(X-minX)/(maxX-minX)*(0.9-0.1)(歸一到0.1-0.9之間)。說(shuō)明:其中X,
Y分別為轉(zhuǎn)換前和后的值,分別為樣本數(shù)據(jù)的最小值和最大值。(2)Prestd、Poststd、Trastdprestd歸一到單位方差和零均值。(3)premnmx、postmnmx函數(shù)的功能主要是將網(wǎng)絡(luò)的輸入數(shù)據(jù)或輸出數(shù)據(jù)進(jìn)行歸一化,歸一化后的樣本數(shù)據(jù)將分布在[-1,
1]區(qū)間內(nèi)。本文選用了第三種方法,首先要將數(shù)據(jù)歸一化處理,
premnmx對(duì)數(shù)據(jù)進(jìn)行的歸一化處理算法為:
Yn=2(Xn minX)/(maxX-minX)-1
其中在上式中,Xn為原始樣本數(shù)據(jù)系列,Yn為歸一化處理過(guò)的樣本數(shù)據(jù)系列,maxX,minX分別為樣本數(shù)據(jù)的最小值和最大值。
我們把處理過(guò)的樣本數(shù)據(jù) Yn作為輸入的樣本數(shù)據(jù),建立了
BP模型,產(chǎn)生的輸出樣本數(shù)據(jù)Tn同樣也是經(jīng)過(guò)歸一化的數(shù)據(jù),所以需要對(duì)輸出的樣本數(shù)據(jù)Tn出行反歸一化處理,而反歸一化處理的函數(shù)為postmnmx函數(shù),具體的算法是:
T=0.5(Tn 1)(maxX minX)+minX
其中T即為反歸一化的輸出樣本數(shù)據(jù)了。
二、建立BP網(wǎng)絡(luò)模型
利用MATLAB工具箱,建立BP網(wǎng)絡(luò),本文研究的是國(guó)內(nèi)黃金期貨價(jià)格的預(yù)測(cè),所以我們分析的是從黃金期貨開(kāi)始在上海期貨交易所掛牌上市以來(lái)的歷史數(shù)據(jù)預(yù)測(cè),運(yùn)用歷史的5其數(shù)據(jù)來(lái)預(yù)測(cè)下一期的數(shù)據(jù),把M1為2008年1月的黃金期貨月末結(jié)算價(jià),以此類(lèi)推M62為2013年2月的數(shù)據(jù)。
設(shè)置網(wǎng)絡(luò)類(lèi)型為向前反饋傳播,訓(xùn)練函數(shù)為trainlm,學(xué)歷的函數(shù)為learngdm,性能的函數(shù)為mse,網(wǎng)絡(luò)的層數(shù)為3層,隱藏層傳遞的函數(shù)式tansig函數(shù),神經(jīng)元的個(gè)數(shù)在3至8個(gè),輸出的傳遞的函數(shù)是purelin,神經(jīng)元的個(gè)數(shù)是1。
依照隱藏層神經(jīng)元個(gè)數(shù)的不同,在選取了網(wǎng)絡(luò)模型的算法后,在其他條件不變的前提下,隨著隱藏神經(jīng)元的個(gè)數(shù)的增加,得到的網(wǎng)絡(luò)的均方誤差也就越來(lái)越小,訓(xùn)練的步數(shù)也就增加。所以從理論上來(lái)講,只要含有足夠的隱藏層神經(jīng)元個(gè)數(shù)的網(wǎng)絡(luò)是能夠無(wú)限的逼近樣本,但是當(dāng)隱藏層神經(jīng)元個(gè)數(shù)的增加,訓(xùn)練步數(shù)也會(huì)增加,導(dǎo)致網(wǎng)絡(luò)結(jié)構(gòu)變得復(fù)雜化,所以本文選取了神經(jīng)元的個(gè)數(shù)是5,此時(shí)的網(wǎng)絡(luò)的均方誤差為0.025203,此時(shí)的誤差已經(jīng)很小了得到的結(jié)果也會(huì)很精確了,訓(xùn)練步數(shù)為17,相對(duì)來(lái)說(shuō)也不是很大,所以本章選擇Net 3網(wǎng)絡(luò)。
三、BP網(wǎng)絡(luò)模型對(duì)樣本數(shù)據(jù)進(jìn)行預(yù)測(cè)
從預(yù)測(cè)的結(jié)果來(lái)分析,可以得出以下結(jié)論:網(wǎng)絡(luò)對(duì)樣本數(shù)據(jù)進(jìn)行的預(yù)測(cè)已經(jīng)解決了時(shí)間系列模型中的預(yù)測(cè)滯后性的特點(diǎn)了,說(shuō)明網(wǎng)絡(luò)模型對(duì)函數(shù)的逼近的能力較強(qiáng),但是樣本外的預(yù)測(cè)結(jié)果誤差大于樣本內(nèi),說(shuō)明泛化能力就較弱,但是預(yù)測(cè)的數(shù)據(jù)還是較好。所以選擇再對(duì)數(shù)據(jù)進(jìn)行分析,選擇組合的形式對(duì)數(shù)據(jù)分析。
四、組合模型
組合模型主要有兩種:一種是對(duì)預(yù)測(cè)模型進(jìn)行組合,另一種是對(duì)預(yù)測(cè)的結(jié)果進(jìn)行組合。本章主要是運(yùn)用第二種方法進(jìn)行組合。把時(shí)間系列預(yù)測(cè)的數(shù)據(jù)運(yùn)用神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行預(yù)測(cè)。具體的步驟為:(1) 基于2008年1月至2012年4月的國(guó)內(nèi)黃金期貨價(jià)格系列建立AR(1)模型;利用AR(1)模型預(yù)測(cè)出2008年
2月到2012年4月的51個(gè)預(yù)測(cè)值;(2)運(yùn)用BP模型選擇AR(1)模型預(yù)測(cè)出來(lái)的51個(gè)預(yù)測(cè)值進(jìn)行預(yù)測(cè),選擇出適合的網(wǎng)絡(luò);(3)再利用AR(1)模型預(yù)測(cè)出2012年5月到2013年2月的10個(gè)預(yù)測(cè)值,再運(yùn)用BP模型對(duì)預(yù)測(cè)出來(lái)的值進(jìn)行再預(yù)測(cè),得到最終的10個(gè)預(yù)測(cè)值。
從預(yù)測(cè)的結(jié)果分析:時(shí)間系列模型的預(yù)測(cè)結(jié)果中誤差較大,在10%以?xún)?nèi),而運(yùn)用BP網(wǎng)絡(luò)模型的預(yù)測(cè)結(jié)果較好,誤差在
10%之間,而運(yùn)用ARIMA模型預(yù)測(cè)的結(jié)果再用BP網(wǎng)絡(luò)對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè)所得到的預(yù)測(cè)結(jié)果最好誤差在5%左右。
參考文獻(xiàn):
[1] 特倫斯.C.米爾斯著,俞卓菁譯.金融時(shí)間系列的經(jīng)濟(jì)計(jì)量模型.北京:經(jīng)濟(jì)科學(xué)出版社,2002.
[2] 胡乃聯(lián),宋鑫.自適應(yīng)過(guò)濾模型在黃金價(jià)格預(yù)測(cè)中應(yīng)用[J],黃金,1999(5).