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

?

基于LSTM和新聞情感的股票價格預(yù)測方法

2022-05-27 06:56:22李桂城肖一凡陳麗綿
智能計算機(jī)與應(yīng)用 2022年5期
關(guān)鍵詞:股票價格預(yù)測函數(shù)

許 麗,張 利,李桂城,肖一凡,陳麗綿,唐 艷

(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴陽 550025)

0 引 言

股票市場是國家經(jīng)濟(jì)市場的重要組成之一。隨著中國經(jīng)濟(jì)的騰飛和大數(shù)據(jù)的發(fā)展,一方面,關(guān)心股市問題的不再只有上市公司,越來越多的普通民眾將目光轉(zhuǎn)向股票投資;另一方面,影響股票價格的因素有經(jīng)濟(jì)、政治和公司自身的管理等,均使得股票價格走勢變得難以預(yù)測。因此,眾多研究者開始深入研究影響股票價格的因素,并提出了許多經(jīng)典模型。

文獻(xiàn)[1]提出了一種ARIMA和SVM的組合預(yù)測模型,首先使用ARIMA模型對華泰證券一年的股票價格進(jìn)行線性預(yù)測,接著使用SVM模型對其進(jìn)行非線性預(yù)測,實驗表明,組合預(yù)測模型得到的綜合結(jié)果精度高于單一模型。文獻(xiàn)[2]改進(jìn)了XGBoost模型,使用網(wǎng)格搜索算法對模型進(jìn)行參數(shù)優(yōu)化,基于原XGBoost、GBDT、SVM以及改進(jìn)的XGBoost模型對5個短期數(shù)據(jù)集,如中國平安、中國建筑等進(jìn)行預(yù)測,實驗結(jié)果表明,XGBoost表現(xiàn)出了最優(yōu)的評價指標(biāo)和最好的擬合性能。文獻(xiàn)[3]提出了一種粒子群和支持向量機(jī)的組合模型,傳統(tǒng)的支持向量機(jī)在股票預(yù)測中取得了較好的效果,但是根據(jù)人為經(jīng)驗選取支持向量機(jī)的參數(shù)和核函數(shù)存在很大的弊端,而該模型利用粒子群算法可以自動更新速度和位置且各粒子之間共享信息的特性,對SVM的參數(shù)進(jìn)行優(yōu)化,實驗結(jié)果顯示,該算法在很大程度上提高了預(yù)測結(jié)果,對比原始的SVM,準(zhǔn)確率有所提高。文獻(xiàn)[4]提出了Bagging-SVM模型,算法的思想是利用bagging將數(shù)據(jù)集劃分為若干的子訓(xùn)練集去訓(xùn)練傳統(tǒng)的SVM,最后通過對每一個子SVM模型的預(yù)測結(jié)果進(jìn)行投票,票數(shù)最多的項即為最終的預(yù)測結(jié)果。文獻(xiàn)[5]在對輸入數(shù)據(jù)進(jìn)行預(yù)處理后,將其送入層數(shù)不同的LSTM和層數(shù)相同、但神經(jīng)元不同的網(wǎng)絡(luò)結(jié)構(gòu)中,通過評價指標(biāo)來選擇合適的結(jié)果,并對蘋果公司的股價進(jìn)行預(yù)測分析,驗證了其精度可提高30%,證明了該方法的可行性。文獻(xiàn)[6]將LSTM網(wǎng)絡(luò)用于股票價格預(yù)測,通過對模型進(jìn)行不斷調(diào)優(yōu),獲得最優(yōu)預(yù)測模型后將其預(yù)測結(jié)果與BP神經(jīng)網(wǎng)絡(luò)、RNN、CNN,人工神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果進(jìn)行對比,結(jié)果表明,LSTM評價指標(biāo)最優(yōu)且預(yù)測值和真實值的曲線擬合得最好。文獻(xiàn)[7]提出了一種基于粒子群算法改進(jìn)的LSTM模型,傳統(tǒng)LSTM網(wǎng)絡(luò)常常根據(jù)自身經(jīng)驗確定其中的重要參數(shù),由于主觀性極強(qiáng)無法確定最優(yōu)值,粒子群算法的提出解決了這一問題,通過算法尋優(yōu)構(gòu)建了完善的預(yù)測模型,使得準(zhǔn)確率大大提高且獲得了普遍的適用性。文獻(xiàn)[8]將不同的輸入特征送入LSTM模型來預(yù)測股票的收入,驗證了特征不同的輸入對股票價格的影響。文獻(xiàn)[9]提出了Adv-ALSTM模型,通過添加擾動來模擬價格的隨機(jī)性,以此來訓(xùn)練模型在干擾數(shù)據(jù)下的泛化能力,實驗表明,在訓(xùn)練模型階段,采取對抗性網(wǎng)絡(luò)的方式大大提高了網(wǎng)絡(luò)性能和擬合能力。為了同時滿足捕獲長時間依賴關(guān)系和選擇相關(guān)驅(qū)動進(jìn)行預(yù)測的要求,文獻(xiàn)[10]提出了DA-RNN網(wǎng)絡(luò),該網(wǎng)絡(luò)是一個2層LSTM結(jié)構(gòu),包含解碼和編碼環(huán)節(jié),將該模型應(yīng)用在SML2010數(shù)據(jù)上,結(jié)果表明該網(wǎng)絡(luò)不僅可以進(jìn)行有效預(yù)測,而且具有很強(qiáng)的可解釋性。文獻(xiàn)[11]提出了基于TCN和文本情感分析方法的股票價格預(yù)測方法,通過爬蟲的方式獲取相關(guān)數(shù)據(jù)集,使用LSTM對新聞文本進(jìn)行情感極性分析,并將其結(jié)果與股票數(shù)據(jù)一同輸入TCN網(wǎng)絡(luò),改進(jìn)后模型的評價指標(biāo)表現(xiàn)良好,驗證了其可行性。

本文的結(jié)構(gòu)大致如下:第一節(jié)綜述了股票價格預(yù)測的經(jīng)典模型和算法;第二節(jié)介紹了本文使用的一些相關(guān)算法機(jī)理;第三節(jié)概述了本文算法的原理;第四節(jié)給出了本文網(wǎng)絡(luò)在相關(guān)數(shù)據(jù)集上的評價指標(biāo)和擬合曲線的實驗結(jié)果;第五節(jié)總結(jié)概括了該文章,并提出該領(lǐng)域未來可能的發(fā)展方向。

1 相關(guān)算法

1.1 交叉驗證

泛化能力是評價一個模型好壞的指標(biāo)之一。因此,常常使用交叉驗證來提高模型的泛化能力。常見的交叉驗證有簡單交叉驗證、留一交叉驗證以及k折交叉驗證。其中,簡單交叉驗證僅僅需要將數(shù)據(jù)集劃分為2份,選取數(shù)據(jù)量小的一份作為驗證集來評價模型的好壞,該算法雖然可以用來評價模型,但是劃分的比率不同會產(chǎn)生較大的差異。留一法,顧名思義,將個樣本劃分為份,進(jìn)行次訓(xùn)練,每次只留一份為驗證集,該方法在數(shù)據(jù)量小的時候可以最大限度地利用每一個樣本,其弊端在于如果數(shù)據(jù)量很大時會造成欠擬合。k折交叉驗證把數(shù)據(jù)集劃分為份,每一份逐一作為驗證集去評價模型,基于此再取平均值作為最后的評價指標(biāo)。一般情況下,值越大則模型性能越好,但是有研究表明,其范圍在5~10之間或能取得最佳效能,本文使用10折交叉驗證對LSTM模型進(jìn)行訓(xùn)練。

1.2 XGBoost

XGBoost是梯度提升決策樹算法(DBDT)的改進(jìn)版本。由葉節(jié)點為分類變量的決策樹和葉節(jié)點為連續(xù)變量的回歸樹兩種增強(qiáng)樹組成。DBDT梯度提升樹的表達(dá)式如(1)所示: 為了避免正則化,通過在原網(wǎng)絡(luò)的基礎(chǔ)上增加正則項來簡化模型,XGBoost包括回歸樹和決策樹,并且采用了blocks的存儲結(jié)構(gòu),使得算法可并行,提高了運算速度。該算法的最終目標(biāo)是優(yōu)化函數(shù)Obj ,其中包含損失函數(shù)和表示復(fù)雜度的正則項。 網(wǎng)絡(luò)在每一次迭代之后增加一棵樹,來優(yōu)化Obj 。 函數(shù)的數(shù)學(xué)定義可寫為如下形式:

損失函數(shù)在第1次迭代時獲得的預(yù)測值的一次偏導(dǎo)g和二次偏導(dǎo)h,如式(3)所示:將目標(biāo)函數(shù)按泰勒二階公式展開,消除常數(shù)項帶來的影響。二階導(dǎo)數(shù)使得損失函數(shù)更加精確,并將式(3)帶入,得到新的目標(biāo)函數(shù)如式(4)所示:

進(jìn)一步地,研究中可推得:

在訓(xùn)練目標(biāo)函數(shù)時,f()=w,即把函數(shù)(樹)拆分為葉子的權(quán)重向量部分和樹的結(jié)構(gòu)部分,目標(biāo)函數(shù)可以表示為:

將式(5)帶入式(6)合并一次項系數(shù)和二次項系數(shù),得到最終的目標(biāo)函數(shù)如式(7)所示:

目標(biāo)函數(shù)又可稱作打分函數(shù),在一定范圍和條件下,目標(biāo)函數(shù)的值最小,表明此時得到了最優(yōu)解。總而言之,XGBoost具有很多優(yōu)點。不僅可以減少過擬合并且處理正則項,也可提升運算速度、可自定義目標(biāo)函數(shù)以及模型評價指標(biāo),具有高度靈敏性。除此之外,XGBoost具有自動處理數(shù)據(jù)集缺失值的功能,允許在boosting迭代中使用交叉驗證。

2 算法機(jī)理及流程

2.1 SVM_LSTM模型的搭建

隨著人們生活水平的提高,在滿足日常衣食住行之余,已有很多人開始利用手中的閑錢來做投資,由于股票的低投資以及高回報性,使其成為大眾的重要選擇,基于此,如何選擇最優(yōu)股即已成為備受關(guān)注的熱點話題。以往的研究者要么針對股票歷史數(shù)據(jù)進(jìn)行時序預(yù)測,要么采取分類網(wǎng)絡(luò)進(jìn)行文本情感分析,忽略了二者直接的內(nèi)在聯(lián)系。在此背景下,本文提出了SVM_LSTM網(wǎng)絡(luò)。

在時序預(yù)測通道上,本文首先采用歸一化的手段處理股票數(shù)據(jù),對股票數(shù)據(jù)進(jìn)行歸一化處理可以削弱量綱帶來的影響,將數(shù)據(jù)統(tǒng)一到一個相差不大的范圍,以此來減少較大數(shù)據(jù)和較小數(shù)據(jù)的影響,本文采取的歸一化公式具體如下:

其中,x表示第個變量,x表示均值。

其次,本文使用10折交叉驗證劃分經(jīng)過預(yù)處理的股票數(shù)據(jù),來訓(xùn)練LSTM模型;最后,調(diào)用訓(xùn)練良好的模型預(yù)測中國銀行、中國聯(lián)通、浦發(fā)銀行的股票數(shù)據(jù)。LSTM機(jī)理詳見2.2節(jié)。

在文本預(yù)測通道上,對于中國銀行股票新聞的文本數(shù)據(jù)集,本文首先在百度智能云網(wǎng)站注冊一個AipNlp賬號,這是自然語言處理的Python SDK客戶端,通過調(diào)用該網(wǎng)站可以對本文爬取的文本數(shù)據(jù)集做一個初步的處理,由于使用該接口對新聞文本標(biāo)題預(yù)測得到的結(jié)果為每一條新聞詞條對應(yīng)的積極的可能性和消極的可能性,本文在Python中指定當(dāng)積極的可能性大于消極的可能性時,就將該新聞文本標(biāo)注為1,代表利好,反之,將文本標(biāo)注為0,表示利空;隨后采用處理好的文本數(shù)據(jù)集訓(xùn)練SVM模型;最后,調(diào)用SVM預(yù)測文本新聞情感極性。SVM原理詳見2.3節(jié)。

至此,研究中采用了加權(quán)的方式將SVM的預(yù)測結(jié)果與LSTM的預(yù)測結(jié)果進(jìn)行融合。其算法流程如圖1所示。圖1中,第天的股票最終預(yù)測價格_pred的計算方法如式(9)所示:

圖1 算法流程圖Fig.1 Algorithm flow chart

其中,_pred 表示時序預(yù)測第天的結(jié)果。在本文中,由于在時序預(yù)測階段,真實值與預(yù)測值在整體走勢上擬合得很好,只需要微小的調(diào)整就可以使得預(yù)測值更接近于真實值,故而本文將設(shè)置為001。

2.2 LSTM

循環(huán)神經(jīng)網(wǎng)絡(luò)RNN能夠處理時序數(shù)據(jù),時序數(shù)據(jù)、即數(shù)據(jù)之間具有時間先后性,數(shù)據(jù)整體呈現(xiàn)某種趨勢。循環(huán)神經(jīng)網(wǎng)絡(luò)具有跨越時間節(jié)點的自連接層,能夠建立當(dāng)前時刻與序列上一時刻的關(guān)系。但是隨著網(wǎng)絡(luò)層的加深,由于循環(huán)神經(jīng)網(wǎng)絡(luò)只會獲取上一節(jié)點的信息,無法儲存距離當(dāng)前時刻較遠(yuǎn)的網(wǎng)絡(luò)的輸出,會造成梯度消失。為了解決梯度消失和梯度爆炸,最早由Zhao等人提出了LSTM網(wǎng)絡(luò),在此后的一段時間里,該網(wǎng)絡(luò)被廣泛地應(yīng)用在時序預(yù)測鄰域中。

LSTM是對RNN模型的改進(jìn),以達(dá)到解決梯度消失的效果。這一改進(jìn)主要表現(xiàn)為:在RNN隱藏層中添加了長短期記憶單元;通過添加門控結(jié)構(gòu)、引入激活函數(shù)結(jié)合RNN原有的tanh激活函數(shù),來控制網(wǎng)絡(luò)對歷史信息的輸入保存和輸出;輸入信息由添加的細(xì)胞狀態(tài)記憶。綜上所述可知,LSTM解決了短期依賴和長距離依賴問題。

LSTM的3個門控單元分別為輸入層、隱藏層、輸出層,共同構(gòu)成了模型的輸入部分。LSTM網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。由圖2可知,該結(jié)構(gòu)中各主體組成部分的設(shè)計原理及數(shù)學(xué)表述詳見如下。

圖2 LSTM網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 LSTM network structure

(1)輸入層。為全連接層,該網(wǎng)絡(luò)首先對數(shù)據(jù)進(jìn)行預(yù)處理,以達(dá)到輸入數(shù)據(jù)格式要求。輸入門的值i和輸入細(xì)胞的候選狀態(tài)值Ct可由如下方式計算得到:

其中,和表示計算時的權(quán)重矩陣;表示偏置向量;表示激活函數(shù)。

(2)隱藏層。是包含多個LSTM神經(jīng)元的循環(huán)神經(jīng)網(wǎng)絡(luò)。在該網(wǎng)絡(luò)結(jié)構(gòu)中,激活函數(shù)選取和tanh,時刻遺忘門的和當(dāng)前時刻細(xì)胞的狀態(tài)的更新值的數(shù)學(xué)表達(dá)式可寫為:

(3)輸出層。將隱含層的多個輸出結(jié)果映射到全連接層來獲得模型的最終輸出。在該層網(wǎng)絡(luò)結(jié)構(gòu)中,計算得到的最終輸出結(jié)果如下:

2.3 SVM

圖3 SVM分類示意圖Fig.3 SVM classification diagram

利用拉格朗日優(yōu)化最大間隔,最終得到?jīng)Q策函數(shù)具體如下:

其中,表示分類總數(shù)。

二次規(guī)劃問題,求解約束最優(yōu)化的問題變成公式(18):

其中,為懲罰函數(shù),該值與模型對噪聲的容忍度成正比,與模型的泛化能力成反比。

常見的SVM核函數(shù)有線性核函數(shù)、多項式核函數(shù)、徑向基核函數(shù),對應(yīng)的數(shù)學(xué)公式可順次表示為:

其中,和是常數(shù)項。

核函數(shù)的選擇決定了模型的預(yù)測效果,通過核函數(shù)網(wǎng)絡(luò),SVM將輸入的向量映射到高維特征的空間,將原本的非線性問題變換為高維度特征空間的線性可分問題。

3 實驗

3.1 數(shù)據(jù)集介紹

本文通過baostock庫爬取了中國銀行、中國聯(lián)通、浦發(fā)銀行三只股票從2020年8月30號到2021年10月27號的相關(guān)數(shù)據(jù),包括開盤價,收盤價,最高價以及最低價。 收盤價表示股票當(dāng)天的最后成交價,一般將其作為股票價格預(yù)測中唯一的因變量。圖4是中國銀行的收盤價隨時間的變化曲線,橫坐標(biāo)表示不同的日期,縱坐標(biāo)表示相應(yīng)日期對應(yīng)的股票價格。從圖4中可以看到該時序數(shù)據(jù)整體價格分布在2~4之間,某一天的閉盤價周圍一段時間內(nèi)不會發(fā)生太大的突變;但是,圖4中黃色方框處股票急劇上升,在綠色方框處股票又突然下降。

圖4 中國銀行股票跌漲曲線Fig.4 Stock decline and rise curve of Bank of China

對于新聞文本數(shù)據(jù)集,本文利用lxml庫爬取了“新浪財經(jīng)網(wǎng)”和“金融界”網(wǎng)站中有關(guān)中國銀行的新聞文本。lxml是XML和HTML文件的解析器,還可以用于Web爬取。

3.2 評價指標(biāo)

本文采取均方根誤差()、平均絕對誤差()以及均方誤差()來衡量模型的性能。各指標(biāo)值的數(shù)學(xué)公式可表示如下:

對于分類模型SVM,本文采取預(yù)測準(zhǔn)確率()來衡量效果的好壞,研究后可推得的數(shù)學(xué)公式如下:

其中,具體參數(shù)含義見表1。

表1 預(yù)測與實際情況類型表Tab.1 Forecast vs.actual type table

3.3 XGBoost和LSTM模型的預(yù)測結(jié)果

圖5(a)~圖5(c)中,左側(cè)為XGBoost模型的預(yù)測值與真實值的擬合曲線,右側(cè)為LSTM網(wǎng)絡(luò)的預(yù)測值與真實值擬合曲線。本文中,如果不做特殊說明,統(tǒng)一使用紅色曲線表示預(yù)測曲線,藍(lán)色曲線表示真實值曲線??梢钥吹剑?/p>

圖5 XGBoost和LSTM模型的預(yù)測結(jié)果Fig.5 Prediction results of XGBoost and LSTM models

(1)XGBoost模型擬合得到的預(yù)測值與真實值相比,其漲幅趨勢大致相同,并且在第天出現(xiàn)峰值時也能夠進(jìn)行較好的預(yù)測,然而預(yù)測值曲線整體處于真實值下方,說明對于數(shù)值的預(yù)測存在偏差,因此該模型性能仍存有提升空間。

(2)LSTM在保留了XGBoost優(yōu)點的同時,預(yù)測值無限逼近真實值,并且與絕大部分的低谷值和峰值完全吻合,針對中國銀行數(shù)據(jù)集,表2顯示了LSTM的評價指標(biāo)、和較XGBoost分別減少了0.234、0.173和0.011,說明了本文搭建的模型預(yù)測精度更高。

表2 XGBoost和LSTM在各數(shù)據(jù)集上的評價指標(biāo)Tab.2 Evaluation indicators of XGBoost and LSTM in each dataset

(3)中國銀行無論在曲線擬合程度、還是在評價指標(biāo)上,均優(yōu)于中國聯(lián)通和浦發(fā)銀行,對于LSTM網(wǎng)絡(luò),各評價指標(biāo)之間整體沒有大致的差別,表明了本文模型具有較好的泛化能力。

3.4 SVM實驗結(jié)果

使用中國銀行股票新聞數(shù)據(jù)集對SVM模型進(jìn)行訓(xùn)練,該模型的準(zhǔn)確率()達(dá)到了81%,高于文獻(xiàn)[3]中SVM模型所達(dá)到的79.11%,說明本文模型的可行性。表3展示了自2021年9月1號到2021年10月25號的預(yù)測結(jié)果,其中1代表利好,0代表利空,分別對應(yīng)了股票的上漲和下跌。表3中的新聞文本標(biāo)題均為中國銀行的個股資訊,由于不是每天都有相關(guān)新聞消息,表中的日期并不連續(xù)。沒有日期則對應(yīng)的時序預(yù)測股票價格保持不變。

表3 SVM預(yù)測結(jié)果Tab.3 SVM prediction results

3.5 SVM_LSTM模型實驗結(jié)果

本文將中國銀行的預(yù)測結(jié)果按照對應(yīng)日期加權(quán)(2.1節(jié)附有詳細(xì)說明)到LSTM的預(yù)測結(jié)果上。經(jīng)過計算,本文網(wǎng)絡(luò)SVM_LSTM的最終結(jié)果見表4,顯然,各評價指標(biāo)較原LSTM均明顯減少,、、分別減少了7.5%、6.4%、10.8%。

表4 SVM_LSTM評價指標(biāo)Tab.4 SVM_LSTM evaluation index

4 結(jié)束語

本文綜合考慮了影響股票價格的雙重因素,分別是新聞文本和股票歷史數(shù)據(jù),通過SVM和LSTM對2個通道的數(shù)據(jù)進(jìn)行預(yù)測,再對其預(yù)測結(jié)果進(jìn)行加權(quán)融合,使得2種不同的數(shù)據(jù)類型相互補(bǔ)充,讓最終預(yù)測股價更接近于真實價格。將本文模型應(yīng)用于中國移動股票的預(yù)測上,結(jié)果表明:

(1)利用交叉驗證優(yōu)化的LSTM雖然比XGBoost模型具有更高的預(yù)測精度,曲線擬合程度也更優(yōu),但是模型預(yù)測值和真實值之間仍然存在一定的差距。

(2)SVM模型預(yù)測準(zhǔn)確率雖然達(dá)到了81%,能夠給投資者提供大致的股票跌漲訊息,可是卻不能夠獲取實際閉盤價格。

(3)本文采取加權(quán)融合的方式將SVM以及LSTM的預(yù)測結(jié)果融合,使得評價指標(biāo)、、在原LSTM的基礎(chǔ)上分別減少了7.5%、6.4%、10.8%,證明了SVM_LSTM網(wǎng)絡(luò)的實用性,能夠給投資者帶來一定的參考價值。

下一步工作將考慮使用爬蟲獲取更多與股票相關(guān)的數(shù)據(jù)和文本訊息,進(jìn)行多維度、深層次的分析,同時考慮分別優(yōu)化時序和文本預(yù)測網(wǎng)絡(luò),采取更科學(xué)的舉措歸并兩者的預(yù)測結(jié)果。

猜你喜歡
股票價格預(yù)測函數(shù)
無可預(yù)測
黃河之聲(2022年10期)2022-09-27 13:59:46
選修2-2期中考試預(yù)測卷(A卷)
選修2-2期中考試預(yù)測卷(B卷)
二次函數(shù)
基于GARCH族模型的重慶啤酒股票價格波動研究
第3講 “函數(shù)”復(fù)習(xí)精講
二次函數(shù)
函數(shù)備考精講
不必預(yù)測未來,只需把握現(xiàn)在
論股票價格準(zhǔn)確性的社會效益
郧西县| 含山县| 黄石市| 平乐县| 黎川县| 沁阳市| 五常市| 黄平县| 秦皇岛市| 沾化县| 丰原市| 临安市| 绵竹市| 新平| 秦皇岛市| 稷山县| 洞口县| 江都市| 龙游县| 马鞍山市| 奉化市| 上蔡县| 盐城市| 临西县| 江达县| 河池市| 清流县| 吐鲁番市| 信丰县| 太仆寺旗| 尼玛县| 鄂托克前旗| 沙湾县| 讷河市| 陆丰市| 大荔县| 长岭县| 吉林市| 河北省| 同德县| 武鸣县|