(成都理工大學(xué)管理科學(xué)學(xué)院,四川 成都 610059)
在國內(nèi)商品期貨交易市場中,農(nóng)產(chǎn)品期貨價(jià)格的形成機(jī)制對資產(chǎn)的供需平衡具有重要的意義。準(zhǔn)確預(yù)測未來農(nóng)產(chǎn)品價(jià)格走勢,將為農(nóng)產(chǎn)品期貨市場上的各交易者提供有效的建議。本文提出了一種基于EMD 與LSTM 的預(yù)測農(nóng)產(chǎn)品價(jià)格的混合模型。首先利用EMD 提取出價(jià)格序列中的周期分量與趨勢分量,然后使用LSTM分別對周期分量與趨勢分量進(jìn)行訓(xùn)練并得出各分量的預(yù)測結(jié)果,通過SVR 疊加各預(yù)測結(jié)果,從而生成最終的預(yù)測價(jià)格。最后,以大連期貨交易所中玉米C2009 合約價(jià)格數(shù)據(jù)為算例,驗(yàn)證了本文提出的混合模型能夠較好地預(yù)測價(jià)格變化。
經(jīng)驗(yàn)?zāi)J椒纸猓‥MD),它將一個(gè)復(fù)雜的時(shí)間序列數(shù)據(jù)拆分為若干個(gè)本征模態(tài)函數(shù)(IMF)和一個(gè)殘余項(xiàng)res,能夠針對非線性、非平穩(wěn)的時(shí)間序列完全自適應(yīng)時(shí)頻分析,近年來已經(jīng)在很多重要的數(shù)據(jù)挖掘領(lǐng)域成功應(yīng)用。本征模態(tài)函數(shù)(IMF)具有以下特征:①在任意時(shí)刻,其上下包絡(luò)線的均值都為零;②分量序列在相鄰的零點(diǎn)之間有且只有一個(gè)極值。因此原始的價(jià)格時(shí)間序列可以被分解為。其中,n為本征模態(tài)函數(shù)的個(gè)數(shù);rn是殘余項(xiàng);hi(t)為本征模態(tài)函數(shù)。
長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),它對RNN 模型中單一的激活層記憶單元進(jìn)行了優(yōu)化,從而解決因?yàn)闀r(shí)序數(shù)據(jù)連續(xù)輸入導(dǎo)致的梯度消失或梯度爆炸的缺點(diǎn),使得該神經(jīng)網(wǎng)絡(luò)模型具有長期保存有效的歷史信息的能力。通過門限結(jié)構(gòu)和記憶單元狀態(tài)的設(shè)計(jì),使得LSTM 可以讓時(shí)間序列中的關(guān)鍵信息進(jìn)行有效的更新和傳遞。其結(jié)構(gòu)由一個(gè)記憶單元和三個(gè)控制門組成,分別是忘記門、輸入門和輸出門,從而實(shí)現(xiàn)了長期記憶的功能。
LSTM 模塊當(dāng)前輸入狀態(tài)為t,其存儲單元由四個(gè)“門”實(shí)現(xiàn),分別是:
1.遺忘門:讀取上一層的輸出ht1-和當(dāng)前輸入tx,輸出ft并賦值到當(dāng)前的細(xì)胞狀態(tài)Ct1-中;
2.輸入門:記憶現(xiàn)在的信息it和一部分忘記門輸出的信息;
3.更新門:將過去的狀態(tài)Ct1-和當(dāng)前的記憶進(jìn)行合并,輸出當(dāng)前狀態(tài)Ct;
4.輸出門:選擇一部分細(xì)胞狀態(tài)最終輸出th。
支持向量機(jī)(SVM)算法是由前蘇聯(lián)學(xué)者Vapinik 于1963 年提出,其核心思想是確定一個(gè)最優(yōu)超平面,使得樣本到超平面的歐式距離最大。使用核函數(shù)可以將輸入空間映射到高維空間,從而解決高維計(jì)算中對算力要求過高的問題。通常使用的核函數(shù)為徑向基核函數(shù)(RBF),定義式為:
其中,x為輸入空間中任一點(diǎn),為某一中心,σ為函數(shù)的寬度參數(shù)。一般取。SVR 能夠快速收斂到全局最優(yōu)解,已經(jīng)在金融資產(chǎn)價(jià)格預(yù)測領(lǐng)域得到了廣泛應(yīng)用,例如文獻(xiàn)[2]已使用SVR 和ARMA 進(jìn)行股價(jià)預(yù)測。
本文模擬的是對玉米期貨價(jià)格預(yù)測的場景,當(dāng)日及歷史玉米價(jià)格數(shù)據(jù)均已獲取,即使用滑動窗口的時(shí)間序列來進(jìn)行多步長序列預(yù)測。用以訓(xùn)練的玉米期貨價(jià)格數(shù)據(jù)可以通過EMD 方法分解為若干個(gè)IMF 和一個(gè)殘余項(xiàng)res 的,然后對所有子序列分別訓(xùn)練LSTM 模型,再將各LSTM 的輸出值傳入到SVR,形成最終的預(yù)測結(jié)果。為了保證結(jié)論穩(wěn)健性,本文采用三種誤差評估指標(biāo),分別是絕對誤差(MAE)、平均絕對百分比誤差(MAPE)、均方根誤差(RMSE)。
本文使用大連商品交易所中2019 年9 月17 日至2020 年7 月31 日的C2009 玉米合約為實(shí)證對象,共包含211 個(gè)交易日的收盤價(jià)數(shù)據(jù)。模型輸入為預(yù)測日前14 天的玉米期貨收盤價(jià)序列,輸出為未來一日的收盤價(jià),并選擇最后46 個(gè)交易日的收盤價(jià)格作為測試集。模型預(yù)測分析在Python3.6 環(huán)境下實(shí)現(xiàn)。選擇IMF 的前5 個(gè)序列可以較好地描述X的周期性趨勢,因此,本次實(shí)證過程中后續(xù)的模型的輸入IMF 都設(shè)為5 項(xiàng)。
在LSTM 的構(gòu)建中,本次是實(shí)證過程設(shè)置3 個(gè)隱藏層和1個(gè)輸出層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),隱藏層神經(jīng)元個(gè)數(shù)為20,采用均方誤差MSE 作為損失函數(shù),設(shè)置優(yōu)化算法為Adam。在測試集數(shù)據(jù)上驗(yàn)證MAE、MAPE 與RMSE 得到IM5F的值分別是0.26、0.61 和0.89,證明了模型精度良好。
將神經(jīng)網(wǎng)絡(luò)模型對各子序列的預(yù)測結(jié)果作為SVR 模型的輸入,核函數(shù)選擇RBF,徑向基寬度參數(shù)γ使用網(wǎng)格搜索方法在(0.1,1,10,100)中尋找最優(yōu)參數(shù),懲罰系數(shù)設(shè)置為C=1。圖2 為玉米期貨收盤價(jià)的測試集預(yù)測結(jié)果,與真實(shí)價(jià)格對比可見,本模型預(yù)測的玉米價(jià)格能夠準(zhǔn)確反映當(dāng)日價(jià)格的變動方向以及幅度,與真實(shí)值擬合較好。
本文提出一種基于混合神經(jīng)網(wǎng)絡(luò)模型預(yù)測米期貨價(jià)格的方法,首先利用EMD 分解訓(xùn)練序列,然后將子序列分別輸入LSTM 神經(jīng)網(wǎng)絡(luò),最后將LSTM 的分量預(yù)測結(jié)果輸入到SVR 中,得到最終的預(yù)測結(jié)果。為了驗(yàn)證該模型在預(yù)測精度方面的表現(xiàn),本文還使用大連期貨交易所中C2009 玉米期貨合約的日收盤價(jià)數(shù)據(jù)作為算例,實(shí)證結(jié)論指出,該模型能夠有效地預(yù)測價(jià)格變化。但本模型無法進(jìn)一步控制預(yù)測偏差,意味著無法幫助投資者完全規(guī)避爆倉風(fēng)險(xiǎn),在未來的研究中可以考慮納入氣候數(shù)據(jù)、進(jìn)出口額度或者同類期貨合約價(jià)格作為輸入變量來對未來玉米價(jià)格走勢進(jìn)行綜合預(yù)測。