王建國(guó)
(四川大學(xué)計(jì)算機(jī)學(xué)院,四川 610065)
基于BP神經(jīng)網(wǎng)絡(luò)的股票價(jià)格反轉(zhuǎn)點(diǎn)預(yù)測(cè)
王建國(guó)
(四川大學(xué)計(jì)算機(jī)學(xué)院,四川 610065)
股票市場(chǎng)在整個(gè)金融市場(chǎng)中起著很重要的作用。而股票價(jià)格反轉(zhuǎn)點(diǎn)的預(yù)測(cè)是最具有吸引力并且有意義的研究問(wèn)題之一。BP神經(jīng)網(wǎng)絡(luò)作為已被證明為具有實(shí)現(xiàn)任何復(fù)雜非線性映射的功能的多層預(yù)測(cè)模型特別適合于求解股票預(yù)測(cè)之類(lèi)的內(nèi)部機(jī)制復(fù)雜的問(wèn)題。旨在利用BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)能力實(shí)現(xiàn)對(duì)股票價(jià)格的反轉(zhuǎn)點(diǎn)預(yù)測(cè)。
股票價(jià)格反轉(zhuǎn)點(diǎn);BP神經(jīng)網(wǎng)絡(luò);數(shù)據(jù)挖掘
股票價(jià)格預(yù)測(cè)是利用股票形態(tài)分析理論對(duì)股票未來(lái)走勢(shì)的方向和可能性做出預(yù)測(cè),它的方法論依據(jù)是從海量的歷史數(shù)據(jù)中尋找和某支股票當(dāng)前趨勢(shì)相同或相似的趨勢(shì),并根據(jù)歷史趨勢(shì)判斷未來(lái)股票價(jià)格?,F(xiàn)今計(jì)算機(jī)科學(xué)技術(shù)和人工智能的出現(xiàn)促進(jìn)了股票預(yù)測(cè)方法的發(fā)展。例如:人工神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的處理雜亂信息和非線性逼近的能力,其采用了并行分布式系統(tǒng),具有自適應(yīng)、自組織、實(shí)時(shí)學(xué)習(xí)的特點(diǎn),同時(shí)可根據(jù)龐大數(shù)據(jù)的內(nèi)在聯(lián)系來(lái)建立模型。人工神經(jīng)網(wǎng)絡(luò)自誕生以來(lái)被廣泛應(yīng)用于人工智能、計(jì)算機(jī)科學(xué)、神經(jīng)網(wǎng)絡(luò)科學(xué)、思維科學(xué)等交叉領(lǐng)域,所以在某種程度上人工神經(jīng)網(wǎng)絡(luò)也正好極大地彌補(bǔ)了傳統(tǒng)計(jì)量經(jīng)濟(jì)學(xué)模型的弊病。近年來(lái),國(guó)內(nèi)眾機(jī)構(gòu)在金融預(yù)測(cè)方面也大量采用神經(jīng)網(wǎng)絡(luò)模型,特別是基于BP神經(jīng)網(wǎng)絡(luò)模型對(duì)股票投資的分析和預(yù)測(cè)[1]。股票市場(chǎng)的潛在規(guī)律通過(guò)BP神經(jīng)網(wǎng)絡(luò)模型來(lái)學(xué)習(xí),進(jìn)而估計(jì)股票的投資風(fēng)險(xiǎn)以及預(yù)測(cè)股票價(jià)格未來(lái)走勢(shì),這對(duì)穩(wěn)定股票市場(chǎng)的非常規(guī)性的暴漲暴跌具有極其重要意義[2]。
BP神經(jīng)網(wǎng)絡(luò)是屬于多層型神經(jīng)網(wǎng)絡(luò),根據(jù)各種研究數(shù)據(jù)表明,三層BP神經(jīng)網(wǎng)絡(luò)在使用的時(shí)候其效率和效果都是最優(yōu)的[3]。三層BP神經(jīng)網(wǎng)絡(luò)模型包括:輸入層(input 1ayer)、隱含層(hide 1ayer)、輸出層(output 1ayer)。三層BP模型如圖1所示。
圖1
BP神經(jīng)網(wǎng)絡(luò)利用誤差反響傳播算法來(lái)逐漸減少誤差,從而達(dá)到預(yù)測(cè)的目的。其傳統(tǒng)過(guò)程是:
(1)利用輸入層數(shù)據(jù)計(jì)算出隱含層輸出,再利用隱藏層輸出作為輸出層的輸入,最終計(jì)算出輸出層的輸出結(jié)果,公式為:
(2)從后往前逐層傳遞誤差。
每個(gè)隱藏單元的誤差為ERRj=Oi(1-Oi)ERRi,其中ERRi為后一層的誤差。
(3)由誤差修正權(quán)值
本文所闡述的預(yù)測(cè)模型在過(guò)程上先后是數(shù)據(jù)預(yù)處理、BP模型訓(xùn)練及訓(xùn)練好的BP模型進(jìn)行反轉(zhuǎn)點(diǎn)預(yù)測(cè)。
1.1 數(shù)據(jù)預(yù)處理
(1)輸入特征提取
BP神經(jīng)網(wǎng)絡(luò)的輸入應(yīng)該是一組能對(duì)樣本空間有高度概括能力的特征。因此需要首先提取特征。技術(shù)指標(biāo)是用于描述股票價(jià)格的統(tǒng)計(jì)量。本文分別利用了常用的7個(gè)、5個(gè)、3個(gè)、單個(gè)技術(shù)指標(biāo)作為BP模型的輸入。這些指標(biāo)分別是RSI,KDJ,MACD,EMA,OBV,VR,PSY[4]。由于篇幅所限,只列舉其中三個(gè)指標(biāo)(RSI,MACD,OBV)的計(jì)算方式,具體如下:
①RSI指標(biāo),計(jì)算方式為:
其中,Ci和Oi分別表示第i天的收盤(pán)價(jià)和開(kāi)盤(pán)價(jià),N為計(jì)算周期,N通常取值為6,12,14,24天。
②MACD指標(biāo),該指標(biāo)是異動(dòng)平均數(shù)DEA和離差率DIF構(gòu)成。DEA線代表DIF線M日指數(shù)的平滑移動(dòng)平均線,DIF線代表收盤(pán)價(jià)短期和長(zhǎng)期指數(shù)平滑移動(dòng)平均線之差,而DIF和DEA之差則是MACD線的值。其計(jì)算公式如下:
其中,Zt表示第t天的收盤(pán)價(jià),EMA為移動(dòng)平均值,MACD(s,l,h)t即表示第t天的MACD值,它一般表現(xiàn)為柱狀線在分析軟件中。對(duì)于公式中的默認(rèn)參數(shù)(s,l,h)通常取值為(12,26,9)。
③OBV指標(biāo),該指標(biāo)主要用于研究股票成交量,OBV的計(jì)算公式是采用遞推的方式計(jì)算的。例如:使用今天的股票成交量和股票收盤(pán)價(jià)運(yùn)算結(jié)果加上上一個(gè)交易日的OBV計(jì)算今日的OBV。
上式中,OBVt表示第t日的OBV指標(biāo)值,Bt表示第t日的成交量,Ct表示第t日的收盤(pán)價(jià),Ct-1表示第t-1日的收盤(pán)價(jià)。OBV的數(shù)值一般都由第一天的成交量來(lái)替代。
(2)定義BP模型輸出
本文所闡述的BP模型的輸出是一個(gè)代表股票當(dāng)前價(jià)位是否是反轉(zhuǎn)點(diǎn)的三值變量,即分別用1代表股票向上反轉(zhuǎn),-1代表股票向下反轉(zhuǎn),0代表當(dāng)前股票不處于反轉(zhuǎn)區(qū)域。股票價(jià)格反轉(zhuǎn)點(diǎn)根據(jù)股票歷史收盤(pán)價(jià)格作為標(biāo)量點(diǎn),并以這些點(diǎn)為基準(zhǔn)繪制出一條曲線,對(duì)于符合一定反轉(zhuǎn)規(guī)則的點(diǎn)即為反轉(zhuǎn)點(diǎn)。
股票價(jià)格反轉(zhuǎn)點(diǎn)是在清楚股票價(jià)格未來(lái)走勢(shì)的情況下,才對(duì)反轉(zhuǎn)點(diǎn)做出定義的。由于發(fā)現(xiàn)股票價(jià)格曲線和技術(shù)指標(biāo)曲線在反轉(zhuǎn)情況上有一定的關(guān)聯(lián),所以本文的目標(biāo)是通過(guò)技術(shù)指標(biāo)反轉(zhuǎn)點(diǎn)進(jìn)而預(yù)測(cè)得到股票價(jià)格反轉(zhuǎn)點(diǎn)。
如圖1所示,x軸是交易日,y軸是股票價(jià)格,假定有這樣一個(gè)股票收盤(pán)價(jià)序列,時(shí)間是t1,t2,t3三個(gè)時(shí)刻,St1,St2,St3分表表示對(duì)應(yīng)t1,t2,t3三個(gè)時(shí)刻的股價(jià),r表示股票波動(dòng)的一定幅度,具體問(wèn)題有不同的量化方式。如果(St2-St1)/St2>r且(St2-St3)/St2>r,那么我們判定t2交易日為股價(jià)向下反轉(zhuǎn)點(diǎn)。用文字?jǐn)⑹觯冈诠善眱r(jià)格處于一種上升的趨勢(shì),某日股票價(jià)格達(dá)到新高,但是在這一日的第二天股票價(jià)格卻低于前一天,這說(shuō)明經(jīng)過(guò)一段時(shí)期的股票價(jià)格上漲,多空(多頭和空頭)的力量也在逐步發(fā)生重要改變。綜合交易手續(xù)以及市場(chǎng)基準(zhǔn)利率,本文把r設(shè)定為0.5,既只有價(jià)格漲幅超過(guò)50%才定義為反轉(zhuǎn)點(diǎn)。
(3)小波變換平滑股票價(jià)格曲線
股票價(jià)格數(shù)據(jù)作為一種復(fù)雜的時(shí)間序列摻雜了大量的噪音,因此有必要對(duì)其進(jìn)行平滑處理。用于平滑曲線的算法很多,常用的有傅里葉變換、小波變換或者按照一定的規(guī)則自己編寫(xiě)平滑方法等。根據(jù)過(guò)去多年研究發(fā)現(xiàn),傅里葉變換適合于曲線隨時(shí)間變換而整體表現(xiàn)穩(wěn)定的曲線,小波變換適于曲線隨時(shí)間變化而變化波動(dòng)幅度較大的情況,針對(duì)不穩(wěn)定股票價(jià)格曲線的平滑工作,使用小波變換明顯優(yōu)于使用傅里葉變換平滑股票價(jià)格曲線[5]。小波變換的基本思想是通過(guò)多個(gè)函數(shù)(小波基)來(lái)逼近原函數(shù)的。小波變換的公式如下:
圖1 t2交易日為股價(jià)向下反轉(zhuǎn)
圖2 t2交易日為股價(jià)向上反轉(zhuǎn)
上式中x(t)表示需要使用小波變換的信號(hào),假設(shè)它是平方并且可積的函數(shù),那么小波變換WTx(α,τ)為x(t)和小波函數(shù)φ(α,τ)(t)的內(nèi)積。其中,α,τ分別表示伸縮和平移因子(x)是φ(x)的共軛。在本文中將在MATLAB平臺(tái)下編程實(shí)現(xiàn)對(duì)股票價(jià)格曲線使用小波去噪的方法平滑曲線。經(jīng)試驗(yàn)證明使用小波變換確實(shí)能對(duì)股票數(shù)據(jù)進(jìn)行有效地平滑,下圖為小波變換前后的對(duì)比圖。
1.2 訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)及預(yù)測(cè)
對(duì)某一股票經(jīng)1.1中描述的小波平滑后,計(jì)算出其輸入指標(biāo)RSI、KDJ、MACD、EMA、OBV、VR、PSY,待預(yù)測(cè)指標(biāo)T∈{-1,0,1}。在matlab平臺(tái)上,用上述介紹的BP算法選取,利用某投資公司提供的1990年~2012年的50支股票歷史數(shù)據(jù)進(jìn)行試驗(yàn)。詳述結(jié)果之前,先介紹三個(gè)評(píng)價(jià)結(jié)果的指標(biāo):召回率、準(zhǔn)確率和度量值。假設(shè)a,b,c定義如表1:
圖3 股票價(jià)格曲線圖
表1
度量值(F-Measure)是召回率和準(zhǔn)確率的折中方法,用以綜合評(píng)價(jià)預(yù)測(cè)模型的分類(lèi)效果。本文做了多次試驗(yàn),其中有針對(duì)單個(gè)指標(biāo)、3個(gè)、5個(gè)指標(biāo)、7個(gè)指標(biāo)的預(yù)測(cè)。其中用于多個(gè)指標(biāo)的試驗(yàn)方法為N次隨機(jī)選取K(K∈{3,5,7})個(gè)指標(biāo)然后取N次結(jié)果的平均值作為K個(gè)指標(biāo)的試驗(yàn)結(jié)果。
針對(duì)50只股票利用單個(gè)指標(biāo)預(yù)測(cè)結(jié)果如表2。
圖4 股票價(jià)格曲線使用小波變換平滑
針對(duì)50只股票,多個(gè)指標(biāo)的預(yù)測(cè)的結(jié)果如表3。
由表2可知,單個(gè)指標(biāo)的預(yù)測(cè)能力有限,這是因?yàn)閱蝹€(gè)指標(biāo)包含的信息量少的緣故。綜合3個(gè)評(píng)價(jià)指標(biāo)可知人們常用MACD合EMA指標(biāo)的預(yù)測(cè)能力優(yōu)于其他指標(biāo)。而由表3可得,5個(gè)指標(biāo)的預(yù)測(cè)能力優(yōu)于3個(gè)技術(shù)指標(biāo)和7個(gè)技術(shù)指標(biāo),這或許是因?yàn)?個(gè)指標(biāo)的信息量少,而7個(gè)技術(shù)指標(biāo)又會(huì)出現(xiàn)特征間相關(guān)性大,特征冗余,從而降低預(yù)測(cè)能力的現(xiàn)象。由上述四組試驗(yàn)BP神經(jīng)網(wǎng)絡(luò)有一定的預(yù)測(cè)能力。
表2
表3
[1] 張健,陳勇,夏罡,何永保.人工神經(jīng)網(wǎng)絡(luò)之股票預(yù)測(cè)[J].計(jì)算機(jī)工程,1997,3
[2] 張文霄.基于PSO優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)股票預(yù)測(cè)模型[D].哈爾濱工業(yè)大學(xué),2010,12
[3] 蔣宗禮.人工神經(jīng)網(wǎng)絡(luò)導(dǎo)論[M].北京:高等教育出版社,1999
[4] 王剛.技術(shù)分析的統(tǒng)計(jì)基礎(chǔ)及股票價(jià)格的一般分布[M].上海:上海教育出版社,2003
[5] 文鴻雁.基于小波理論的變形分析模型研究[D].武漢:武漢大學(xué),2004
Research on Stock Price Reversal Points Prediction Based on BP Neural Network
WANG Jian-guo
(Co11ege of Computer Science,Sichuan University,Chengdu 610065)
The stock market has an important ro1e in the who1e financia1 market and the prediction of the stock price reversa1 point is one of the most abstractive and the most significant research topic.And the BP neura1 network which has been proved to be the abi1ity of achieving any non1inear mapping function whatever its comp1exity,is very suitab1e for reso1ving the prob1em with a comp1ex interna1 mechanism such as stock price prediction.Aims to achieve stock price reversa1 points prediction with BP mode1.
Stock Price Reversa1 Point;BP Neura1 Network;Data Mining
1007-1423(2015)05-0040-04
10.3969/j.issn.1007-1423.2015.05.008
2015-01-13
2015-02-10