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