莫世冰 林暉竣 陳云偉 梁毅 王振坤



摘? 要:金融商品價格作為一種經典的時間序列,其變化通常表現為非線性、非平穩性及高波動性,使用單一的模型較難實現對金融商品價格的準確預測。文章基于小波分析建立ARIMA-Transformer組合模型,從不同維度分析時間序列的隨機波動、循環變化、周期變化等變化規律,對比特幣的價格進行時間窗口滾動式預測,預測結果與實際的比特幣價格走勢大致相同,表明該模型可作為交易者的參考投資模型。
關鍵詞:Transformer模型;多頭注意力模型;小波分析;比特幣預測
中圖分類號:TP391? ? ? ? ?文獻標識碼:A文章編號:2096-4706(2022)03-0032-04
Bitcoin Price Prediction of Arima-Transformer Combination Model Based on Wavelet Analysis
MO Shibing, LIN Huijun, CHEN Yunwei, LIANG Yi, WANG Zhenkun
(South China Agricultural University, Guangzhou? 510000, China)
Abstract: As a kind of classical time series, the price change of financial goods usually shows nonlinear, non-stationary and high volatility. It is difficult to accurately predict the price of financial goods by using a single model. This paper establishes ARIMA-Transformer combination model based on wavelet analysis, analyzes the change laws of random fluctuation, cyclic change and periodic change of time series from different dimensions, makes time window rolling prediction of bitcoin price. The prediction results are roughly the same as the actual price trend of bitcoin, indicating that this model can be used as a reference investment model for traders.
Keywords: Transformer model; multi-head attention model; wavelet analysis; bitcoin forecast
0? 引? 言
隨著數據化的發展,現代貨幣呈現出虛擬化的特性,以比特幣為代表的一些數據取得了快速的發展[1,2],但由于政策、經濟形勢以及許多不確定因素的影響,比特幣的交易價格呈現出非線性、非平穩性以及高波動性的變化特點,這為比特幣價格的預測提出一個極大的難題。
對于金融商品的預測,一些研究通過結合神經網絡深度學習,建立多層LSTM及雙向LSTM模型,與傳統的ARIMA、LSTM、SVM模型相比,多層LSTM及雙向LSTM模型可以有效地對黃金期貨價格做出預測[3]。張寧、Chandrasekar Ravi等學者建立了基于LSTM的混合模型,對比特幣價格的變動趨勢做出較為準確的預測[4,5]。此外,一些研究通過結合小波分析,從不同緯度分析價格變化,實現對比特幣價格走勢的準確預測[6,7]。
總而言之,建立深度學習組合預測模型[8],并且結合分解重構算法對數據進行多維度的時序分析,是目前較為主流的預測方法,可以提高比特幣價格預測的準確性。
原始Transformer模型因其出色的注意力機制,常被應用于自然語言處理、圖像處理等領域并取得很好的效果,但因其點積注意力機制(Dot-product self-attention)對本地上下文不敏感,這可能使模型在時間序列中容易出現異常,空間復雜度隨著輸入序列的延長呈二次增長,這也導致對長時間序列建模不可行,對此,李等人創新地采用了改進的Transformer模型進行時間序列預測。
1? 基于小波分析的ARIMA-Transformer預測模型
1.1? 小波分析
1.1.1? 小波分解
如果存在ψ(t)∈L?(R),L?(R)是由一組平方可積的函數構成的函數空間,且ψ(t)滿足容許性條件,滿足-INF~+INF的積分為0,即,此時ψ稱為一個基波函數。基波函數是指具有震蕩性,能夠迅速減小到0的一類函數,是小波分析的關鍵。通過對ψ調整平移因子和伸縮因子,將原始信號分解成相互正交時頻信號,即近似系數和細節系數,近似系數代表了價格數據的低頻信息部分,細節系數代表了價格數據的高頻信息部分。
假設C0是時間序列數據,采用Python算法對價格進行分解,分解公式為:
其中,Cj+1(k)為第j+1層低頻系數,h為低頻分解濾波器,m、k為平移系數,Cj(m)為第j層低頻系數,Dj+1(k)為第j+1層高頻系數,g為高頻分解濾波器,Dj(m)為第j層高頻系數。
1.1.2? 小波重構2BE22783-D69A-47F0-93D0-1EB02B3C6EA3
小波重構是小波分解的反向過程,通過對處理后的低高頻信號進行重構,可以預測出黃金、比特幣價格的走勢,從而更好地制定交易策略。重構的公式可表示為:
其中,為低頻重構濾波器,為高頻重構濾波器。
1.2? 差分自回歸移動平均模型
1.2.1? 模型原理
如果時間序列記為{Xt},則ARIMA(p,d,q)模型的表達式為:
其中,p為自回歸階數,d為差分階數,q為移動平均階數,Xt為時間序列中第t期的值,L為時間序列中每一期的滯后算子,為AR參數,而為MA參數。
1.2.2? 模型求解過程
如圖1所示,ARIMA模型的參數p、q、d將通過Q檢驗、平穩性檢驗以及AIC和BIC準則來選擇。在每次預測之前,對時間序列進行Q檢驗,然后設定盡可能選擇較低的差分次數d,以達到平穩性的要求,再利用AIC原則判斷p、q的值,從而選定所使用的ARIMA模型。
1.3? Transformer模型
常規的transformer模型一般用于解決翻譯問題,也就是給定一個詞語x,通過訓練得到的transformer映射為y。記transformer處理數據過程為f,那么就有f:x—y。假設有一個序列[x1,x2,x3…xn],其經過f映射得到[y1,y2,y3…yn],這種情況下,x與y的位置是一一對應的,它不具有預測的能力,也就是不可能映射出現yn+1,若需要對序列進行預測,也就是給定序列[x1,x2,x3…xn]由f映射得到[xn+1,xn+2,xn+2…x2n],在訓練transformer時可以對給定的序列進行錯位操作,如圖2所示,也就是以[x1,x2…xn-1]作為訓練集,以[x2,x3…xn]作為標簽,這樣transformer就可以從x1預測得到x2,從x2預測得到x3。
根據比特幣指數的走向,可判斷出比特幣未來的走向只與短期內的歷史值有關,在得知前t天的歷史值,并且知道當天、第t天真實值的情況下,可以將由前t天的歷史值組成的序列x作為訓練樣本,將由前t-1天與第t天的真實值組成的序列y作為標簽。經過訓練得到的transformer模型權重以y作為輸入,即可實現預測后t天的值。
1.3.1? transformer模型結構原理
如圖3所示,模型分為Input、Encoder Block、Decoder Block和Output四個部分,在輸入模塊輸入一個序列X=[x1,x2…xn],Encoder Block、Decoder Block利用輸入序列X=[x1,x2…xn]進行線性變換,softmax函數向輸出模塊提供一個狀態集Y=[y1,y2…yn],yn∈(0,1)。
1.3.2? transformer encoder
1.3.2.1? 位置編碼
若要挖掘序列的順序信息,需要將序列xi∈X的相對和絕對位置信息注入到模型中去。因此在輸入的基礎上增添了位置編碼,位置編碼的計算公式為:
1.3.2.2? 注意力模型
圖4是注意力模型的基本結構,注意力是利用key和value記錄已學習的參數,同時查找query得到模型的輸出。每個value的權重是根據query和相應的key通過以下公式計算出來的:
score=Q · KT
注意力函數輸出矩陣可以按照以下公式計算:
2? 實例分析
2.1? 比特幣價格預測
為了驗證系統模型的有效性,本文選擇2016-9-11至2021-9-11的比特幣價格數據作為模型運算數據,實驗用的處理器為Intel(R) Core(TM) i5-9300H CPU @ 2.40 GHz,內存為8.00 GB,操作系統為Windows10 64位操作系統。
模型利用過去t天的價格數據,對未來f天的價格走勢進行窗口滾動式的時間序列預測。以下是采用Python語言和db4小波基對比特幣價格原始序列進行小波分解得到的結果,圖5、圖6、圖7、圖8為比特幣價格時序圖及小波分解的結果圖。
分解后的序列不但使信息更加集中清晰,而且保存了信息的時頻特征。圖6低頻信息體現了比特幣價格的大致走勢,圖7、圖8體現了比特幣價格的隨機波動、循環變化以及周期變化。
2.2? 單支重構
2.2.1? ARIMA模型對高頻信號的預測
對于價格高頻細節的分析,首先通過Q檢驗進行時間序列的白噪聲檢驗,然后選擇t日內的數據(t=7)進行平穩性分析,確定差分系數d,再通過比較模型的AIC與BIC來最終確定適用的ARIMA(p,d,q)模型,對之后的f天進行預測。以此為基本單元,滾動模型工作窗口,遍歷所有的天數從而得到每一日往后f天的高頻序列預測。以下是t=7時,模型對比特幣價格高頻序列進行預測得到的結果。
如圖9、圖10是當選取f=7時,ARIMA模型對某日的比特幣價格高頻信號未來7天的趨勢預測,紅線為真實值,藍線為預測值,結果能夠反映所建立的模型能夠很好地預測出高頻信號的變化規律。
2.2.2? Transformer模型對低頻信號的預測
Transformer模型采用的參數如表1所示。
如圖11所示,當選取f=7時,Transformer神經網絡框架對某日的比特幣價格低頻信號未來7天的走勢預測,實線為真實值,虛線為預測值,結果表明所建立的模型能夠很好地預測出高頻信號的變化規律。
2.3? 重構信息實現價格預測2BE22783-D69A-47F0-93D0-1EB02B3C6EA3
對t天內高低頻分量的預測結果進行小波重構,就可以將價格高低頻信號預測的未來f天的結果進行整合,從而實現對當日未來f天比特幣價格的預測。將所有天數的預測數據進行組合,結果如圖12所示,可以看出小波重構的比特幣預測價格走勢與比特幣真實價格走勢基本一致,滿足預測要求,為實現最佳交易決策的制定提供良好的數據條件。
3? 結? 論
金融商品價格作為一種經典的時間序列,通常表現出非線性、非平穩和高波動性,用單一的模型難以實現預測目的,目前主流的研究方法主要有深度學習和多模型組合預測。本文基于小波分析,從多維度分析序列信息,建立Arima-Transformer模型進行窗口滾動預測,對比特幣價格的預測效果較好,可作為研究金融商品價格走勢的參考。
參考文獻:
[1] 甘珂.比特幣價格影響因素分析 [D].武漢:華中師范大學,2021.
[2] 鄭步高,徐海東,李姍晏.數字貨幣的價格影響分析——以比特幣為例 [J].價格月刊,2021(8):10-17.
[3] 劉璐,婁磊,劉先俊,等.基于LSTM的COMEX黃金期貨價格預測對比研究 [J].長春理工大學學報(自然科學版),2021,44(2):129-135.
[4] 張寧,方靖雯,趙雨宣.基于LSTM混合模型的比特幣價格預測 [J].計算機科學,2021,48(S2):39-45.
[5] RAVI C. Fuzzy Crow Search Algorithm-Based Deep LSTM for Bitcoin Prediction [J]. International Journal of Distributed Systems and Technologies (IJDST),2020,11(4):53-71.
[6] 景志剛,施國良.基于小波分析的LS-SVM—ARIMA組合模型的黃金價格預測 [J].黃金,2017,38(5):5-8+14.
[7] 段格格.基于ARIMA模型的比特幣價格預測研究 [J].現代營銷(下旬刊),2021(1):27-29.
[8] 梁秋,王凡彬,余龍秀,等.基于小波分析的比特幣價格預測 [J].內江科技,2015,36(5):129-130.
作者簡介:莫世冰(2000.02—),男,漢族,廣東湛江人,本科在讀,研究方向:通信技術、深度學習、視頻壓縮編碼;林暉竣(2000.03—),男,漢族,廣東韶關人,本科在讀,研究方向:MRI圖像重建、深度學習;陳云偉(2000.06—),男,漢族,廣東深圳人,本科在讀,研究方向:圖像處理、數據分析、單片機;梁毅(2000.11—),男,漢族,廣東佛山人,本科在讀,研究方向:電子信息;王振坤(2001.10—),男,漢族,海南海口人,本科在讀,研究方向:通信工程。2BE22783-D69A-47F0-93D0-1EB02B3C6EA3