佟 磊,張 媛,吉宇豪,吳思青
(1.東北大學(xué) 工商管理學(xué)院,遼寧 沈陽(yáng) 110819;2.首都經(jīng)濟(jì)貿(mào)易大學(xué) 財(cái)政稅務(wù)學(xué)院,北京 100070)
在現(xiàn)有針對(duì)時(shí)間序列的預(yù)測(cè)模型的研究中,牛紅麗等[1]提出用GRU模型預(yù)測(cè)股票價(jià)格指數(shù);朱俊蓉等[2]根據(jù)ARIMAX模型,基于人民幣匯率的時(shí)間序列進(jìn)行預(yù)測(cè);黃玉成等采用LSTM模型,基于以往股票價(jià)格這一時(shí)間序列進(jìn)行預(yù)測(cè)。基于以上研究?jī)?nèi)容,結(jié)合學(xué)者的研究和現(xiàn)實(shí)情況,將預(yù)測(cè)模型相互比較,提出一種基于EMD-LSTM預(yù)測(cè)模型與夏普比率風(fēng)險(xiǎn)回溯的交易策略。
文章主要考慮交易者同時(shí)持倉(cāng)黃金和比特幣兩種交易物時(shí)的情況,數(shù)據(jù)分別取自2016年9月11日至2021年9月10日黃金與比特幣市場(chǎng)五年交易期內(nèi)各交易日的交易物收盤價(jià),即一盎司黃金的美元收盤價(jià)與指定日期單個(gè)比特幣的美元價(jià)格。
(1)只進(jìn)行做多操作,不考慮做空的情況;
(2)在每日臨近收盤時(shí)執(zhí)行交易;
(3)認(rèn)為數(shù)據(jù)中的每日價(jià)格均為收盤價(jià)格。
為了能滾動(dòng)地訓(xùn)練、測(cè)試、預(yù)測(cè)基于價(jià)格的時(shí)間序列,設(shè)置一個(gè)數(shù)據(jù)滾動(dòng)窗口,將時(shí)間序列預(yù)測(cè)問(wèn)題轉(zhuǎn)化為經(jīng)典的監(jiān)督學(xué)習(xí)問(wèn)題。令滯后特征為7(lag_days = 7),即在訓(xùn)練集中,每日使用前7日的數(shù)據(jù)進(jìn)行訓(xùn)練得到訓(xùn)練集的標(biāo)簽,在測(cè)試集中,每日使用前7日的數(shù)據(jù)進(jìn)行訓(xùn)練得到最新的預(yù)測(cè)數(shù)據(jù),往復(fù)進(jìn)行,動(dòng)態(tài)地不斷生成固定數(shù)量的訓(xùn)練集和測(cè)試集。
經(jīng)驗(yàn)?zāi)B(tài)分解(EMD)是由Huang等[3]提出的自適應(yīng)信號(hào)時(shí)頻處理方法。EMD從非線性、非平穩(wěn)的對(duì)數(shù)收益率時(shí)間序列中根據(jù)數(shù)據(jù)本身基于時(shí)間尺度的信號(hào)進(jìn)行分解,分解出有限個(gè)組內(nèi)稟模態(tài)函數(shù)(IMF),分解步驟如下:
(1) 找出時(shí)間序列中所有的極大值和極小值;
(2) 用三次樣條插值函數(shù)將所有極值點(diǎn)擬合到上包絡(luò)U(t)和下包絡(luò)L(t)上;
(3) 計(jì)算上下包絡(luò)線的局部平均值m(t):
(4) 從S(t)中減去m(t),得到新的時(shí)間序列h(t)。
h(t)=x(t)-m(t)
(5) 用h(t)作為新的輸入序列重復(fù)步驟 (1)~(4) ,直到h(t)的平均值接近零,此時(shí)得到第一個(gè)模態(tài)函數(shù)IMF,記為Ci(t) (i=1,2,3,…,N)。
(6) 將Ci(t)從原始序列S(t)中分離出來(lái),得到一個(gè)沒(méi)有高頻分量的差分序列:
(7) 以ri(t)作為新的輸入序列重復(fù)步驟(1)~(6),直到滿足終止條件(通常使得最后的余數(shù)滿足單調(diào)性)。
通過(guò)上文中得到的記錄為Ci(t)的諸多IMF,可將S(t)分解結(jié)果表示為:
在本模型中,黃金和比特幣的交易市場(chǎng)與金融市場(chǎng)類似,其價(jià)格變動(dòng)是一個(gè)非線性、非平穩(wěn)的復(fù)雜動(dòng)態(tài)系統(tǒng)。在將金融時(shí)間序列輸入深度學(xué)習(xí)框架之前,筆者需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。首先處理原始對(duì)數(shù)收益率的時(shí)間序列S(t)。
計(jì)算某一日的對(duì)數(shù)收益率r,將對(duì)數(shù)收益率作為自變量輸入到EMD中:
ri=ln(pi)-ln(pi-1)
使用Python編寫EMD程序,可得到比特幣和黃金的數(shù)個(gè)模態(tài)函數(shù)IMF。見(jiàn)圖1。

圖1 EMD處理黃金數(shù)據(jù)結(jié)果
LSTM是深度遞歸神經(jīng)網(wǎng)絡(luò)的代表,尤其擅長(zhǎng)處理序列數(shù)據(jù)。其引入了門控制單元系統(tǒng),使用不同的“門”來(lái)讓網(wǎng)絡(luò)學(xué)習(xí)。
LSTM的門結(jié)構(gòu):
其中,激活函數(shù)σ是在0和1之間具有值的Sigmoid函數(shù),bf、Uf、Wf分別是偏差、輸入權(quán)重和遺忘門的遞歸權(quán)重。

其中,b、U、W表示偏差、輸入權(quán)重和LSTM單元中遞歸權(quán)重。
其中,激活函數(shù)σ是sigmoid函數(shù),x(t)是當(dāng)前的輸入向量,h(t)是當(dāng)前的隱含層向量,bg、Ug、Wg分別表示輸入門偏差、輸入權(quán)重和遞歸權(quán)重。
其中,b0、U0、W0分別表示偏置、輸入權(quán)重和輸出門遞歸權(quán)重。
得益于三個(gè)控制門和存儲(chǔ)單元,LSTM能容易地保持、讀取、復(fù)位和更新長(zhǎng)時(shí)間信息。另外,由于LSTM內(nèi)部參數(shù)的共享機(jī)制,可以通過(guò)設(shè)置權(quán)重矩陣的維度來(lái)控制輸出的維度。LSTM 在輸入和反饋之間建立了一個(gè)長(zhǎng)時(shí)間的延遲。梯度既不會(huì)爆炸也不會(huì)消失,因?yàn)榇鎯?chǔ)單元的內(nèi)部狀態(tài)保持著連續(xù)的誤差流[4]。
EMD處理時(shí)間序列后,用Python編寫LSTM程序以滯后特征=7的數(shù)據(jù)滾動(dòng)窗口動(dòng)態(tài)往復(fù)地訓(xùn)練和預(yù)測(cè),得到以下預(yù)測(cè)結(jié)果。詳見(jiàn)圖2、圖3和表1。

圖2 EMD-LSTM對(duì)比特幣價(jià)值擬合效果

圖3 EMD-LSTM對(duì)黃金價(jià)值擬合效果

表1 擬合曲線方差
可以看到,預(yù)測(cè)價(jià)格曲線與實(shí)際價(jià)格曲線高度擬合,EMD-LSTM模型預(yù)測(cè)效果極佳。
首要計(jì)算預(yù)期收益率。
由以上的預(yù)測(cè)模型,在每日臨近收盤時(shí)給出明日的預(yù)測(cè)值,并決定交易。此后,設(shè)定一個(gè)交易閾值τ,經(jīng)過(guò)交叉驗(yàn)證調(diào)試,發(fā)現(xiàn)閾值設(shè)置為比特幣τB=8%、黃金τB=0.7%時(shí)表現(xiàn)較為優(yōu)異,收益較高。設(shè)黃金的交易費(fèi)用率αG=2%,比特幣的交易費(fèi)用率αB=1%。
操作策略為:
式中,“h”表示不操作,“1”表示此種交易物滿倉(cāng),“0”表示此種交易物空倉(cāng)。
第一年時(shí),因?yàn)槿狈ν陻?shù)據(jù),保險(xiǎn)起見(jiàn)將比特幣和黃金平均分倉(cāng)為500元/倉(cāng)分別進(jìn)行決策,即比特幣和黃金的倉(cāng)位均為500元。從第二年起(即從2016年10月25日/2016年10月26日+360日后的第一天),根據(jù)前一年的實(shí)際數(shù)據(jù)計(jì)算出交易物的夏普比率Sp:
式中,E(RP)表示交易物的平均收益率,Rf表示無(wú)風(fēng)險(xiǎn)收益率,取2%,σp表示收益率的標(biāo)準(zhǔn)差,即每一個(gè)風(fēng)險(xiǎn)能帶來(lái)多少收益。
下一年的分配為:

假設(shè)初始資金為1000美元。
在由EMD-LSTM得到t+1日的價(jià)格預(yù)測(cè)值后,計(jì)算預(yù)期收益率后在第t日臨近收盤時(shí)決定交易策略。在第一年內(nèi),比特幣和黃金的資金分配均為500元。且在前幾個(gè)交易日內(nèi),因訓(xùn)練數(shù)據(jù)較少,模型預(yù)測(cè)效果偏差較大,保守起見(jiàn)均保持觀望,即持有現(xiàn)金(比特幣為前80個(gè)交易日,黃金為前50個(gè)交易日)。
從第二年起,根據(jù)以往年份交易物的實(shí)際價(jià)格計(jì)算出夏普比率Sp(見(jiàn)表2)。

表2 各年夏普比率
最終,2016年9月11日價(jià)值1000美元的投資款在2021年9月10日得到黃金和比特幣的資產(chǎn)分別為116104.26美元和5970.25美元,總資產(chǎn)為122074.52美元。
圖4表示選取比特幣在初始投資一單位資金的情況下,使用策略進(jìn)行操作與持倉(cāng)不進(jìn)行操作的單位凈值變動(dòng)情況。

圖4 EMD-LSTM比特幣策略對(duì)比
可以看到,操作比特幣使用策略的收益遠(yuǎn)高于不進(jìn)行操作,使用操作策略是較優(yōu)且必要的。
相比于EMD-GUR、RNN、ARIMAX、LSTM預(yù)測(cè)模型的策略,基于EMD-SLTM預(yù)測(cè)模型的策略在對(duì)預(yù)測(cè)價(jià)格的擬合準(zhǔn)確度上有顯著優(yōu)勢(shì)。LSTM黃金價(jià)格擬合曲線見(jiàn)圖5。

圖5 LSTM黃金價(jià)格擬合曲線
分別計(jì)算黃金和比特幣的以下擬合指標(biāo):MAE(平均絕對(duì)誤差)、MAPE(平均絕對(duì)百分比誤差)、MSE(均方誤差)、RMSE(均方根誤差)、NMSE(歸一化后均方誤差)。黃金五模型方差比較見(jiàn)表3。

表3 黃金五模型方差比較
經(jīng)過(guò)擬合五方差指標(biāo)分析,在所比較的EMD-LSTM、EMD-GRU、ARIMAX、LSTM、RNN五個(gè)模型之間,EMD-LSTM在預(yù)測(cè)價(jià)格上有著最優(yōu)異的擬合精度,各模型擬合關(guān)系不等式為EMD-LSTM >EMD-GRU >ARIMAX >LSTM >RNN。
此外,分別使用五個(gè)模型以相同的交易策略運(yùn)行,由表4可以明顯看出,使用EMD-LSTM模型進(jìn)行交易能獲得最高的收益(122074.52美元的凈資產(chǎn)),且區(qū)間絕對(duì)收益、年化收益也均高于其他四類模型,收益關(guān)系不等式為:EMD-LSTM >ARIMAX >EMD-GRU >RNN >LSTM。各模型總資產(chǎn)比較見(jiàn)圖6。

表4 五個(gè)模型以相同的交易策略進(jìn)行的收益

圖6 各模型總資產(chǎn)比較