陳毅



摘? 要:股市作為一個國家經濟的晴雨表,在整個國民經濟體系中起著不可或缺的作用。合理地、有效地預測股市未來走向對國家、企業(yè)以及投資者來說均有者重要意義。而BP神經網絡在處理高非線性、多維度數據上又有著巨大的優(yōu)勢,該文旨在使用BP神經網絡及其優(yōu)化算法對股價未來走勢做出一個合理的預測,為股票市場長期穩(wěn)健發(fā)展添磚加瓦。
關鍵詞:BP算法? 股價預測? 趨勢預測? Adam
中圖分類號:TP183 ? ?文獻標識碼:A 文章編號:1672-3791(2020)05(c)-0198-03
近年來,隨著我國經濟的飛速發(fā)展,股市投資者的數量也以驚人的速度迅速上漲,根據中國證券登記結算有限公司的數據顯示截至2018年底我國股市活躍賬號已有1.465億,總市值已達53.66萬億。然而股價的走勢會受到如國家政策、宏觀經濟情況、所屬行業(yè)發(fā)展前景、上市公司自身運營情況、投資者情緒及其他突發(fā)事件等影響,而傳統的走勢預測方法如基本面分析法和傳統技術分析法等的具體實施不僅需要大量準確且及時的消息為前提,更需要充足的理論知識為背景,方可大致預測出股價未來走勢,很難滿足數量如此龐大且多數不充分具備相關理論知識的投資者,因此尋求一種穩(wěn)定可靠且操作簡單的股價預測方式以迫在眉睫。神經網絡的出現為此提供了可行性,其對高非線性的復雜數據的處理得到了廣泛的學界認可,模型建立后對股價的預測操作也極為簡單。值得我們進行深入研究。
該文嘗試利用BP神經網絡進行建模,通過對長江電力(600900)2003年11月14日到2019年12月12日共3493條交易數據進行實驗,以期獲得一個能夠較好擬合股價走勢的模型,并據此對未來走勢進行預測。
1? 相關研究
2001年,吳微、陳維強、劉波等通過大量的數據實驗分析總結得出關于如何進行樣本選擇、初始權值賦予、隱層層數及每一層神經元個數選取、激活函數選取等一系列方法。并就不同的選擇產生的結果進行了比較,以此說明其優(yōu)缺點[1]。王晶、張文靜等人在2008年指出BP神經網絡采用的負梯度下降法有可能使結果陷入局部極小值而非全局最小值,且在學習率等參數設置不理想時易造成收斂速度過慢[2]。他們在此基礎上提出蟻群神經網絡,將蟻群算法與神經網絡相結合,并通過輸入代號為000070的股票前一周每天t時刻的股價和前3天大盤t時刻的股價,來預測未來一天t時刻的股價,實證得出加入蟻群算法的神經網絡在預測精度和預測速度上相較于單一神經網絡有顯著的提高。2012年,劉斐弘分別將BP、RBF、GABP這3種神經網絡用于股票價格預測,實證表明這3種神經網絡均能夠較好地進行股價預測,而其中以GABP網絡的全局收斂性和精度最高[3]。2017年,周寧、黃捷等人在用BP神經網絡對中石化股票數據進行建模預測后,利用馬爾可夫模型對誤差序列(預測數列與實測數列之差)進行處理,計算出未來狀態(tài)數據的狀態(tài)概率,再將未來數據進行還原得出其所在真實范圍區(qū)間,再選取概率最大區(qū)間,取均值作為最終預測結果輸出。此法有效提高了模型的準度[4]。2018年,劉佳祺、劉德紅等人將主成分分析法、遺傳算法與BP神經網絡算法相結合,建立PCA-GA-BP模型用于預測股價變動情況,該模型很好地改善了BP網絡運算速度慢和易陷入局部極小值的缺點[5]。值得說明的是,上述這些研究多是將BP算法與其他相關算法相結合,以此來獲得更好結果,基于BP網絡自身的改進算法并不多見。
2? 誤差反向傳播算法
誤差反向傳播算法(Back-Propagation Algorithm),簡稱為BP算法,是在神經網絡和深度學習中占據統治地位的算法,它的出現極大地推進了神經網絡的發(fā)展。圖1可以看作是一個3層神經網絡示意圖。其權重反向傳播如下。
3? 數據處理
該文通過網易財經的數據接口獲得長江電力(600900) 2003年11月14日到2019年12月12日共3909條交易數據,其特征包含日期、收盤價、最高價、最低價、開盤價、前收盤價、漲跌額、漲跌幅、換手率、成交量、成交金額、總市值、流通市值共13個維度。將其停盤日數據(收盤價=0)共416條刪除后剩3493條實驗數據。實驗中,以t+1日收盤價為預測目標,以t日的交易數據為訓練對象,通過歸一化對數據消除量級差造成的影響。
4? 實證分析
通過構建3層BP神經為網絡,其中第一層為輸入層,共有11個神經元組成,分別輸入t日收盤價、t日最高價、t日最低價、t日開盤價、t-1日收盤價、t日漲跌額、t日換手率、t日成交量、t日成交金額、t日總市值和t日流通市值。第二層為中間層(隱藏層),設有3個神經元,第三層為輸出層,有一個神經元,輸出值為t+1日的收盤價預測值。學習率為0.05,通過最小批量梯度下降法迭代次數為50次,每批次為85條數據。將數據按4∶1的比率分為訓練集共2793條,測試集700條。其實驗結果如圖2所示。測試集最終均方誤差為2.505。
5? 優(yōu)化改進
Adam算法是由OpenAI的Diederik Kingma和多倫多大學的Jimmy Ba最早提出的,其可以看作是動量算法與RMSProp算法的集合,是目前神經網絡中最流行的優(yōu)化方法。該算法對梯度和學習率均做了改進,使得代價函數在接近鞍點時能夠繼續(xù)學習,或當陷入局部最小值時,增大逃出的可能性。
在不改變其他超參數的情況下,使用Adam算法進行梯度下降后其結果如圖5所示,且訓練集與測試集中部分放大,測試集最終均方誤差為0.0293。
6? 結語
對比上述實驗,可知基于神經網絡的股票趨勢預測是充分可行的,當使用BP算法與Adam算法相結合時,也可以大幅改進算法的準確率。該文的不足之處在于沒有對模型進行其他方面的改進,具體實驗也是針對個股,不具有普遍性。在未來的工作中可以嘗試通過對數據維度進行縮減和對多個股票進行實驗分析,以提升模型使用的廣度。
參考文獻
[1] 吳微,陳維強,劉波.用BP神經網絡預測股票市場漲跌[J].大連理工大學學報,2001(1):9-15.
[2] 王晶,張文靜,張倩.蟻群神經網絡用于股票價格短期預測[J].商場現代化,2008(6):364-366.
[3] 劉斐弘.神經網絡在股票價格預測中的應用——基于三種網絡的比較分析[J].時代金融,2012(15):241.
[4] 周寧,黃捷,劉志遠,等.基于神經網絡和馬爾可夫組合模型的股票價格預測[C]//中國自動化學會控制理論專業(yè)委員會.第36屆中國控制會議論文集.中國自動化學會控制理論專業(yè)委員會:中國自動化學會控制理論專業(yè)委員會,2017:6.
[5] 劉佳祺,劉德紅,林甜甜.基于BP神經網絡模型的股票價格研究[J].中國商論,2018(8):29-30.