郭建峰,李 玉,安 東
(1.西安郵電大學(xué),陜西 西安 710121;2.英國雷丁大學(xué),雷丁 RG6 6AH)
基于LM遺傳神經(jīng)網(wǎng)絡(luò)的短期股價(jià)預(yù)測
郭建峰1,2,李 玉1,安 東1
(1.西安郵電大學(xué),陜西 西安 710121;2.英國雷丁大學(xué),雷丁 RG6 6AH)
隨著人工智能的不斷發(fā)展,BP神經(jīng)網(wǎng)絡(luò)作為其中一種重要的技術(shù),被廣泛應(yīng)用在股票預(yù)測領(lǐng)域。BP神經(jīng)網(wǎng)絡(luò)有很強(qiáng)的非線性逼近能力、自學(xué)習(xí)自適應(yīng)等特性,故非常適合解決股價(jià)預(yù)測中的一些復(fù)雜問題。但其在實(shí)際的應(yīng)用過程中還存在一些問題導(dǎo)致其不能很好地進(jìn)行預(yù)測,如網(wǎng)絡(luò)收斂速度比較慢和容易產(chǎn)生局部最優(yōu)值等缺點(diǎn)。針對(duì)BP神經(jīng)網(wǎng)絡(luò)自身存在的這些不足,提出了一種改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)算法。就是通過LM算法改進(jìn)BP神經(jīng)網(wǎng)絡(luò)里的梯度下降法并用遺傳算法優(yōu)化網(wǎng)絡(luò)參數(shù),即網(wǎng)絡(luò)的初始權(quán)值和閾值,從而提高了網(wǎng)絡(luò)的收斂速度和搜索全局最優(yōu)值的能力。用改進(jìn)后的網(wǎng)絡(luò)對(duì)股票短期價(jià)格進(jìn)行仿真測試,結(jié)果表明,改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)模型有著更快的收斂速度和更高的精確性。
人工智能;BP神經(jīng)網(wǎng)絡(luò);LM算法;遺傳算法;股票短期價(jià)格預(yù)測
隨著國內(nèi)金融業(yè)的改革和深入發(fā)展,尤其是股票這樣一種蘊(yùn)含潛力和經(jīng)濟(jì)利益的金融產(chǎn)品為越來越多的人所關(guān)注。股票預(yù)測也隨之成了一門非常熱門的課題。股票投資者在進(jìn)行股票投資活動(dòng)時(shí),需要時(shí)刻對(duì)股票市場進(jìn)行觀測,以便對(duì)股價(jià)的走勢進(jìn)行預(yù)測,從而最大限度地降低風(fēng)險(xiǎn),增加收益。研究者們通過對(duì)股票市場進(jìn)行長期觀察和研究,同時(shí)將各種統(tǒng)計(jì)學(xué)和概率論的方法應(yīng)用于股票市場[1],從而建立了一些傳統(tǒng)的預(yù)測模型,如:VAR模型(向量自回歸模型)、ARM模型(自回歸滑動(dòng)平均模型)、ARCH模型(自回歸條件異方差模型)、多元回歸模型、指數(shù)平滑模型等[2-4]。這些理論基礎(chǔ)比較成熟,并且大多都基于基本的理論,對(duì)股票市場的熟悉程度和經(jīng)驗(yàn)要求較高。其共同的特點(diǎn)都是基于對(duì)數(shù)據(jù)序列的主觀模型,然后根據(jù)主觀的模型和經(jīng)驗(yàn)進(jìn)行預(yù)測,所以在預(yù)測的精度和穩(wěn)定度方面沒有保障,且不具備自適應(yīng)和自學(xué)習(xí)的能力。然而,股票市場作為一種復(fù)雜系統(tǒng),受到問題的動(dòng)態(tài)非線性、數(shù)據(jù)的高噪音、人為操控、政策干預(yù)等多種因素的影響,并且各因素相互之間的影響機(jī)理也相當(dāng)復(fù)雜[5]。因此,利用傳統(tǒng)方法對(duì)股票價(jià)格進(jìn)行預(yù)測難度很大。
近年來,隨著人工智能(Artificial Intelligence,AI)領(lǐng)域研究的不斷發(fā)展,越來越多的研究者采用人工神經(jīng)網(wǎng)絡(luò)建立預(yù)測模型對(duì)股價(jià)進(jìn)行預(yù)測,并取得了較好的預(yù)測效果[6]。神經(jīng)網(wǎng)絡(luò)由大量的神經(jīng)元相互連接成為復(fù)雜的網(wǎng)絡(luò)模型,是對(duì)人腦的模擬抽象。神經(jīng)網(wǎng)絡(luò)具有并行處理、自組織和自調(diào)節(jié)的能力,是一種高度復(fù)雜的非線性系統(tǒng),很適合處理股價(jià)預(yù)測中的多因素、非線性動(dòng)態(tài)的不確定性信息處理問題[7]。但是在實(shí)際應(yīng)用過程中,該算法也存在一定的局限性,如易陷入局部極值點(diǎn)、收斂速度慢等問題[8],使得該算法只能對(duì)較小規(guī)模的問題進(jìn)行求解,并且得到的極有可能是局部最優(yōu)解,從而限制了BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)算法在股票短期價(jià)格預(yù)測中的應(yīng)用。
為了使神經(jīng)網(wǎng)絡(luò)能夠更好地應(yīng)用于股票短期價(jià)格預(yù)測,采用LM(Levenberg-Marquardt)算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的梯度下降法,并用遺傳算法(Genetic Algorithm,GA)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值。
標(biāo)準(zhǔn)的BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)由三層組成,包括有輸入層、隱含層(也稱為中間層)和輸出層,如圖1所示。
圖1 三層BP網(wǎng)絡(luò)結(jié)構(gòu)
同層節(jié)點(diǎn)之間不存在相互連接,層與層之間多采用全互聯(lián)方式,且各層的連接權(quán)值可調(diào),輸入層和輸出層節(jié)點(diǎn)根據(jù)實(shí)際情況而定,隱含層節(jié)點(diǎn)數(shù)由下式確定:
(1)
其中,n0表示隱含層節(jié)點(diǎn)數(shù);ni表示輸入層節(jié)點(diǎn)數(shù);nk表示輸出層節(jié)點(diǎn)數(shù)[9]。
BP網(wǎng)絡(luò)的學(xué)習(xí)過程是由工作信號(hào)的正向傳播和誤差信號(hào)的反向傳播組成。正向傳播是由輸入層開始逐層計(jì)算各層神經(jīng)元的凈輸入和輸出,誤差信號(hào)的反向傳播是由輸出層開始逐層計(jì)算各層神經(jīng)元的輸出誤差,采用的是梯度下降法,調(diào)整各層之間的連接權(quán)值使得樣本誤差減小,使實(shí)際輸出接近期望值。
BP神經(jīng)網(wǎng)絡(luò)具體計(jì)算步驟如下:
(2)初始化神經(jīng)網(wǎng)絡(luò)。隨機(jī)產(chǎn)生輸入層與隱含層及隱含層與輸出層的權(quán)重矩陣vij和wjk及隱含層和輸出層節(jié)點(diǎn)的閾值θi和θk。
(2)
(4)計(jì)算輸出層的輸出:
(3)
(5)計(jì)算神經(jīng)網(wǎng)絡(luò)的輸出誤差:
(4)
(6)如果上式得出的誤差大于預(yù)定誤差,則通過梯度下降法修改網(wǎng)絡(luò)各層的連接權(quán)值與閾值,權(quán)值修正量分別為:
(5)
(6)
(7)
BP神經(jīng)網(wǎng)絡(luò)作為最具有特點(diǎn)的多層前饋人工神經(jīng)網(wǎng)絡(luò),具有較強(qiáng)的線性逼近非線性映射特性,容錯(cuò)性也不錯(cuò)。但由于BP算法本身采用梯度下降法修改權(quán)值,極易陷入局部最優(yōu)值,并且收斂速度較慢。故文中采用LM算法對(duì)BP算法進(jìn)行改進(jìn)。
LM算法屬于最優(yōu)化算法,是使用最廣泛的非線性最小二乘算法。它在搜索的過程中同時(shí)具有梯度法和牛頓法的優(yōu)點(diǎn),使其每次迭代的過程中不再單一地沿著負(fù)梯度的方向,而是讓誤差可沿著上升的方向進(jìn)行搜索,使目標(biāo)不易陷入局部最優(yōu)解[10]。同時(shí)通過梯度下降法和高斯牛頓法之間的自適應(yīng)調(diào)整來優(yōu)化網(wǎng)絡(luò)權(quán)值,提高網(wǎng)絡(luò)的收斂速度[11]。具體步驟如下:
(1)給定初始值X(0)、誤差標(biāo)準(zhǔn)ε。
(2)求目標(biāo)函數(shù)值fi(X(k)),i=1,2,…,m,即fi(X(k))=[f1(X(k)),f2(X(k)),…,fm(X(k))]。
(4)解下列線性方程組,求得梯度搜索方向d(k)。
[J(X(k))TJ(X(k))+μkI]d(k)=-J(X(k))Tf(X(k))
(5)搜索X(k+1)=X(k)+δkd(k)。其中,δk滿足:
F(X(k)+δkd(k))=minF(X(k)+δkd(k))
(6)若‖X(k+1)-X(k)‖<ε,則搜索成功;否則轉(zhuǎn)向下一步。
(7)若F(x(k+1)) LM用于修正BP算法的梯度下降法,在與BP神經(jīng)網(wǎng)絡(luò)的結(jié)合中,其權(quán)值的修正公式為: Wij(t+1)=Wij(t)-(JTJ+μI)-1JTe (8) 其中,Wij(t+1)為t+1次迭代時(shí)網(wǎng)絡(luò)的權(quán)值;Wij(t)為第t次迭代時(shí)網(wǎng)絡(luò)的權(quán)值;J為誤差對(duì)權(quán)值微分的Jacobian矩陣;μ為取值大于零的常量,可以自適應(yīng)調(diào)節(jié),其值很大時(shí),式(8)接近梯度法,很小時(shí),式(8)接近高斯牛頓法;I為單位矩陣;e為誤差向量 梯度下降法每次迭代沿著負(fù)梯度方向進(jìn)行,起初誤差下降較快,但隨著目標(biāo)逐漸靠近最優(yōu)值時(shí)梯度也接近于零,導(dǎo)致目標(biāo)函數(shù)下降很慢。而牛頓法可在目標(biāo)靠近最優(yōu)值時(shí)提供一個(gè)理想的搜索方向。LM法將二者進(jìn)行有效結(jié)合,大大加快了收斂速度。 遺傳算法是一種借鑒生物界自然選擇和遺傳機(jī)制的隨機(jī)搜索算法,采用群體搜索策略[12]。其思想來源于生物遺傳學(xué)中適者生存的自然法則,通過群體中個(gè)體之間的信息交換,使得本身具有較強(qiáng)的全局搜索能力。將遺傳算法與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合,尋找BP網(wǎng)絡(luò)的初始權(quán)值和閾值,這樣能將搜索范圍擴(kuò)至全局,使算法快速高效[13]。遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)權(quán)值的過程如下: (1)初始化種群的生成:初始化種群大小、遺傳代數(shù)、交叉概率和變異概率。 (2)編碼:對(duì)隨機(jī)產(chǎn)生的連接權(quán)值和閾值進(jìn)行編碼,文中采用實(shí)數(shù)編碼方法。 (3)適應(yīng)度函數(shù)計(jì)算和選擇:以每個(gè)樣本的誤差函數(shù)值的倒數(shù)作為適應(yīng)度函數(shù)值,選擇適應(yīng)度大的個(gè)體進(jìn)入下一代。 (4)交叉:對(duì)從步驟(3)中選出的個(gè)體用一定的交叉概率執(zhí)行部分基因交換產(chǎn)生新個(gè)體。 (5)變異:隨機(jī)挑選對(duì)交叉后的個(gè)體,讓其子代基因產(chǎn)生小概率的變化來保持群體多樣性。 (6)算法結(jié)束:完成了預(yù)定的進(jìn)化代數(shù)或者種群中的最優(yōu)個(gè)體在連續(xù)的若干代中沒有改進(jìn),則輸出新種群中適應(yīng)度最大的個(gè)體作為最優(yōu)解,算法終止。否則返回步驟(3)繼續(xù)計(jì)算。 GA-BP具體實(shí)現(xiàn)流程如圖2所示。 圖2 GA-BP流程圖 文中用實(shí)數(shù)編碼對(duì)BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值按照一定的順序進(jìn)行編碼,可以提高解的精準(zhǔn)度,且不需要編解碼[14]。編碼后的總長度即為所有權(quán)值和閾值個(gè)數(shù)之和,即S=R*S1+S1*S2+S1+S2。其中,R為輸入層節(jié)點(diǎn)個(gè)數(shù),S1為隱含層節(jié)點(diǎn)個(gè)數(shù),S2為輸出層節(jié)點(diǎn)個(gè)數(shù)。 編碼完成后系統(tǒng)會(huì)計(jì)算個(gè)體適應(yīng)度,文中將輸入輸出的相對(duì)誤差平方和作為適應(yīng)度函數(shù),即: fitness=1/(SE+1) (9) 其中,SE為誤差平方和。 (10) 一般情況下,SE 4.1 仿真條件 為了說明LM-GA改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)對(duì)股票預(yù)測的效果,分別對(duì)BP、LM-BP和GA-LM-BP三種預(yù)測模型進(jìn)行對(duì)比實(shí)驗(yàn)。 BP神經(jīng)網(wǎng)絡(luò)采用三層拓?fù)浣Y(jié)構(gòu),輸入層神經(jīng)元個(gè)數(shù)為15,隱含層神經(jīng)元個(gè)數(shù)為7,輸出層神經(jīng)元個(gè)數(shù)為1。BP神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置為:訓(xùn)練次數(shù)為3 000,訓(xùn)練目標(biāo)為1.0e-003,學(xué)習(xí)率為0.3,動(dòng)量因子為0.95。遺傳算法參數(shù)設(shè)置為:初始種群規(guī)模為40,進(jìn)化代數(shù)為200,選擇時(shí)的交叉率為0.61,變異率為0.08。 為了減少不同因子之間由于數(shù)據(jù)大小差異的不同所引起的誤差,在學(xué)習(xí)之前需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理。文中采用premnmx對(duì)數(shù)據(jù)進(jìn)行處理,處理后數(shù)據(jù)在[-1,1]范圍內(nèi)均勻分布,函數(shù)的一般格式為: [XT,minx,maxx]=premnmx(X) (11) 其中,X為原始輸入樣本;XT為歸一化后的樣本;minx和maxx分別為X的最小值和最大值。 4.2 實(shí)測股票價(jià)格時(shí)間序列的預(yù)測分析 仿真實(shí)驗(yàn)中的數(shù)據(jù)來自wind金融終端,利用滬深300期貨的成交價(jià)格數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),采樣區(qū)間為2014年12月17日-2015年3月6日,頻度為每日的1 min高頻數(shù)據(jù),共5 421個(gè)有效樣本,其中包括4 000個(gè)學(xué)習(xí)樣本和1 421個(gè)檢測樣本。分別采用BP、LM-BP與GA-LM-BP進(jìn)行預(yù)測,結(jié)果如圖3所示。圖中為每隔100 min提取的觀測值。 圖3 預(yù)測結(jié)果對(duì)比圖 滬深300期貨的誤差統(tǒng)計(jì)特性見表1;不同算法的運(yùn)行過程對(duì)比見表2。 表1 滬深300期貨的誤差統(tǒng)計(jì)特性表(單位:點(diǎn)) 表2 不同算法的運(yùn)行過程對(duì)比 從圖3、表1和表2中可以看出,GA-LM-BP與其他兩種算法相比,在預(yù)測的準(zhǔn)確性、穩(wěn)定性及收斂速度方面都有改善,尤其針對(duì)傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò),性能得到了較大的提升。 股票市場是一個(gè)復(fù)雜多變的系統(tǒng),確立一個(gè)有效的系統(tǒng)來預(yù)測股價(jià)的走向是一個(gè)難題。BP神經(jīng)網(wǎng)絡(luò)具有良好的線性逼近能力,在股票預(yù)測中具有很大的潛力。但是BP神經(jīng)網(wǎng)絡(luò)本身存在過擬合現(xiàn)象和易陷入局部最小值的問題,導(dǎo)致其預(yù)測效果較差。 針對(duì)BP神經(jīng)網(wǎng)絡(luò)的上述問題,提出用LM算法進(jìn)行改進(jìn),然后引入遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值。文中主要使用LM-BP和GA-LM-BP模型,對(duì)滬深300期貨的成交價(jià)格進(jìn)行了預(yù)測。實(shí)驗(yàn)結(jié)果表明,遺傳算法優(yōu)化的LM-BP模型在迭代時(shí)間和次數(shù)方面都要優(yōu)于LM-BP模型。GA-LM-BP收斂速度加快,克服了易陷入局部最優(yōu)解的缺點(diǎn),在具體的股價(jià)預(yù)測分析中的可行性更高。 [1] 劉雁鳴,曾 華.概率統(tǒng)計(jì)分布對(duì)股票管理分析研究[J].價(jià)值工程,2013,32(7):314-315. [2] Nwogugu N.Further critique of GARCH/ARMA/VAR/EVT stochastic-volatility models and related approaches[J].Applied Mathematics and Computation,2006,182(2):1735-1748. [3] Maia A L S,Carvalho F D A T D.Holt's exponential smoothing and neural network models for forecasting interval-valued time series[J].International Journal of Forecasting,2011,27(3):740-759. [4] Xiang C,Fu W M.Predicting the stock market using multiple models[C]//9th international conference oncontrol,automation,robotics and vision.[s.l.]:[s.n.],2006. [5]LeeYJ,ChoHG,WooG.Analysisonstockmarketvolatilitywithcollectivehumanbehaviorsinonlinemessageboard[C]//Internationalconferenceoncomputerandinformationtechnology.[s.l.]:IEEE,2014:482-489. [6]YangL,WangQ.PredictingthestockpricebasedonBPneuralnetworkandbigtransaction[C]//9thinternationalconferenceonfuzzysystemsandknowledgediscovery.Chongqing,Sichuan,China:[s.n.],2012. [7] 任康平.建筑經(jīng)濟(jì)管理中神經(jīng)網(wǎng)絡(luò)的應(yīng)用[J].城市建設(shè)理論研究,2014(22):3801-3802. [8]LiX,QiB,WangL.AnewimprovedBPneuralnetworkalgorithm[C]//Secondinternationalconferenceonintelligentcomputationtechnologyandautomation.[s.l.]:[s.n.],2009. [9] 張 鵬,崔文利.基于粗糙集優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的啟發(fā)式算法[J].控制工程,2009,16(1):42-45. [10]BehlingR,FischerA,HerrichM,etal.ALevenberg-Marquardtmethodwithapproximateprojections[J].ComputationalOptimizationandApplications,2014,59(1):5-26. [11] 史步海,朱學(xué)峰.LMBP神經(jīng)網(wǎng)絡(luò)改進(jìn)算法的研究[J].控制工程,2008,15(2):164-167. [12] 劉國靖,康 麗,羅長壽.基于遺傳算法的主題爬蟲策略[J].計(jì)算機(jī)應(yīng)用,2007,27:172-174. [13]LiF,LiuC.ApplicationstudyofBPneuralnetworkonstockmarketprediction[C]//Ninthinternationalconferenceonhybridintelligentsystems.[s.l.]:[s.n.],2009:174-178. [14] 張希影.基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)股票價(jià)格預(yù)測[D].青島:青島科技大學(xué),2014. Prediction for Short-term Stock Price Based on LM-GA-BP Neural Network GUO Jian-feng1,2,LI Yu1,AN Dong1 (1.Xi’an University of Posts & Telecommunications,Xi’an 710121,China; 2.University of Redding,Redding RG6 6AH,UK) With the development of artificial intelligence,BP neural network,as one of the important technology,is widely used in stock prediction.The neural network,which has the capabilities of non-linear approach,self-learning and self-adaption,is very suitable for solving some complex problems in the stock market.But there are many problems in practical applications result in its poor prediction,such as low convergence speed and local minimum.In order to deal with the defects,an improved BP neural network is proposed by using Levenberg-Marquardt (LM) algorithm to improve the gradient descent in BP neural network and Genetic Algorithm (GA) to optimize the network’s initial weights and thresholds.It enhances the convergence speed of the algorithm and the ability to search the global optimization.The model is simulated on short-term stock price prediction and the results indicate that the improved BP model has high convergence speed and accuracy. artificial intelligence;BP (Back Propagation) neural network;LM (Levenberg-Marquardt) algorithm;Genetic Algorithm (GA);short-term stock price prediction 2016-03-14 2016-06-16 時(shí)間:2017-01-04 工信部“跨境移動(dòng)支付與風(fēng)險(xiǎn)管理創(chuàng)新研究課題”(2012R08-2);2015年陜西省軟科學(xué)重點(diǎn)項(xiàng)目(2015KRA001) 郭建峰(1972-),男,碩士,教授,中組部“千人計(jì)劃”特聘專家,英國雷丁大學(xué)亨利商學(xué)院高級(jí)研究員,研究方向?yàn)橛?jì)算金融;李 玉(1992-),女,碩士研究生,研究方向?yàn)橛?jì)算金融。 http://www.cnki.net/kcms/detail/61.1450.TP.20170104.1102.082.html TP301.6 A 1673-629X(2017)01-0152-04 10.3969/j.issn.1673-629X.2017.01.0343 LM-BP神經(jīng)網(wǎng)絡(luò)的優(yōu)化
4 實(shí)驗(yàn)結(jié)果分析
5 結(jié)束語