黃招娣
(華東交通大學(xué)電氣與電子工程學(xué)院,江西 南昌 330013)
基于改進(jìn)粒子群算法的神經(jīng)網(wǎng)絡(luò)優(yōu)化證券投資組合方法
黃招娣
(華東交通大學(xué)電氣與電子工程學(xué)院,江西 南昌 330013)
采用人工神經(jīng)網(wǎng)絡(luò)對證券投資進(jìn)行預(yù)測與分析的研究過程中,提高神經(jīng)網(wǎng)絡(luò)各個節(jié)點參數(shù)的優(yōu)化能力是極其關(guān)鍵的。傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)存在學(xué)習(xí)速度慢、易陷入局部極小值、預(yù)測結(jié)果精度較低等缺點,一種改進(jìn)型粒子群(Im proved Particle Swarm Optim izer,IPSO)算法,可以優(yōu)化BP(Back Propagation)神經(jīng)網(wǎng)絡(luò),并將優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于優(yōu)化證券投資組合中。實驗結(jié)果表明:該研究方法能夠在預(yù)測精度和穩(wěn)定性方面明顯優(yōu)于傳統(tǒng)的PSO-BP神經(jīng)網(wǎng)絡(luò)優(yōu)化證券投資組合方法。
粒子群算法;IPSO;BP神經(jīng)網(wǎng)絡(luò);證券投資組合
證券投資(investment in securities)是指投資者(法人或自然人)買賣股票和債券等有價證券以及有價證券的衍生品,以獲取差價、利息及資本利得的投資行為和投資過程,是直接投資的重要形式[1](P221-234)。在市場風(fēng)險大的情況下,如何將資金分散投資至多只股票上進(jìn)行組合投資以控制個股波動造成的損失就成了投資人首先要解決的問題,由馬克維茨(Markowitz)教授于1952年提出的“均值-方差”投資組合理論以及斯坦福大學(xué)教授夏普(William Sharpe)以均衡市場假定下的資本市場線為基準(zhǔn),從而導(dǎo)出的著名的“資本資產(chǎn)定價”投資組合模型(CAPM)。但雖然“資本資產(chǎn)定價”投資組合模型(CAPM)較馬克維茨(Markowitz)教授提出的“均值-方差”投資組合理論有較強(qiáng)的實際應(yīng)用價值,然而CAPM模型本身的非線性和復(fù)雜性,使得其實際求解過程較為復(fù)雜。
隨著生命科學(xué)與計算機(jī)科學(xué)的相互交叉與滲透的發(fā)展,國內(nèi)外許多學(xué)者開始采用人工智能實現(xiàn)快速高效的求解證券投資組合問題方法。BP網(wǎng)絡(luò)是一種有效的自學(xué)習(xí)人工神經(jīng)網(wǎng)絡(luò),具有自適應(yīng)、容錯、自組織和自學(xué)習(xí)等能力,在信號處理、投資預(yù)測和組合優(yōu)化等方面得到廣泛應(yīng)用[2](P42-46)。盡管在諸多領(lǐng)域取得巨大的成功,然而傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)所采用的梯度下降法對連接權(quán)值和閾值進(jìn)行調(diào)整來求最優(yōu)解,導(dǎo)致其收斂速度慢,易陷入局部最優(yōu)以及泛化能力差等缺點。因此,BP網(wǎng)絡(luò)的優(yōu)化改進(jìn)已成為研究的熱點之一。近年來,有學(xué)者利用粒子群算法對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,利用粒子群算法的迭代替代傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)的梯度下降法,提高其收斂速度,充分發(fā)揮粒子群全局尋優(yōu)特性。
由于標(biāo)準(zhǔn)粒子群算法同樣存在陷入局部最優(yōu)的問題。因此,本文采用改進(jìn)型粒子群(Improved Particle Swarm Optimizer,IPSO)算法優(yōu)化BP神
經(jīng)網(wǎng)絡(luò),以提高其收斂速度。為了在全局搜索和局部搜索之間取得更好的平衡,本文通過學(xué)習(xí)因子和慣性權(quán)重對粒子群優(yōu)化算法進(jìn)行改進(jìn),從而得到IPSO對BP神經(jīng)網(wǎng)絡(luò)的優(yōu)化。將基于IPSO-BP神經(jīng)網(wǎng)絡(luò)通過CAMP模型,應(yīng)用于股票投資組合預(yù)測中,獲取收益率和風(fēng)險等相關(guān)數(shù)據(jù),從而解決證券投資組合優(yōu)化問題。
(一)標(biāo)準(zhǔn)粒子群算法
標(biāo)準(zhǔn)粒子群算法(ParticleSwarm Optimization,PSO)最早是由Eberhart博士和Kennedy博士于1995年提出的,它的基本概念源于對鳥群覓食行為的研究[3](P42-46)[4](P1942-1948)。在PSO算法中每個粒子可以看作是解空間中的一個點,綜合自身和同伴的飛行經(jīng)驗,對自己的飛行速度進(jìn)行動態(tài)調(diào)整,從而找到較優(yōu)的位置。每個粒子在移動過程所經(jīng)歷過的最好位置,就是粒子本身找到的最優(yōu)解。整個群體所經(jīng)歷過的最好位置,就是整個群體目前找到的最優(yōu)解[4](P1942-1948)。前者叫做個體極值(pbest),后者叫做全局極值(gbest)。每個粒子都通過跟蹤上述兩個極值不斷迭代來更新自己,從而產(chǎn)生新一代群體。通過由適應(yīng)度函數(shù)得到的適應(yīng)值,來判定粒子搜索到的位置的優(yōu)劣程度。顯然,每個粒子的行為就是追隨著當(dāng)前的最優(yōu)粒子在解空間中的搜索[5](P186-188)[6](P4215-4219)[7](P147-150)。
PSO算法數(shù)學(xué)表示如下:假設(shè)在一個D維的目標(biāo)搜索空間中,有m個粒子組成一個群體,其中第i個粒子位置表示為Xi=(xi1,xi2,…,xiD);第i個粒子經(jīng)歷過的最優(yōu)位置記為Pi=(pi1,pi2,…,piD),整個群體所有粒子經(jīng)歷過的最優(yōu)位置記為Pg=(pg1,pg2,…,pgD)。粒子i 的速度記為Vi=(vi1,vi2,…,viD)。
粒子群算法采用下列公式對粒子所在的位置不斷更新:
公式由三部分組成,第一部分是粒子先前的速度,說明了粒子目前的狀態(tài),起到平衡全局搜索和局部搜索的作用;第二部分是認(rèn)知部分(CognitionModal),其中c1表示粒子跟蹤自己歷史最優(yōu)值的權(quán)重系數(shù),通常設(shè)置為2,體現(xiàn)粒子本身的思考,使粒子有了足夠強(qiáng)的全局搜索能力,避免局部極??;第三部分為社會部分(SocialModal),其中c2表示粒子跟蹤群體最優(yōu)值的權(quán)重系數(shù),通常設(shè)置為2,體現(xiàn)粒子間的信息共享。三個部分共同決定了粒子的空間搜索能力。
其中i=1,2,…,m;d=1,2,…,D;w稱為慣性因子(慣性權(quán)重),取值在0.1-0.9之間;rand()為[0,1]之間的隨機(jī)數(shù)。
(二)改進(jìn)型粒子群算法(IPSO)
在粒子群優(yōu)化算法中,加速系數(shù)c1和c2分別控制“認(rèn)知”部分和“社會”部分對粒子速度的影響。一般來講,在基于種群的優(yōu)化方法中,總是希望個體在初始階段能夠在整個尋優(yōu)空間進(jìn)行搜索,不至于過早陷入局部值;而在結(jié)束階段能夠提高算法收斂速度和精度,有效地尋找到全局最優(yōu)解。因此,我們可以在進(jìn)化過程中動態(tài)的調(diào)整加速系數(shù)c1和c2的值,使其在算法的初始階段,具有大的“認(rèn)知”部分(大的為c1)和小的“社會”部分(小的為c2),以利于算法在整個尋優(yōu)空間進(jìn)行搜索;而在算法后期,應(yīng)有小的“認(rèn)知”部分(小的為c1)和大的“社會”部分(大的為c2),有利于算法收斂于全局最優(yōu)解,提高算法收斂速度和精度。其中,c1和c2表達(dá)式分別如下:
由于W值有利于算法收斂,因此提出了一種采用算法迭代次數(shù),即慣性權(quán)值線性遞減的方法。算法在初期使用較大的慣性權(quán)值,具有較強(qiáng)全局搜索能力;后期則使用較小的慣性權(quán)值,提高局部搜索能力。故提出慣性權(quán)重的計算公式如下:
基于IPSO-BP優(yōu)化方法是將IPSO算法應(yīng)用到BP神經(jīng)網(wǎng)絡(luò)的優(yōu)化中;即將BP網(wǎng)絡(luò)中的需要修正的權(quán)值和閾值映射成為改進(jìn)型粒子群算法中的粒子,通過粒子位置和速度的更新反復(fù)優(yōu)化網(wǎng)絡(luò)的權(quán)值、閾值組合參數(shù),以及通過粒子之間的
競爭與合作完成對網(wǎng)絡(luò)的訓(xùn)練過程,有效的提高BP網(wǎng)絡(luò)的尋優(yōu)精度與速度。應(yīng)用改進(jìn)型粒子群算法對BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練,此算法避免了大量的梯度運算,加快了網(wǎng)絡(luò)的收斂速度,提高了學(xué)習(xí)效率[8](P707-711)[9](P57-61)[10](P190-192)。
將改進(jìn)型粒子群算法中的全局極值Pg傳遞給BP網(wǎng)絡(luò)作為網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行計算,將BP網(wǎng)絡(luò)的均方誤差和MSE作為改進(jìn)型粒子群算法的適應(yīng)度函數(shù),以此作為粒子位置更新的判斷依據(jù),其基于改進(jìn)型粒子群優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)算法工作流程圖如圖1所示,其實驗步驟如下:
步驟1:初始化BP神經(jīng)網(wǎng)絡(luò)
1)確定該網(wǎng)絡(luò)的輸入變量以及輸出變量,首先在該網(wǎng)絡(luò)中選擇股指的日收盤價作為輸入輸出變量,然后根據(jù)輸入輸出樣本的向量長度確定輸入層和輸出層的神經(jīng)元數(shù),然后根據(jù)經(jīng)驗采用試驗比較法確定最佳隱含層節(jié)點數(shù)。初始化網(wǎng)絡(luò)的權(quán)值以及閾值可以由粒子的初始最優(yōu)位置得到。
2)采用線性歸一化方法對數(shù)據(jù)進(jìn)行預(yù)處理,即計算出數(shù)據(jù)樣本的最大值和最小值,然后根據(jù)公式(6)對原始數(shù)據(jù)進(jìn)行處理,求出加工過的輸入變量。
步驟2:初始化粒子群,假設(shè)粒子群的規(guī)模為N,設(shè)定粒子的最大速度為V max和最小速度為V min,初始化慣性權(quán)重wstart=0.9和wend=0.4,學(xué)習(xí)因子c1和c2,設(shè)置最大迭代次數(shù)為itermax,在允許的范圍內(nèi),隨機(jī)給定每個粒子的初始位置和速度,并將粒子的初始位置賦值給粒子的初始最優(yōu)位置。
步驟3:建立IPSO算法中粒子與需要優(yōu)化的參數(shù)映射關(guān)系,對于一個三層的BP神經(jīng)網(wǎng)絡(luò)需要優(yōu)化的參數(shù)(權(quán)值以及閾值)可以用向量(wij,vjk,θj,φk)來表示。
步驟4:計算節(jié)點的輸出。利用傳遞函數(shù)公式計算BP網(wǎng)絡(luò)的輸出,節(jié)點i在第p組樣本對輸入時,輸出為yip,即:
式中,Ijp為在第p組樣本輸入時,節(jié)點i的第j個輸入,f()取可微S型作用函數(shù)式,例如:
由(8)可知,由輸入層經(jīng)過隱含層至輸出層,可求得網(wǎng)絡(luò)輸出層節(jié)點的輸出。
步驟5:選擇訓(xùn)練樣本,把訓(xùn)練后的期望輸出與實際輸出產(chǎn)生的均方誤差和作為目標(biāo)函數(shù),構(gòu)造如下的適應(yīng)度函數(shù),來計算個體的適應(yīng)值。
式(9)為神經(jīng)網(wǎng)絡(luò)計算輸出,即為目標(biāo)輸出;其中,N為訓(xùn)練樣本數(shù);L為輸出神經(jīng)元個數(shù)。
步驟6:個體極值與全局極值的更新。比較粒子群中各個粒子的適應(yīng)值,如果粒子當(dāng)前適應(yīng)值優(yōu)于歷史最好適應(yīng)值,則進(jìn)行個體極值更新,將該適應(yīng)值保存為其個體歷史最優(yōu)值;比較粒子群中所有粒子當(dāng)前的最優(yōu)適應(yīng)度值與上歷史最優(yōu)適應(yīng)值,如果粒子當(dāng)前代適應(yīng)值優(yōu)于上一代則進(jìn)行全局極值的更新,保存為全局最優(yōu)位置。
步驟7:速度與位置的更新。根據(jù)式(1)、(2)更新每個粒子的速度與位置。
步驟8:算法終止輸出最優(yōu)網(wǎng)絡(luò)。粒子的適應(yīng)值滿足預(yù)設(shè)精度或者達(dá)到最大迭代次數(shù),或訓(xùn)練誤差小于規(guī)定值,則算法停止,并將全局最優(yōu)值輸出。
圖1 基于IPSO-BP算法的工作流程圖Figure1 The work flowchart based on IPSO-BP optimization algorithm
本文在Markowitz證券投資理論的基本框架下,利用夏普理論作為證券組合配置的理論基礎(chǔ),從而達(dá)到簡化模型參數(shù)以及降低計算工作量的目的[11](P469-477)[12](P101-106)。
(若不允許賣空,則還應(yīng)滿足xi≥0,i=1,2,3,…,n)
其中xi表示第i個證券的投資比例,Rp為組合超額收益率,βp為組合投資的風(fēng)險系數(shù),αi為市場超額收益,rM-rf為零時的股票收益率。
實例從2012年內(nèi)市場數(shù)據(jù)中選取6只證券,如表1所示,通過Matlab仿真軟件進(jìn)行數(shù)據(jù)分析求解,獲取該6只證券在2012年的市場收益率和投資比例。
表1 證券平均收益率和投資比例表Table 1 The table of average yield and investment proportion for portfolio investment
通過實驗數(shù)據(jù)分析可知,收益率隨著風(fēng)險損失率的增長而增長,當(dāng)收益率增長到一定水平時將穩(wěn)定。因此收益率不是隨著風(fēng)險損失率無限增長的,當(dāng)總投資數(shù)固定,選取證券進(jìn)行自由自合投資比例,采用IPSO-BP神經(jīng)網(wǎng)絡(luò)優(yōu)化證券投資組合方法,實現(xiàn)風(fēng)險較低,收益較高的投資比例。
本文利用改進(jìn)型粒子群算法不斷修正BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,使得基于改進(jìn)粒子群算法的BP神經(jīng)網(wǎng)絡(luò)模型在股價上的預(yù)測精度得以提高,同時利用該方法解決了證券投資組合的實際優(yōu)化問題,并取得了較好的實驗效果。仿真實驗結(jié)果表明:該方法能夠明顯優(yōu)于傳統(tǒng)的BP算法,并且具有一定的實用價值。
[1]萬倫來.西方證券投資組合理論的發(fā)展趨勢綜述[J].安徽大學(xué)學(xué)報,2005(1).
[2]劉曉峰,陳通,張連營.基于粒子群算法的最佳證券投資組合研究[J].系統(tǒng)管理學(xué)報,2008(2).
[3]黃招娣,應(yīng)婉月,余立琴,等.基于PSO的神經(jīng)網(wǎng)絡(luò)優(yōu)化證券投資組合方法研究[J].華東交通大學(xué)學(xué)報,2013(2).
[4]Kennedy J,Eberhart R.Particle Swarm Optimization[A].Proceedings of the Ieee Inter national Conferece on Neural Net works[C].1995.
[5]李文婷,吳錦.基于改進(jìn)粒子群算法的神經(jīng)網(wǎng)絡(luò)建模[J].機(jī)械管理開發(fā),2011(4).
[6]張建科,劉三陽,張曉清.改進(jìn)的粒子群算法[J].計算機(jī)工程與設(shè)計,2007(17).
[7]張丹,韓勝菊,李建,等.基于改進(jìn)粒子群算法的BP算法的研究[J].計算機(jī)仿真,2011(2).
[8]陳科燕,肖冬榮.基于遺傳算法的最優(yōu)化證券投資組合模型[J].南京氣象學(xué)院學(xué)報,2003(5).
[9]沈?qū)W利,張紅巖,張紀(jì)鎖.改進(jìn)粒子群算法對BP神經(jīng)網(wǎng)絡(luò)的優(yōu)化[J].計算機(jī)系統(tǒng)應(yīng)用,2010(2).
[10]金成均,常桂然,程維,等.基于IPSO的模糊神經(jīng)網(wǎng)絡(luò)優(yōu)化及交通流量預(yù)測[J].計算機(jī)科學(xué),2012(10).
[11]Markowitz H.Foundation of Portfolio Theory[J].Journal of Finance,1991(2).
[12]Shi Y,Eberhart R.Fuzzy Adaptive Swarm Optimization[A].The IEEE Congress on Evolutionary Computation[C].San. Francisco,USA:IEEE,2001.
The Optim ization of Portfolio Method of Neural Network Based on Im proved Particle Swarm Optim izer algorithm
HUANG Zhao-di
(School of Electrical&Electronic Engineering,East China Jiaotong University,Nanchang 330013,China)
In the artificial-neural-work-base forecast and analyses of portfolio investment,it is extremely important to improve the optimizing ability of each node parameters in neural network.Targeted to deal with traditional neural networks'shortcomings of slow learning speed,easy occurrence of localminimal value and lower prediction accuracy,we put forward an Improved Particle Swarm algorithm(Improved Particle Swarm Optimizer,IPSO),with which BP(Back Propagation)neural network is optimized and applied to optimal securities portfolio.The results show that this method is superior than traditional PSO-BP neural network optimization portfoliomethod.
Particle Swarm Optimizer algorithm;IPSO;BPNeural Networks;Portfolio Investment;
TP273;F830.91
A
10.3969/j.issn.1674-8107.2014.03.013
1674-8107(2014)03-0076-05
(責(zé)任編輯:曾瓊芳)
2014-02-10
教育部人文社會科學(xué)研究基金項目“基于折線模糊神經(jīng)網(wǎng)絡(luò)的證券投資組成合方法研究”(項目編號:12YJCZH 078)。
黃招娣(1980-),女,江西吉安人,講師,主要從事神經(jīng)網(wǎng)絡(luò)模型、證券投資優(yōu)化研究。