李 杰 王建中 胡紅萍
(中北大學(xué) 理學(xué)院,山西 太原 030051)
基于PCA的BP神經(jīng)網(wǎng)絡(luò)股票預(yù)測(cè)研究
李 杰 王建中 胡紅萍
(中北大學(xué) 理學(xué)院,山西 太原 030051)
股票市場(chǎng)是國(guó)民經(jīng)濟(jì)發(fā)展變化的“晴雨表”,股票價(jià)格的漲跌也是政治、經(jīng)濟(jì)、社會(huì)等諸多因素的綜合反映.近幾年來(lái),神經(jīng)網(wǎng)絡(luò)取得較大發(fā)展已經(jīng)成為熱點(diǎn)研究并在各個(gè)領(lǐng)域中得到應(yīng)用.文章基于主成分分析和BP神經(jīng)網(wǎng)絡(luò),以中國(guó)石化100天股票歷史技術(shù)指標(biāo)數(shù)據(jù)作為訓(xùn)練樣本對(duì)收盤價(jià)進(jìn)行預(yù)測(cè),20天數(shù)據(jù)進(jìn)行檢驗(yàn),并通過(guò)圖像仿真擬合來(lái)驗(yàn)證神經(jīng)網(wǎng)絡(luò)股票預(yù)測(cè)的可行性和準(zhǔn)確性.
主成分分析;BP神經(jīng)網(wǎng)絡(luò);股票技術(shù)指標(biāo);收盤價(jià);預(yù)測(cè)
股票是國(guó)民經(jīng)濟(jì)發(fā)展變化的“晴雨表”.自股票誕生以來(lái),股市已預(yù)測(cè)成為投資者及學(xué)術(shù)研究人員研究的熱點(diǎn)問(wèn)題之一.但是,由于股票市場(chǎng)是一個(gè)高度復(fù)雜的非線性系統(tǒng),其變化既有內(nèi)在的規(guī)律性,同時(shí)也受到市場(chǎng)、宏觀經(jīng)濟(jì)環(huán)境以及非經(jīng)濟(jì)原因等諸多因素的影響,所以一般傳統(tǒng)的方法對(duì)于股市的預(yù)測(cè)往往難如人意.
人工神經(jīng)網(wǎng)絡(luò)(Artifical Neural Network,簡(jiǎn)稱ANN)是人類對(duì)于其大腦神經(jīng)網(wǎng)絡(luò)認(rèn)識(shí)理解的基礎(chǔ)上人工構(gòu)造的能夠?qū)崿F(xiàn)某種功能的神經(jīng)網(wǎng)絡(luò).它是理論化的人腦神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)模型,是基于模仿大腦神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和功能而建立的一種信息處理系統(tǒng).它實(shí)際上是由大量簡(jiǎn)單元件相互連接而成的復(fù)雜網(wǎng)絡(luò),具有高度的非線性,它能進(jìn)行復(fù)雜的邏輯操作和非線性關(guān)系實(shí)現(xiàn)的系統(tǒng)[1].
近年來(lái),人工神經(jīng)網(wǎng)絡(luò)的研究取得了劃時(shí)代的發(fā)展,其在模式識(shí)別和復(fù)雜系統(tǒng)控制等方面已經(jīng)取得了巨大的成功,并開(kāi)始在經(jīng)濟(jì)、金融等領(lǐng)域廣泛應(yīng)用.由于人工神經(jīng)網(wǎng)絡(luò)具有高度的并行性、高度的非線性全局作用、良好的容錯(cuò)性與聯(lián)想記憶功能和十分強(qiáng)的自適應(yīng)、自學(xué)習(xí)功能,具有可逼近任意非線性連續(xù)函數(shù)的學(xué)習(xí)能力和對(duì)雜亂信息的綜合能力,因此為股票市場(chǎng)建模與預(yù)測(cè)提供了許多新技術(shù)和新方法,已成為目前國(guó)際上進(jìn)行股票預(yù)測(cè)研究的熱點(diǎn).
反向傳播網(wǎng)絡(luò)(Back-Propagation Network,簡(jiǎn)稱BP網(wǎng)絡(luò))是將W-H學(xué)習(xí)規(guī)則一般化,對(duì)非線性可微分函數(shù)進(jìn)行權(quán)值訓(xùn)練的多層網(wǎng)絡(luò)[1].BP網(wǎng)絡(luò)主要用于函數(shù)逼近、模式識(shí)別、分類和數(shù)據(jù)壓縮.BP網(wǎng)絡(luò)是目前運(yùn)用最廣泛的神經(jīng)網(wǎng)絡(luò),它經(jīng)常使用S型的對(duì)數(shù)或正切激活函數(shù)和線性函數(shù)作為激活函數(shù),采用BP算法訓(xùn)練網(wǎng)絡(luò).
總之,股票市場(chǎng)在我國(guó)的經(jīng)濟(jì)發(fā)展中發(fā)揮著重要的作用.股票預(yù)測(cè)的研究能夠?yàn)橥顿Y者的投資提供指導(dǎo).
BP網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),由一個(gè)輸入層、一個(gè)輸出層和若干個(gè)隱含層所組成.理論和實(shí)踐證明具有一個(gè)隱含層即三層的BP神經(jīng)網(wǎng)絡(luò)已經(jīng)具有逼近任意非線性連續(xù)函數(shù)的能力.
圖1 具有一個(gè)隱含層的BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)圖
BP網(wǎng)絡(luò)的產(chǎn)生歸功于BP算法的獲得.BP算法是由兩部分組成:信息的正向傳遞與誤差的反向傳播.在正向傳播過(guò)程中,輸入信息從輸入層經(jīng)隱含層逐層計(jì)算傳向輸出層,每一層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài).如果在輸出層沒(méi)有得到期望的輸出,則計(jì)算輸出層的誤差變化值,然后反向傳播,通過(guò)網(wǎng)絡(luò)將誤差信號(hào)沿原來(lái)的連接通路反傳回來(lái)修改各層神經(jīng)元的權(quán)值直至達(dá)到期望目標(biāo)[1].
BP算法屬于δ算法,是一種監(jiān)督式的學(xué)習(xí)算法.其主要思想為:對(duì)q個(gè)輸入學(xué)習(xí)樣本:P1,P2,…,Pq,已知其對(duì)應(yīng)的輸出樣本為:T1,T2,…,Tq.學(xué)習(xí)的目的是用網(wǎng)絡(luò)的實(shí)際輸出A1,A2,…,Aq與目標(biāo)矢量T1,T2,…,Tq之間的誤差來(lái)修正其權(quán)值,使Al,(l=1,2,…,q)與期望的Tl盡可能地接近;即:使網(wǎng)絡(luò)輸出層的誤差平方和達(dá)到最小.它是通過(guò)連續(xù)不斷地在相對(duì)于誤差函數(shù)斜率下降的方向上計(jì)算網(wǎng)絡(luò)權(quán)值和偏差的變化而逐漸逼近目標(biāo)的.每一次權(quán)值和偏差的變化都與網(wǎng)絡(luò)誤差的影響成正比,并以反向傳播的方式傳遞到每一層的[1].
BP算法收斂速度慢,訓(xùn)練時(shí)間長(zhǎng),由于采用的是梯度下降法,所以易陷入局部極小值.
主成分分析(Principal Components Analysis)也稱主分量分析,是由Hotelling于1933年首先提出的.主成分分析是利用降維的思想,把多指標(biāo)轉(zhuǎn)化為少數(shù)幾個(gè)綜合指標(biāo)的多元統(tǒng)計(jì)分析方法.
假設(shè)有所考慮的問(wèn)題有p個(gè)影響因素,即對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)輸入層應(yīng)該有p個(gè)結(jié)點(diǎn),直接將這些因素作為網(wǎng)絡(luò)的輸入項(xiàng),無(wú)疑會(huì)使網(wǎng)絡(luò)過(guò)于復(fù)雜,不利于問(wèn)題的分析.下面我們利用主成分分析的方法來(lái)簡(jiǎn)化輸入其主要計(jì)算過(guò)程如下:首先設(shè)這p個(gè)影響因素指標(biāo)為x1,x2,…,x p,再設(shè)網(wǎng)絡(luò)有n組學(xué)習(xí)訓(xùn)練樣本,這樣得到原始數(shù)據(jù)矩陣為X
累計(jì)貢獻(xiàn)率表明了前m個(gè)主成分包含的總信息量的份額.在實(shí)際應(yīng)用中我們總選取m<p,使前m個(gè)主成分的累計(jì)貢獻(xiàn)率達(dá)到一定的比例.這樣用前m個(gè)主成分代替原來(lái)的全部變量既減少了網(wǎng)絡(luò)輸入項(xiàng)的個(gè)數(shù),又包含了原來(lái)變量的絕大多數(shù)信息,是網(wǎng)絡(luò)輸入的一種有效簡(jiǎn)化[2].
本文基于BP神經(jīng)網(wǎng)絡(luò),結(jié)合遺傳算法,建立含有一個(gè)隱含層的三層神經(jīng)網(wǎng)絡(luò)模型.隱含層采用正切型激活函數(shù)(tansig),輸出層采用線性函數(shù)(purelin),網(wǎng)絡(luò)訓(xùn)練函數(shù)采用動(dòng)量法和自適應(yīng)速率相結(jié)合的算法(traingdx).選取2010-08-10~2011-01-24之間的中國(guó)石化歷史股票數(shù)據(jù),前100天作為訓(xùn)練樣本,后10天作為測(cè)試樣本.因此,本文的神經(jīng)網(wǎng)絡(luò)模型輸入層為6個(gè)節(jié)點(diǎn),輸出層為1個(gè)節(jié)點(diǎn),經(jīng)多次試驗(yàn)隱含層為9個(gè)節(jié)點(diǎn)最佳.
為了提高神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效率,我們需要在訓(xùn)練前對(duì)輸入和目標(biāo)數(shù)據(jù)進(jìn)行必要的處理.本文利用premnmx函數(shù)對(duì)輸入和目標(biāo)數(shù)據(jù)進(jìn)行歸一化處理,使其落在[-1,1]區(qū)間,再利用postmnmx函數(shù)進(jìn)行反歸一化處理.
本文原始選取開(kāi)盤價(jià),最高價(jià),最低價(jià),MA5,PSY12,MACD12,BIAS6,ASI6,RSI12和 WR10這10個(gè)技術(shù)指標(biāo)作為預(yù)輸入,第二天的收盤價(jià)作為輸出.然后利用SPSS軟件對(duì)預(yù)輸入進(jìn)行主成分分析,處理結(jié)果見(jiàn)表1,表2.
表1 公因子方差
表2 解釋的總方差
由表1,表2可知前兩個(gè)主成分已經(jīng)包含了總信息量的88.472%,但考慮到只有2個(gè)變量作為神經(jīng)網(wǎng)絡(luò)的輸入相對(duì)較少,可能會(huì)影響網(wǎng)絡(luò)訓(xùn)練的收斂和結(jié)果的擬合效果,所以選取前3個(gè)主成分即:MA5,MACD12和ASI6(總信息量的95.317%)作為實(shí)際的輸入變量.
通過(guò)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練可得出以下結(jié)果,見(jiàn)圖1,圖2,表3.
圖1 BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果擬合曲線
圖2 BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差曲線
表3 BP測(cè)試數(shù)據(jù)訓(xùn)練結(jié)果和真實(shí)值對(duì)比
通過(guò)探討和實(shí)踐,利用主成分分析方法可以有效地簡(jiǎn)化神經(jīng)網(wǎng)絡(luò)的輸入,提高網(wǎng)絡(luò)訓(xùn)練的速度.由于BP神經(jīng)網(wǎng)絡(luò)本身容易陷入局部最小值和收斂速度慢的缺陷,訓(xùn)練誤差的收斂性并不是特別的理想,再加上股票市場(chǎng)高度非線性和復(fù)雜性,所以預(yù)測(cè)結(jié)果不盡人意.可以嘗試與遺傳算法結(jié)合,選用其他改進(jìn)的BP訓(xùn)練算法或者利用貝葉斯正則化等方法來(lái)提高BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效果和泛化能力.
[1]叢 爽.面向MATLAB工具箱的神經(jīng)網(wǎng)絡(luò)理論與應(yīng)用[M].北京:中國(guó)科學(xué)技術(shù)出版社,2009
[2]米 紅,張文璋.實(shí)用現(xiàn)代統(tǒng)計(jì)分析方法與SPSS應(yīng)用[M].北京:當(dāng)代中國(guó)出版社,2000
The Research of Stock Prediction Based on PCA and BP Neural Network
Li Jie Wang Jianzhong Hu Hongping
(College of Science,North University of China,Taiyuan 030051,China)
The stock market is a"barometer"of the changes and development of national economic,the change of stock prices is also a reflection of comprehensive factors such as policics,economy economic and society.In recent years,neural network which has achieved greater development has become a hot research spot applied in various fields.In this paper,100 days’historical datas of Sinopec stock technical indicators as the training samples are used to predict the closing price and10 days’datas to test,which is based on principal component analysisand BP neural network.Finally,the feasibility and accuracy of neural network to predict the stock are verified by fitting the images.
principal component analysis;BP neural network;stock technical indicators;closing price;prediction
王映苗】
1672-2027(2011)03-0060-04
TP183
A
2011-05-10
2009年國(guó)家自然科學(xué)研究基金(60876077);2009年山西省自然科學(xué)研究基金(2009011018-3).
李 杰(1987-),男,河北阜平人,中北大學(xué)在讀研究生,主要從事計(jì)算機(jī)科學(xué)中的數(shù)學(xué)問(wèn)題研究.