国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于GRU的股票漲跌預(yù)測(cè)

2020-10-22 01:31:48趙建群
關(guān)鍵詞:股票神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)

趙建群, 王 悅

(廣東科貿(mào)職業(yè)學(xué)院 經(jīng)濟(jì)管理學(xué)院, 廣東 廣州 510000)

0 引 言

股票市場(chǎng)在國家金融市場(chǎng)中起著舉足輕重的作用,股票市場(chǎng)能夠直觀地反映國家的經(jīng)濟(jì)狀況.對(duì)股票數(shù)據(jù)的預(yù)測(cè)不僅對(duì)國家的經(jīng)濟(jì)建設(shè)起指導(dǎo)作用,還能為投資者提供投資方向[1].

股票數(shù)據(jù)除了自身波動(dòng)外,還受國家政策、突發(fā)事件和輿情輿論的影響.股票價(jià)格的預(yù)測(cè)是金融預(yù)測(cè)領(lǐng)域的一大難題.1950年,大量學(xué)者開始研究股票預(yù)測(cè)方法.從傳統(tǒng)的移動(dòng)平均線等統(tǒng)計(jì)學(xué)方法[2],到以SVM[3]、隨機(jī)森林[4]等方法為主的機(jī)器學(xué)習(xí)方法,股票價(jià)格預(yù)測(cè)精度有所提升.隨著神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)的發(fā)展,越來越多的學(xué)者開始使用深度神經(jīng)網(wǎng)絡(luò)模型分析股票[5].2016年Singh等使用2維的主成分分析結(jié)合深度神經(jīng)網(wǎng)絡(luò)構(gòu)建了股票預(yù)測(cè)模型[6],并采用Google公司的股票作為數(shù)據(jù)進(jìn)行驗(yàn)證,其預(yù)測(cè)準(zhǔn)確率較高;柏萬寬在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的基礎(chǔ)上提出一種改進(jìn)算法,在對(duì)比實(shí)驗(yàn)中,改進(jìn)算法在測(cè)試集的表現(xiàn)優(yōu)于RNN模型[7];王子鑰等在變步長(zhǎng)長(zhǎng)期記憶網(wǎng)絡(luò)(BLSTM)的基礎(chǔ)上,提出一種變步長(zhǎng)集成學(xué)習(xí)方法,結(jié)果驗(yàn)證了在不同數(shù)據(jù)預(yù)處理下改進(jìn)損失函數(shù)的有效性,以及變步長(zhǎng)集成方法相對(duì)單一網(wǎng)絡(luò)的有效性[8].

基于RNN在股票數(shù)據(jù)中表現(xiàn)出的優(yōu)越性,本文選取RNN的變種網(wǎng)絡(luò)門控循環(huán)單元(GRU)作為基本網(wǎng)絡(luò)結(jié)構(gòu),構(gòu)建股票預(yù)測(cè)模型,預(yù)測(cè)股票價(jià)格的漲跌,數(shù)據(jù)集選擇中證100的成分股.

1 神經(jīng)網(wǎng)絡(luò)理論基礎(chǔ)

人工神經(jīng)網(wǎng)絡(luò)是通過對(duì)人腦工作機(jī)制的模擬實(shí)現(xiàn)復(fù)雜的計(jì)算和函數(shù)擬合,其在20世紀(jì)80年代得到了迅速的發(fā)展.全連接神經(jīng)網(wǎng)絡(luò)是最初始的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[9],它是通過層與層之間神經(jīng)元節(jié)點(diǎn)的全連接處理輸入信息.由于其結(jié)構(gòu)簡(jiǎn)單、性能優(yōu)異的特點(diǎn)成為目前使用最廣泛的神經(jīng)網(wǎng)絡(luò)之一.卷積神經(jīng)網(wǎng)絡(luò)(CNN)也是神經(jīng)網(wǎng)絡(luò)的代表之一,其利用卷積核進(jìn)行特征提取,通過不斷滑動(dòng)感知窗口獲取局部信息與整體信息的聯(lián)系[10],在圖形、視頻等領(lǐng)域應(yīng)用廣泛.循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是為解決序列問題提出的,循環(huán)神經(jīng)網(wǎng)絡(luò)層之間特有的有向循環(huán)連接方式使其具備時(shí)序數(shù)據(jù)的記憶功能[11].RNN及其變種網(wǎng)絡(luò)在自然語言和時(shí)序數(shù)據(jù)的處理上得到了廣泛的應(yīng)用[12].

門控循環(huán)單元(GRU)是循環(huán)神經(jīng)網(wǎng)絡(luò)的變種網(wǎng)絡(luò)之一,其通過引入門控結(jié)構(gòu),解決了RNN難以處理長(zhǎng)距離信息捕獲的問題[13].GRU相比長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)的門結(jié)構(gòu)做了簡(jiǎn)化,只引入了更新門zt和重置門rt,其具體結(jié)構(gòu)如圖1所示.其中,更新門用于控制前一時(shí)刻狀態(tài)信息流入當(dāng)前時(shí)刻GRU單元中的程度,更新門的值越小,說明保留前一時(shí)刻的信息越少,反之越多;重置門是決定前一時(shí)刻狀態(tài)信息保留到當(dāng)前狀態(tài)值的程度,重置門的值越小,說明前一時(shí)刻寫入當(dāng)前狀態(tài)值的信息量越少.

GRU通過前向傳播來完成信息的初始流入.記當(dāng)前時(shí)刻的輸入為xt,前一時(shí)刻的狀態(tài)值為ht-1,Wr、Wz分別為重置門和更新門的權(quán)重矩陣,σ和tanh為激活函數(shù),則更新門和重置門的更新見式(1)和式(2):

rt=σ(Wr·[ht-1,xt]),

(1)

zt=σ(Wz·[ht-1,xt]).

(2)

(3)

(4)

GRU單元通過對(duì)序列數(shù)據(jù)每一時(shí)刻的狀態(tài)計(jì)算,將輸入序列中有用的信息保留,篩除噪聲.其最后的輸出yt計(jì)算如下:

yt=σ(Woht),

(5)

其中:Wo為輸出值的權(quán)值矩陣.序列中最后一個(gè)GRU單元的狀態(tài)值經(jīng)過激活函數(shù)后可作為輸出值.激活函數(shù)可根據(jù)最終任務(wù)的類別進(jìn)行選擇,常用的激活函數(shù)有sigmoid函數(shù)和softmax函數(shù).

2 股票預(yù)測(cè)模型

2.1 股票數(shù)據(jù)集描述

本文采用中證100指數(shù)的成分股作為本實(shí)驗(yàn)的數(shù)據(jù)集.中證100指數(shù)是從滬深300成分股中篩選出的規(guī)模最大的100只股票.由于所選公司和股票規(guī)模大、影響深,因此能夠反映滬深股票市場(chǎng)的整體情況[14].

利用tushare工具包,本文獲取了2017年7月至2019年6月中證100的成分股數(shù)據(jù).為保證數(shù)據(jù)集中股票數(shù)據(jù)量的統(tǒng)一,剔除該時(shí)間段停盤超過1個(gè)月的股票,最后篩選出92只股票作為實(shí)驗(yàn)數(shù)據(jù)集.為評(píng)測(cè)訓(xùn)練效果,將實(shí)驗(yàn)數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集.將2017年7月至2018年12月的每只股票數(shù)據(jù)作為訓(xùn)練集,2019年1月至2019年6月的股票數(shù)據(jù)作為測(cè)試集.訓(xùn)練集和測(cè)試集的比例接近3∶1,與常用的訓(xùn)練測(cè)試集比例相符.訓(xùn)練集數(shù)據(jù)用于訓(xùn)練股票預(yù)測(cè)模型,測(cè)試集數(shù)據(jù)用于評(píng)測(cè)模型的預(yù)測(cè)效果.股票數(shù)據(jù)集概況見表1.

表1 股票數(shù)據(jù)集概況

股票數(shù)據(jù)的特征較多,除了股票基本交易數(shù)據(jù)外,還有技術(shù)指標(biāo)和公司運(yùn)營情況的相關(guān)數(shù)據(jù).由于技術(shù)指標(biāo)等股票特征對(duì)股票漲跌趨勢(shì)的影響尚不明確,本文只采用包含開盤價(jià)、最高價(jià)、收盤價(jià)、最低價(jià)、成交量和漲跌幅的6維股票基本交易數(shù)據(jù).數(shù)據(jù)集樣例信息見表2.

表2 部分?jǐn)?shù)據(jù)集信息

本文擬根據(jù)股票數(shù)據(jù)訓(xùn)練模型預(yù)測(cè)其收盤價(jià)的漲跌,但如果只按照漲跌幅的正負(fù)對(duì)股票作2分類預(yù)測(cè),則預(yù)測(cè)結(jié)果含有較多漲跌幅較小的預(yù)測(cè)值,對(duì)投資指導(dǎo)的實(shí)際意義不大.因此,為使預(yù)測(cè)更貼合實(shí)際需求,本文進(jìn)一步挖掘股票數(shù)據(jù)特征,對(duì)所用數(shù)據(jù)集做漲跌幅分布的樣本統(tǒng)計(jì),并按照統(tǒng)計(jì)結(jié)果確定具體漲跌分類的劃分.圖2、圖3和圖4分別是整體股票數(shù)據(jù)、訓(xùn)練集數(shù)據(jù)和測(cè)試集數(shù)據(jù)的價(jià)格漲跌幅分布圖.3個(gè)數(shù)據(jù)集在價(jià)格漲跌幅的分布上接近高斯分布,符合一般的事物分布規(guī)律.

圖5為3個(gè)數(shù)據(jù)集以漲跌幅1%為界限將股票漲跌幅做3分類時(shí)的直方圖.從圖5可以看出,無論是訓(xùn)練集數(shù)據(jù)還是測(cè)試集數(shù)據(jù),在3類漲跌幅分布區(qū)間上占比基本均衡,其中屬于小范圍漲跌區(qū)間(-1%~1%)的股票樣本稍多于其他兩類.在多分類任務(wù)中,各類別均衡的樣本分布其預(yù)測(cè)效果通常會(huì)更好一些.因此,本文在股票漲跌預(yù)測(cè)上選擇如上所分的3分類預(yù)測(cè)方式,這樣在預(yù)測(cè)結(jié)果中才能區(qū)分小范圍漲跌幅、大漲和大跌的情況,且更具有實(shí)際意義.

2.2 股票數(shù)據(jù)處理

股票市場(chǎng)常常會(huì)受到諸如政策、突發(fā)事件等因素干擾而出現(xiàn)停盤,從而造成樣本數(shù)據(jù)缺失.為使數(shù)據(jù)集的股票序列長(zhǎng)度一致,本文對(duì)原始的股票數(shù)據(jù)進(jìn)行了填充.對(duì)交易日停盤造成數(shù)據(jù)缺失的股票,本文使用停盤交易日前一天的數(shù)據(jù)填充該日的交易信息.

從表2的股票特征信息可知,不同特征的股票數(shù)據(jù)在量級(jí)上相差很大,開盤價(jià)、最高價(jià)、收盤價(jià)和最低價(jià)等價(jià)格特征數(shù)值較一致,成交量數(shù)據(jù)在量級(jí)上遠(yuǎn)大于其他數(shù)據(jù)類型,漲跌幅數(shù)據(jù)變化范圍為-10~10.因此,數(shù)據(jù)集進(jìn)入模型訓(xùn)練前,需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理,以降低特征量綱差異對(duì)模型造成的干擾.本文使用零均值歸一化來消除量綱的影響,記原始數(shù)據(jù)維X、Xmax、Xmin分別為原始數(shù)據(jù)中的最大值和最小值.歸一化公式如下:

(6)

本文使用分類的方式對(duì)股票漲跌進(jìn)行預(yù)測(cè).記某連續(xù)T個(gè)交易日的價(jià)格序列為P1,P2,…,PT.本文將根據(jù)前T天的股票數(shù)據(jù),預(yù)測(cè)第T+1天的股票漲跌.對(duì)漲跌的定義使用2.1節(jié)的分析結(jié)果,即以漲跌幅1%為界限,將股票的漲跌做3分類:漲幅1%以上為大漲;跌幅1%以上為大跌;其余股票數(shù)據(jù)為不漲不跌類別.記第T+1天的股票漲跌幅為yT+1,對(duì)應(yīng)區(qū)間的量化數(shù)值為YT+1,則具體的漲跌量化方式如下:

(7)

2.3 GRU股票預(yù)測(cè)模型

本文使用GRU作為基本網(wǎng)絡(luò)框架,深度學(xué)習(xí)框架使用當(dāng)前最流行的Tensorflow深度學(xué)習(xí)庫.由于Tensorflow對(duì)神經(jīng)網(wǎng)絡(luò)高度接口化,因此使其在構(gòu)建深層神經(jīng)網(wǎng)絡(luò)、模型調(diào)參等方面具有靈活、高效的優(yōu)點(diǎn).

GRU股票預(yù)測(cè)模型的輸入包括開盤價(jià)、最高價(jià)、收盤價(jià)、最低價(jià)、成交量和漲跌幅6維歸一化后的股票基本交易特征.輸入的特征設(shè)置了同等數(shù)量參數(shù)的權(quán)值矩陣,其權(quán)值矩陣的初始化方式為隨機(jī)初始化.在模型層數(shù)上,由于單隱層的神經(jīng)網(wǎng)絡(luò)擬合效果較差,因此本文采用3層的GRU作為網(wǎng)絡(luò)結(jié)構(gòu).每層神經(jīng)元節(jié)點(diǎn)數(shù)為64,每層網(wǎng)絡(luò)間以全連接的方式連接.在輸出上,本文使用3分類的方式預(yù)測(cè)股票漲跌.將2.2節(jié)所定義的漲跌量化使用Onehot編碼,并將編碼結(jié)果作為標(biāo)簽有監(jiān)督地訓(xùn)練模型.因此,在GRU網(wǎng)絡(luò)輸出端需要接一個(gè)Softmax層,將輸出轉(zhuǎn)換為每個(gè)漲跌幅區(qū)間的概率,并以取得最大概率的區(qū)間為預(yù)測(cè)區(qū)間.

為優(yōu)化網(wǎng)絡(luò)權(quán)重,通常使用損失函數(shù)來估計(jì)預(yù)測(cè)值和標(biāo)簽的差異.由于使用多分類的預(yù)測(cè)方式,因此損失函數(shù)選擇交叉熵?fù)p失函數(shù).其定義如下:

(8)

3 實(shí)驗(yàn)結(jié)果

在實(shí)驗(yàn)過程中,為防止迭代次數(shù)過多而造成模型過擬合,將訓(xùn)練集按照8∶2的比例分為訓(xùn)練集和驗(yàn)證集.訓(xùn)練設(shè)定的隱藏層神經(jīng)節(jié)點(diǎn)數(shù)為64,初始的學(xué)習(xí)率為0.003,迭代100次.時(shí)間步長(zhǎng)T的選擇為10,即用前10天的股票數(shù)據(jù)預(yù)測(cè)第11天的股票收盤價(jià)的漲跌.在訓(xùn)練過程中,不斷保留驗(yàn)證集損失函數(shù)值最低的模型,訓(xùn)練結(jié)束后,將取得驗(yàn)證集損失函數(shù)值最低的模型作為最終模型,并使用該模型對(duì)測(cè)試集股票數(shù)據(jù)進(jìn)行預(yù)測(cè).為較全面地衡量模型的預(yù)測(cè)效果,本文除使用準(zhǔn)確率評(píng)價(jià)模型的預(yù)測(cè)結(jié)果外,還使用精確率、召回率和F1值等指標(biāo).

圖6為迭代100次訓(xùn)練集和驗(yàn)證集損失函數(shù)的變化圖.由圖6可以看出,訓(xùn)練40次時(shí),驗(yàn)證集的損失函數(shù)值已經(jīng)變化較小.訓(xùn)練集損失函數(shù)值雖然仍在減小,但出現(xiàn)了振蕩,說明模型已經(jīng)出現(xiàn)過擬合.因此,將驗(yàn)證集損失函數(shù)值最小時(shí)的模型作為最終模型.

表3為使用訓(xùn)練好的模型對(duì)中證100測(cè)試集的預(yù)測(cè)結(jié)果.由表3可以看出,整體3分類預(yù)測(cè)的準(zhǔn)確率為53%,精確率為68%.模型預(yù)測(cè)的精確率高于準(zhǔn)確率,模型預(yù)測(cè)的漲跌區(qū)間主要集中在-1~1,該區(qū)間內(nèi)的精確率較高,其他兩個(gè)區(qū)間相對(duì)較低.

表3 測(cè)試集漲跌準(zhǔn)確率

該模型是使用中證100整體數(shù)據(jù)訓(xùn)練得到的,在實(shí)際運(yùn)用中,常對(duì)某只股票單獨(dú)預(yù)測(cè)投資.因此本文從數(shù)據(jù)集中隨機(jī)抽取了3只個(gè)股,驗(yàn)證它們?cè)谠撃P蜕系谋憩F(xiàn).表4是3只股票在模型上的預(yù)測(cè)結(jié)果.

表4 單只股票預(yù)測(cè)

由表4可以看出,洋河股份在股票漲跌預(yù)測(cè)模型上的表現(xiàn)差于整體測(cè)試集的模型,但平安銀行和貴州茅臺(tái)兩只股票的準(zhǔn)確率都高于測(cè)試集.這說明不同股票由于時(shí)間段的股票數(shù)據(jù)特征不同,在整體數(shù)據(jù)訓(xùn)練模型上的表現(xiàn)也不同.投資者實(shí)際使用時(shí),對(duì)表現(xiàn)不佳的股票需要使用該股票的數(shù)據(jù)對(duì)模型進(jìn)行微調(diào),以提升其預(yù)測(cè)的準(zhǔn)確率.

4 結(jié) 語

在預(yù)測(cè)股票漲跌的問題上,本文提出一種基于GRU的股票漲跌預(yù)測(cè)模型,該模型是使用3分類的預(yù)測(cè)方式建立的.數(shù)據(jù)集使用2017—2019年的中證100成分股數(shù)據(jù).通過對(duì)中證100整體股票的預(yù)測(cè),提供大盤股票的漲跌走勢(shì),能夠幫助投資者做出正確的決策.在個(gè)股預(yù)測(cè)上,需要利用個(gè)股數(shù)據(jù)對(duì)模型進(jìn)行微調(diào),以提高模型對(duì)個(gè)股的擬合.

猜你喜歡
股票神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)
無可預(yù)測(cè)
黃河之聲(2022年10期)2022-09-27 13:59:46
選修2-2期中考試預(yù)測(cè)卷(A卷)
選修2-2期中考試預(yù)測(cè)卷(B卷)
神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
電子制作(2019年19期)2019-11-23 08:42:00
不必預(yù)測(cè)未來,只需把握現(xiàn)在
本周創(chuàng)出今年以來新高的股票
本周創(chuàng)出今年以來新高的股票
本周連續(xù)上漲3天以上的股票
近期連續(xù)漲、跌3天以上的股票
基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
临夏市| 陇南市| 海丰县| 鄂托克旗| 伽师县| 收藏| 株洲县| 双辽市| 耒阳市| 阿拉尔市| 栖霞市| 开原市| 美姑县| 邢台县| 修武县| 安岳县| 轮台县| 辛集市| 山西省| 锦州市| 中阳县| 航空| 仲巴县| 紫金县| 鞍山市| 鄂温| 甘孜县| 仪征市| 禄丰县| 泗水县| 汝城县| 集贤县| 麟游县| 长治县| 沈丘县| 丽水市| 阳山县| 灵武市| 星座| 张家口市| 鹿泉市|