劉佳祺 劉雨嵐 沈雨霏 劉德紅
摘要:股票市場的價格具有非平穩(wěn)的非線性特征,因此直接預測非常困難。在本文中,我們使用集合經(jīng)驗模式分解方法將上證綜合指數(shù)的時間序列分解為有限數(shù)量的IMF函數(shù)和一個趨勢項。然后對IMF進行重構得到高頻序列、低頻序列、長期趨勢三個部分,再將得到的三個部分分別輸入BP神經(jīng)網(wǎng)絡進行訓練得到三個預測值,最后,整合三個預測值以獲得最終預測值。實證結果表明,EEMD-BP方法比傳統(tǒng)的股價預測方法具有更高的預測精度。
關鍵詞:上證綜指;股指預測;集合經(jīng)驗模態(tài)分解模型;BP神經(jīng)網(wǎng)絡
中圖分類號:F830.91
文獻識別碼:A
文章編號:1001-828X(2019)010-0319-03
一、引言
股票市場是一個國家宏觀經(jīng)濟運行的“晴雨表”,在金融市場的發(fā)展中占有重要地位。因此,研究股票市場波動特征和股指預測具有重要意義。目前股票指數(shù)預測的方法主要可以分為三類:證券分析法,時間序列法和人工智能法。已有文獻表明,人工智能法中的BP神經(jīng)網(wǎng)絡模型被廣泛應用于投資預測領域,具有很強的應用價值。但是如果直接將股票指數(shù)等原始數(shù)據(jù)作為參數(shù)輸入到神經(jīng)網(wǎng)絡中,干擾項比較多,導致信號的特征量并不突出,神經(jīng)網(wǎng)絡需要很長的時間才能把握信號的特征。因此,作者采用Huang等提出的EEMD算法,將原始序列分解后得到的固有模態(tài)函數(shù)輸入BP神經(jīng)網(wǎng)絡,大大提高了BP神經(jīng)網(wǎng)絡的學習訓練的效率。綜上所述,本文采用EEMD方法和BP神經(jīng)網(wǎng)絡模型相結合的方法來預測上證綜合指數(shù),選取2013年1月4日至2018年12月28日上證綜指每日收盤價作為原始數(shù)據(jù),實證結果表明EEMD-BP模型的方法是有效的。
二、研究方法
1.集成經(jīng)驗模態(tài)分解法(EEMD)
經(jīng)驗模態(tài)分解法是由Wang等在1998年提出的,其基本原理是將復雜信號分解成若干個相互獨立且正交的本征模態(tài)函數(shù)(IMF),能有效地處理非線性信號。但是研究表明,在存在較多的噪聲干擾時,EMD方法經(jīng)常會出現(xiàn)模式混疊的情況,不能將IMF從原始序列中完全分離出來。為了解決這個問題,2004年Wu和Huang在EMD的基礎上提出了集成經(jīng)驗模態(tài)分解算法(EEMD)。其基本原理是在原始信號中加入一組白噪聲,再對增加了白噪聲的信號進行EMD分解,然后重復以上步驟。因為白噪聲的功率譜密度在整個頻域內是個常數(shù),我們可以認為白噪聲均勻分布在整個頻域中。當每次選取的白噪聲密度不一樣時,就會分解得到不同的一組IMF值。把所有得到的IMF值取平均值作為最終結果,既可以消除白噪聲的影響,也解決了模式混疊的問題。
假設原始數(shù)據(jù)為x(t),EEMD算法具體步驟如下:
步驟一:將白噪聲加入原始信號中,得到含有白噪聲的原始數(shù)據(jù)x(t)
步驟二:用三次樣條函數(shù)把x(t)的局部極大值和局部極小值分別連接起來,構成x(t)的上包絡線u(t)和下包絡線l(t)
步驟三:計算x(t)的平均包絡線
公式
步驟四:用x(t)減去m1(t)得到h1(t),若h1(t)滿足:1)極值點個數(shù)和零點數(shù)相差不超過1;2)在任意時刻上下包絡線的均值時0,那么h1(t)就是一個IMF分量。
步驟五:若h1(t)不滿足以上兩個條件,則將h1(t)作為新的原始序列,重復以上四個步驟,直到得到的序列滿足IMF的兩條性質為止,將該IMF稱為c1
步驟六:用原始數(shù)據(jù)x(t)減去第一個IMF分量c1得到差值序列r1(t):r1(t)=x(t)-c1,將r1(t)作為原始序列并重復以上幾個步驟直至提取出所有IMF為止,此時rn(t)只有一個極值點或變成一個單調函數(shù)。因此,原始序列x(t)可以寫成:
公式
,其中n為IMF的個數(shù),ci為各IMF分量,rn(t)為殘差項
步驟七:分別對原始信號加入不同的白噪聲,重復步驟二到六;
步驟八:將得到的IMF集成均值作為最終的輸出結果。
由于加入的白噪聲是均勻分布在頻域空間中的,均值為0,能自動消除模式混疊問題,得到的結果也更加接近真實值。根據(jù)Wu和Huang的建議,白噪聲序列的次數(shù)可以根據(jù)公式
公式
得到,其中εn為最終誤差的標準差,ε為加入白噪聲的標準差,N為集成次數(shù)。一般情況下,將白噪聲序列的標準差設為0.1或0.2即可,集成數(shù)量設為100次。
2.BP神經(jīng)網(wǎng)絡算法
BP神經(jīng)網(wǎng)絡是目前應用最廣泛的前向反饋網(wǎng)絡,與反饋神經(jīng)網(wǎng)絡不同,前饋神經(jīng)網(wǎng)絡的各神經(jīng)元只接受前一層的數(shù)據(jù)輸入并輸出給下一層,并不反饋回上層,具有很強的非線性映射能力,預測精確度較高。BP神經(jīng)網(wǎng)絡全稱為Error?Back?Propagation,即利用給定輸入值與期望輸出值之間的誤差的反向傳導原理,反向從輸出層到輸入層對網(wǎng)絡各層的權值(均值)和閾值(臨界值)不斷修正,直到網(wǎng)絡輸出的誤差最接近預期值為止。具體步驟為:首先擬定初始化的三層權值及閾值,將訓練樣本的原始數(shù)據(jù)輸入輸入層中,輸入層正向將參數(shù)傳遞給隱含層,隱含層利用未完全訓練的模式計算出輸出參數(shù),再將輸出參數(shù)傳遞給輸出層輸出。隨后計算上述步驟輸出結果與預期結果的誤差,并反向傳遞,先修正輸出層的權值及閾值,反向傳播到隱含層,修正隱含層的權值及閾值。至此一次訓練結束,開始第二次訓練,直至網(wǎng)絡輸出的誤差達到預期值為止。
3.EEMD-BP模型
集合經(jīng)驗模態(tài)分解法在非對線性、非平穩(wěn)序列的處理方面具有很強的優(yōu)勢,而BP神經(jīng)網(wǎng)絡則在預測方面具有很高的精確度,因此將二者結合是一種很好的方法。用EEMD-BP模型預測上證綜指的流程圖如圖1所示,首先用集合經(jīng)驗模態(tài)分解法分解上證綜指時間序列,得到一組有限個固有模態(tài)函數(shù)(IMFi)和一個趨勢項(R),然后對固有模態(tài)函數(shù)進行重構,按照頻率將新的IMF分成高頻序列和低頻序列,再加上趨勢項代表的長期趨勢共三個時間序列,分別輸入BP神經(jīng)網(wǎng)絡進行重復訓練,得到三個預測值,最后將三個預測值進行整合得到最終預測值。
三、實證研究
1.數(shù)據(jù)來源及說明
本文的實證研究選取了2013年1月4日至2018年12月28日上證綜合指數(shù)的收盤價作為樣本數(shù)據(jù),共1458條數(shù)據(jù)。數(shù)據(jù)來源:網(wǎng)易財經(jīng)
2.上證綜指的EEMD分解
(1)EEMD分解
本文利用MATLAB軟件對1458條上證指數(shù)收盤價數(shù)據(jù)進行分解,將白噪聲設置為0.1倍標準差,總體平均次數(shù)設定為100次。經(jīng)過EEMD分解之后得到9個固有模態(tài)函數(shù)和1個余項,如圖2所示。這九個分量的主要區(qū)別是波動頻率的不同,IMF1是原始數(shù)據(jù)最先分離出來的變量,頻率最高,IMF9是原始數(shù)據(jù)最后分離出的變量,頻率最低,R是分離出所有IMF函數(shù)后的余項,可以很好地反映出原始數(shù)據(jù)的趨勢。從圖中我們可以看出,上證綜指在這在這五年中是先增后減的。
我們對每個IMF分量和殘差項做統(tǒng)計分析可得表1,其中的Pearson系數(shù)是指固有模態(tài)函數(shù)IMF和趨勢項R與原始未分解序列的相關性,而方差占原始序列比例反映了分解后的各IMF函數(shù)對原始序列波動的貢獻率。由表可見,隨著頻率的增大,IMF的周期也變長,IMF與原始序列的相關性和對原始序列波動的貢獻都呈現(xiàn)增長的趨勢。
(2)IMF的重構
我們采用均值為0的T檢驗的方法對得到的IMF分量進行重構。由表2可知,在10%的顯著水平下,IMF1-IMF5在零均值檢驗原假設是不顯著的,從IMF6開始均值發(fā)生顯著變化。由于EEMD分解之后的每個IMF分量都是相互獨立的,因此我們可以把IMF1到IMF5相加,得到高頻序列,再把IMF6到IMF9相加,得到低頻序列。
對重構后得到的高頻序列、低頻序列和余項分別進行相關性分析,由表3可見,低頻序列和趨勢項R與原始數(shù)據(jù)的相關性較大,分別為0.8960和0.6583,而高頻序列與原始序列的相關性僅為0.3439,方差占原始序列比例僅為7%,這說明原始序列的波動主要來源于低頻序列。
(3)波動特征分析
經(jīng)IMF重構后的序列和原始序列如圖3所示,由圖中可以看出,高頻序列始終在零點附近隨機波動,代表了股票市場中正常波動;低頻序列則是在零點附近上下振動,表示重大事件對股票市場的影響;趨勢項則反映了股票市場的長期變化趨勢。
3.上證綜指的短期預測
本文用EEMD模型分解后得到的高頻序列、低頻序列和趨勢項作為BP神經(jīng)網(wǎng)絡的輸入層,神經(jīng)網(wǎng)絡的輸出層為上證綜指的預測價格。當增加足夠多的神經(jīng)元節(jié)點時,神經(jīng)網(wǎng)絡的單個隱含層總能實現(xiàn)從輸入層到輸出層的任意非線性映射,所以即使面對股指這樣的復雜情況,只要經(jīng)過足夠多次的訓練,一個隱含層即可滿足大多數(shù)情況。因此本文選擇只一個隱含層的三層BP神經(jīng)網(wǎng)絡,隱含層節(jié)點的個數(shù)則根據(jù)沈玉花等提出的BP神經(jīng)網(wǎng)絡隱含層單元數(shù)改進方法確定。
網(wǎng)絡結構確定后我們需要對BP神經(jīng)網(wǎng)絡模型進行訓練,將前1436組數(shù)據(jù)作為訓練樣本訓練神經(jīng)網(wǎng)絡模型,并用后22組數(shù)據(jù)作為預測樣本,選取輸入層節(jié)點數(shù)為4,然后根據(jù)前文所述選取隱含層節(jié)點數(shù)的方法確定最佳隱含層節(jié)點數(shù)為2,再將所得的高頻、低頻序列和余項的預測值進行整合得到最終預測結果,如圖4所示。
為了驗證EEMD-BP模型的有效性,我們用BP神經(jīng)網(wǎng)絡模型對原始數(shù)據(jù)進行預測作為對比,兩個模型的誤差如表4所示。本文采用平均絕對百分比誤差(MAPE)、平均絕對誤差(MSE)和均方根誤差(RMSE)來衡量兩個模型的誤差,數(shù)字越小越好。由表中可以看出,EEMD-BP方法準確度明顯高于單獨采用BP神經(jīng)網(wǎng)絡預測的值,這說明的EEMD模型能提高預測的準確度。
四、結語
本文通過采用EEMD和BP網(wǎng)絡模型結合的方法對上證綜指的價格進行研究,得到以下兩個結論:一是EEMD模型能有效地處理非線性序列,把握原始序列信號特征,有助于BP神經(jīng)網(wǎng)絡的訓練過程;二是先利用EEMD模型對數(shù)據(jù)進行平穩(wěn)化處理,能提高BP神經(jīng)網(wǎng)絡預測的準確度,減小預測結果與實際結果之間的誤差。
參考文獻:
[1]何凱,蘇梽芳,何衛(wèi)平.上證基金指數(shù)波動結構分解與短期預測:基于EEMD模型[J].金融理論與實踐,2014(1):80-85.
[2]阮連法,包洪潔.基于經(jīng)驗模態(tài)分解的房價周期波動實證分析[J].中國管理科學,2012,20(3):41-46.
[3]劉海飛,李心丹.基于EMD方法的股票價格預測[J].統(tǒng)計與決策,2011(10):59-61.
[4]陳園園,劉俊,傅強.基于EMD的神經(jīng)網(wǎng)絡股價預測方法[J].新疆大學學報:哲學·人文社會科學版,2014,42(4):6-11.
[5]王文波,費浦生,羿旭明.基于EMD與神經(jīng)網(wǎng)絡的中國股票市場預測[J].系統(tǒng)工程理論與實踐,2010,30(6):1027-1033.
[6]秦宇.應用經(jīng)驗模態(tài)分解的上海股票市場價格趨勢分解及周期性分析[J].中國管理科學,2008,16(S1):219-225.