[摘要] 粒子群算法是一種基于群智能的全局尋優(yōu)方法,方法簡單易于實現(xiàn)。本文將粒子群算法用于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,提出了一種股票價格預(yù)測的新方法,研究表明預(yù)測效果良好。
[關(guān)鍵詞] 粒子群算法 神經(jīng)網(wǎng)絡(luò) 股票
一、前言
股票市場是我國資本市場不可缺少的一部分,在推動經(jīng)濟發(fā)展中起到了舉足輕重的作用。隨著我國經(jīng)濟的快速發(fā)展,股票價格的預(yù)測研究成了當(dāng)前的熱點之一,但股票價格的形成機制是頗為復(fù)雜的,股票價格既受到政治、經(jīng)濟、市場的影響,也受到技術(shù)和投資者行為的影響,個別因素的波動都可能會使股票價格劇烈波動,股票價格和各影響因素之間很難直接建立明確的函數(shù)關(guān)系表達式。神經(jīng)網(wǎng)絡(luò)對非線性問題有強大的處理能力,是股票價格預(yù)測的有效方法,但神經(jīng)網(wǎng)絡(luò)收斂速度慢,易于陷入局部極小點,魯棒性差。粒子群算法是一種基于群智能的全局尋優(yōu)方法,方法簡單易于實現(xiàn)。粒子群神經(jīng)網(wǎng)絡(luò)將粒子群算法引入到神經(jīng)網(wǎng)絡(luò)的訓(xùn)練當(dāng)中,可以有效地提高神經(jīng)網(wǎng)絡(luò)的預(yù)測能力。
二、粒子群算法
粒子群算法初始化為一組隨機粒子,然后通過迭代尋找最優(yōu)解。粒子追隨兩個最優(yōu)值來更新自己,一個是粒子迄今為止尋找到的最優(yōu)值,叫做個體極值(pBest);另外一個是整個粒子群迄今為止尋找到的最優(yōu)值,叫做全局極值(gBest)。粒子用以下公式更新自己:
(1)
(2)
其中為當(dāng)代粒子移動速度;是下一代粒子移動速度;是介于[0,1]之間隨機數(shù);是學(xué)習(xí)因子,一般取2;是當(dāng)代粒子位置;是下一代粒子位置;是個體最優(yōu)位置,是全局最優(yōu)位置;為慣性因子。
慣性因子對優(yōu)化性能有很大的影響,較大的值有利于跳出局部極小點,而較小的值有利于算法收斂。一般采用以下公式進行更新:
(3)
式中為迭代次數(shù)。
三、粒子群神經(jīng)網(wǎng)絡(luò)
多層前饋神經(jīng)網(wǎng)絡(luò)由于一般使用BP算法作為學(xué)習(xí)算法,因此常稱之為BP網(wǎng)絡(luò),由于BP算法從本質(zhì)上講是一種局部尋優(yōu)算法, BP算法不可避免地存在局部極小,因此需要用一種全局尋優(yōu)算法來代替BP算法。由于粒子群算法有良好的全局收斂性能,在這里我們采用粒子群算法作為神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法,即用粒子群算法來實現(xiàn)神經(jīng)網(wǎng)絡(luò)權(quán)值的尋優(yōu),稱這種網(wǎng)絡(luò)為粒子群神經(jīng)網(wǎng)絡(luò)。
圖1 粒子群神經(jīng)網(wǎng)絡(luò)
四、股票價格預(yù)測
采用三層前饋神經(jīng)網(wǎng)絡(luò),隱層神經(jīng)元為線性神經(jīng)元,激活函數(shù)為S型函數(shù),網(wǎng)絡(luò)權(quán)值尋優(yōu)方法為粒子群算法。根據(jù)經(jīng)驗選取預(yù)測日前四天開盤價、收盤價作為輸入量,輸出量為第五天的收盤價,網(wǎng)絡(luò)結(jié)構(gòu)為8-17-1。本文選取“泰豪科技(600590)”從2007年5月10日到9月20日的股票價格數(shù)據(jù)利用MATLAB軟件進行研究。取70組數(shù)據(jù)作為訓(xùn)練樣本,20組數(shù)據(jù)為測試樣本。
圖2 泰豪科技實際值和預(yù)測值
由上圖可以看出,股票預(yù)測價格與實際價格略有差距但相差不多,并且總的趨勢符合實際走勢。
五、結(jié)束語
粒子群算法簡單,收斂速度快,魯棒性強,易于編程實現(xiàn)。粒子群神經(jīng)網(wǎng)絡(luò)兼有粒子群算法和神經(jīng)網(wǎng)絡(luò)的長處,將粒子群神經(jīng)網(wǎng)絡(luò)運用到股票價格預(yù)測上,研究結(jié)果表明預(yù)測效果良好。
參考文獻:
[1]Kennedy J. and Eberhart R .Particle Swarm Optimization . IEEE International Conference on Neural Networks (Perth, Australia), IEEE Service Center, Piscataway, NJ, IV: 1942-1948,1995.
[2]Shi Y, Eberhart R. A modified particle swarm optimizer[C]. In: IEEE World Congress on Computational Intelligence ,1998:69-73
[3]聞新周露李翔等:MATLAB神經(jīng)網(wǎng)絡(luò)仿真與應(yīng)用[M].科學(xué)出版社,2003.7
[4]徐欽龍劉國平張鍵民:基于粒子群算法的溫度模型優(yōu)化[J].南昌大學(xué)學(xué)報[工科版],2003,(1):68-71