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

?

基于時(shí)序集成森林的股票多類別預(yù)測研究

2021-08-06 08:28:48王平飛
現(xiàn)代計(jì)算機(jī) 2021年18期
關(guān)鍵詞:收盤價(jià)時(shí)序類別

王平飛

(四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065)

0 引言

股票市場可以帶來高收益率,如何合理預(yù)測股票的走勢,獲得最大的收益一直是業(yè)界學(xué)者探索的方向。但由于股票數(shù)據(jù)存在噪聲,影響因素頗多,預(yù)測過程較為復(fù)雜。人工智能技術(shù)的發(fā)展為股票預(yù)測研究提供了新的思路,各種機(jī)器學(xué)習(xí)算法如SVM、BP、隨機(jī)森林[1-3]以及深度學(xué)習(xí)算法LSTM、LSTM-CNN-CBAM、LSTM-AdaBoost[4-6]等算法相繼在股票收盤價(jià)預(yù)測中得到了應(yīng)用,但是以上模型均是針對股票的收盤價(jià)進(jìn)行預(yù)測,雖然取得了較好的結(jié)果,但是仍然存在誤差,并且預(yù)測的結(jié)果也存在滯后性,加上投資人普遍更關(guān)心漲跌的趨勢。針對這一情況,夏陽雨新提出了基于LSTM的股票多類別預(yù)測模型[7],包振山在LSTM收盤價(jià)預(yù)測模型的基礎(chǔ)上使用GA算法對股票的漲跌信號進(jìn)行判定,提出了基于LSTM-GA的股票漲跌預(yù)測模型[8]。

本文對長短記憶網(wǎng)絡(luò)(LSTM)、隨機(jī)森林(RF)和集成森林進(jìn)行了深入研究,提出了一種基于時(shí)序集成森林的混合股票多類別預(yù)測模型,該模型首先使用LSTM和隨機(jī)森林進(jìn)行收盤價(jià)的預(yù)測,再將預(yù)測的收盤價(jià)與前一天預(yù)測的收盤價(jià)進(jìn)行對比得到漲跌信號,再使用集成森林對LSTM輸出的時(shí)序特征和漲跌信號進(jìn)行分類,得到最終的股票漲跌趨勢。結(jié)合了LSTM提取時(shí)序特征的能力和隨機(jī)森林的回歸能力以及集成森林強(qiáng)大的分類能力,最后使用平安銀行股票數(shù)據(jù)進(jìn)行了驗(yàn)證,實(shí)驗(yàn)結(jié)果表明本文提出的股票預(yù)測模型精度更高。

1 股票預(yù)測模型框架

1.1 方法總體架構(gòu)

本文中提出的股票預(yù)測模型總共有3個步驟。

(1)數(shù)據(jù)獲取及處理。利用Tushare財(cái)經(jīng)接口包下載平安銀行股票數(shù)據(jù)000001.sz,并將其歸一化到(0,1)之間。

(2)LSTM-RF股票收盤價(jià)預(yù)測,并將預(yù)測的結(jié)果與前一天的預(yù)測結(jié)果對比得到漲跌信號。

(3)集成森林股票漲跌判定。將LSTM訓(xùn)練完成后輸出的時(shí)序特征數(shù)據(jù)輸入隨機(jī)森林訓(xùn)練。訓(xùn)練完成后對測試數(shù)據(jù)進(jìn)行預(yù)測。如圖1所示。

圖1 股票預(yù)測模型

1.2 LSTM時(shí)序特征提取

其中C t是當(dāng)前時(shí)刻LSTM的控制單元狀態(tài)矩陣,W c是更新權(quán)重矩陣,b c是更新的偏執(zhí)矩陣,Ht是當(dāng)前LSTM在t時(shí)刻的輸出。

1.3 隨機(jī)森林預(yù)測算法

隨機(jī)森林可用于解決分類和回歸問題,當(dāng)用于回歸時(shí),每一棵決策樹就是一棵回歸樹(CART),通過最小均方差來進(jìn)行劃分,對于需要劃分的特征A,可以取到一個任意的劃分點(diǎn)s將數(shù)據(jù)集劃分為兩個部分,這里記為D1和D2,通過迭代使得劃分后得到的數(shù)據(jù)集的各自的均方差最小,也就是滿足式(6)。

圖2 LSTM模型

式中的c1和c2分別是劃分的兩個數(shù)據(jù)集D1和D2的輸出均值,通過這個原則進(jìn)行反復(fù)迭代,直到誤差到達(dá)設(shè)定范圍內(nèi)或者是達(dá)到迭代次數(shù),算法結(jié)束,最后的輸出值就是所有決策樹的均值[10-11],具體的算法1所示。

算法1隨機(jī)森林回歸算法

輸入:LSTM提取的時(shí)序特征數(shù)據(jù)

輸出:股票預(yù)測的最高價(jià)

步驟一:利用Bootstrap算法對LSTM提取時(shí)序特征后的樣本進(jìn)行重抽樣,得到k組新的樣本集{θ1,θ2…θk}。

步驟二:利用上一步劃分得到的k組樣本分別構(gòu)建決策樹{{T(x,θ1)},{T(x,θ2)}…{T(x,θk)}}。

步驟三:從樣本的M維特征中抽取m個作為節(jié)點(diǎn)的分裂特征集,并保持m在隨機(jī)森林形成中不變。

步驟四:對于給定的數(shù)據(jù)樣本X=x下,根據(jù)每棵決策樹的觀測值{Y1…Y k}得到單棵決策樹的預(yù)測值

步驟五:對每個決策樹的權(quán)重取平均值,其中X=X i(i∈{1,2,…n}),t=(1,2,…k),進(jìn)一步得到每個觀測值

1.4 集成森林分類算法

集成森林是由多個RF層間級聯(lián)構(gòu)成的一個森林層,每一層的輸出就是一組預(yù)測值,在訓(xùn)練的過程中會使用測試集判定該層的輸入是否滿足收斂條件,如果不滿足就會將輸出向量與初始輸入數(shù)據(jù)相連接作為下一層的輸入[12],具體的模型如圖3所示,samples為預(yù)處理后的數(shù)據(jù)向量,輸入第1個森林層后,4個森林分別估計(jì)所有樣本的類別概率,然后將其作為輸出向量與原始樣本數(shù)據(jù)進(jìn)行拼接,并作為下一層的輸入向量,直至達(dá)到預(yù)設(shè)的循環(huán)次數(shù)或收斂條件為止。最后,對輸出層的向量求均值,將輸出概率最大的類別作為預(yù)測的樣本類別。

圖3 集成森林原理圖

在本文的股票多類別預(yù)測中,集成森林用來進(jìn)行最終的漲跌分類,輸入為LSTM輸出的時(shí)序特征和漲跌信號模塊輸出的初步漲跌類別,輸出為股票最終的漲跌類別。

2 實(shí)驗(yàn)結(jié)果及分析

2.1 數(shù)據(jù)預(yù)處理

本文實(shí)驗(yàn)使用的數(shù)據(jù)為平安銀行股票數(shù)據(jù),包含了2001年至2020年共4675條股票數(shù)據(jù),每條數(shù)據(jù)包含了ts_code(股票代碼)、trade_date(交易日期)、open(開盤價(jià))、high(最高價(jià))、low(最低價(jià))、close(收盤價(jià))、pre_close(前一天收盤價(jià))、change(價(jià)格變動)、pct_chog(價(jià)格波動百分比)、vol(成交量)、amount(成交金額)共11個指標(biāo),部分?jǐn)?shù)據(jù)如圖4所示。

由于每個指標(biāo)的量綱的影響,比如收盤價(jià),最高價(jià)和交易數(shù)量之間的統(tǒng)計(jì)量級之間存在較大差異,為了消除不同指標(biāo)的量綱的影響,在訓(xùn)練之前進(jìn)行了預(yù)處理,將數(shù)據(jù)歸一化到(0,1)之間,歸一化的公式如式(7)所示[5]。

根據(jù)當(dāng)日股票收盤價(jià)與前一天的收盤價(jià)格波動的百分比,將股票的漲跌情況分成了2個類別,其中漲幅大于等于0為漲,小于等于0為跌,用2位的二進(jìn)制數(shù)據(jù)對4中漲跌情況類別進(jìn)行表示,具體的如表1所示。

表1 漲跌情況二進(jìn)制表示

2.2 實(shí)驗(yàn)參數(shù)設(shè)置

LSTM模型中承擔(dān)提取時(shí)序特征的角色,實(shí)驗(yàn)中設(shè)定了三層的LSTM來提取時(shí)序特征,每一層LSTM的節(jié)點(diǎn)數(shù)均設(shè)定為128,每一層LSTM之間設(shè)定一個參數(shù)位0.1的dropout層,激活函數(shù)選用ReLU,時(shí)間窗口的大小設(shè)定為10。

隨機(jī)森林在模塊中承擔(dān)著對LSTM提取時(shí)序進(jìn)行收盤價(jià)擬合的角色,實(shí)驗(yàn)中將決策樹的棵樹nTree取值為30,損失函數(shù)選用Gini,其余參數(shù)采用默認(rèn)參數(shù)。

集成森林在模型中負(fù)責(zé)最終的漲跌類別判定,實(shí)驗(yàn)中將每次輸入的特征數(shù)量設(shè)定為80,決策樹數(shù)量設(shè)定為20,具體的參數(shù)如表2所示。

表2 集成森林參數(shù)設(shè)定

2.3 實(shí)驗(yàn)評價(jià)標(biāo)準(zhǔn)

本文采用分類準(zhǔn)確率、精確率和各漲跌類別的F分?jǐn)?shù)作為評價(jià)指標(biāo)[14],具體如式(8)-式(10)所示:

2.4 實(shí)驗(yàn)結(jié)果分析

實(shí)驗(yàn)中使用的數(shù)據(jù)集為平安銀行股票數(shù)據(jù),按照8:2的比例分成訓(xùn)練集和測試集,首先使用訓(xùn)練集進(jìn)行LSTM-RF模塊訓(xùn)練,訓(xùn)練完成后對股票的收盤價(jià)進(jìn)行預(yù)測,在測試集上的驗(yàn)證結(jié)果如圖5所示。

從圖5中不難看出本文的LSTM-RF收盤價(jià)預(yù)測模塊在測試集上表現(xiàn)出了很大的優(yōu)勢,預(yù)測值與實(shí)際值幾乎完全重合。

LSTM-RF模塊訓(xùn)練完成后通過漲跌信號判別模塊,將當(dāng)前數(shù)據(jù)樣本的預(yù)測值與其一天樣本的預(yù)測值對比,得到漲跌信號,漲跌信號的劃分如表2所示。然后將訓(xùn)練集的漲跌信號與LSTM輸出的訓(xùn)練集樣本的時(shí)序特征輸入集成森林進(jìn)行訓(xùn)練,訓(xùn)練完成后對測試集進(jìn)行漲跌情況預(yù)測,實(shí)驗(yàn)結(jié)果如表4所示。

圖4 股票數(shù)據(jù)

圖5 LSTM-RF測試集真實(shí)值和預(yù)測值對比

從表4中可以看出本文算法LSTM-RF-DF在對各類別樣本的檢測率(Recall)、精確度(Precision)、和f1分?jǐn)?shù)三個指標(biāo)上均優(yōu)于傳統(tǒng)的LSTM算法和改進(jìn)后的LSTM-RF算法,對漲跌兩類樣本的檢測率均達(dá)到了70%以上。傳統(tǒng)的LSTM和LSTM-RF兩種算法對樣本的識別很不平衡,LSTM對漲類別預(yù)測準(zhǔn)確率為63%,但對跌樣本的預(yù)測準(zhǔn)確率進(jìn)36%,二者相差27%,LSTM-RF雖然準(zhǔn)確率有了一定的提高,但是仍然表現(xiàn)出這種不平衡性。本文算法在LSTM-RF算法基礎(chǔ)上使用的集成森林對LSTM-RF的預(yù)測結(jié)果進(jìn)行了二次判定,不僅在三個指標(biāo)上均優(yōu)于另外兩種算法,而且對兩類樣本的檢測準(zhǔn)確率僅相差5%,對樣本識別的平衡度遠(yuǎn)遠(yuǎn)高于另外兩種算法。

表4 三種算法二分類預(yù)測結(jié)果/%

圖6和圖7給出了三種算法在整體的檢測準(zhǔn)確率和平均精確度,平均f1分?jǐn)?shù)三個指標(biāo)上的對比,結(jié)果表明,本文算法在整體的預(yù)測準(zhǔn)確率和精確度乃至發(fā)分?jǐn)?shù)三個指標(biāo)上仍然表現(xiàn)出了優(yōu)勢,在整體的預(yù)測準(zhǔn)確率這一指標(biāo)上高出另外兩種算法20%,進(jìn)一步體現(xiàn)了本文算法的優(yōu)勢。

圖6 三種算法的2類別預(yù)測準(zhǔn)確率對比

圖7 三種算法的2類別預(yù)測平均精確度和f分?jǐn)?shù)對比

為了進(jìn)一步驗(yàn)證本文提出算法的優(yōu)勢,將股票的收盤價(jià)漲幅分成了4個類別進(jìn)行實(shí)驗(yàn)驗(yàn)證(其中大于3%為大漲,0到3%之間為小漲,-3%到0之間為小跌,小于-3%為大跌),得到的結(jié)果如表7-表7所示。

表5 LSTM-RF-DF算法預(yù)測/%

表6 LSTM-RF算法預(yù)測/%

表7 LSTM算法預(yù)測/%

實(shí)驗(yàn)結(jié)果表明,4類別預(yù)測的精度明顯低于2類別預(yù)測,由此也可以看出股票的價(jià)格波動并非僅僅收到某些指標(biāo)的影響,但是在4類別預(yù)測上原始的LSTM算法表現(xiàn)出了很大的劣勢,大漲和大跌兩個類別完全無法識別。而LSTM-RF算法在一定程度上對大跌和大漲由識別能力,但準(zhǔn)確率均沒超過5%。本文算法在LSTM-RF的基礎(chǔ)上使用集成森林對預(yù)測結(jié)果進(jìn)行了二次判定,在對大跌的檢測率上比LSTM-RF增加了7%,大漲的檢測率上增加了6%。此外,在精確度和f分?jǐn)?shù)兩個指標(biāo)結(jié)果也表明本文算法優(yōu)于LSTM-RF和原始的LSTM算法。

圖8 三種算法的4類別預(yù)測準(zhǔn)確率對比

3 結(jié)語

本文結(jié)合了LSTM提取時(shí)序特征的能力、隨機(jī)森林算法強(qiáng)大的擬合能力以及集成森林的多類別預(yù)測優(yōu)勢,提出了基于時(shí)序集成森林的股票多類別預(yù)測模型,該算法首相將原始股票數(shù)據(jù)輸入LSTM模塊,得到股票數(shù)據(jù)的時(shí)序特征,然后利用RF預(yù)測收盤價(jià),并根據(jù)收盤價(jià)預(yù)測出股票的漲幅,與LSTM輸出的時(shí)序特征一起作為集成森林的輸入,最終得到股票下一天的漲跌情況。最后在平安銀行股票數(shù)據(jù)上進(jìn)行了二分類預(yù)測和4分類預(yù)測,得到的結(jié)果均表明本文算法優(yōu)于原始的LSTM算法和LSTM-RF算法。下一步將考慮情感因素對股價(jià)的印象,搭建出更加完善的股票預(yù)測模型。

猜你喜歡
收盤價(jià)時(shí)序類別
時(shí)序坐標(biāo)
基于Sentinel-2時(shí)序NDVI的麥冬識別研究
股神榜
股神榜
股神榜
一種毫米波放大器時(shí)序直流電源的設(shè)計(jì)
電子制作(2016年15期)2017-01-15 13:39:08
股神榜
服務(wù)類別
新校長(2016年8期)2016-01-10 06:43:59
論類別股東會
商事法論集(2014年1期)2014-06-27 01:20:42
中醫(yī)類別全科醫(yī)師培養(yǎng)模式的探討
贺州市| 盐亭县| 青龙| 合水县| 昭平县| 报价| 都匀市| 汪清县| 四川省| 扬州市| 汝南县| 陆良县| 新河县| 永春县| 广安市| 龙陵县| 札达县| 容城县| 神木县| 丹寨县| 中江县| 洪泽县| 长垣县| 临猗县| 陕西省| 德清县| 从江县| 海林市| 大石桥市| 沙湾县| 集贤县| 麟游县| 长葛市| 昭苏县| 阜阳市| 江陵县| 阿拉善盟| 德化县| 历史| 中西区| 师宗县|