關(guān)美銀
摘要:文章從技術(shù)分析的角度分析股票市場(chǎng)的變動(dòng),以深滬A股在2012年五月份的具體數(shù)據(jù)作為實(shí)例,采用BP神經(jīng)網(wǎng)絡(luò)對(duì)股票價(jià)格進(jìn)行預(yù)測(cè)。將關(guān)于每支股票的基本數(shù)據(jù)信息作為候選輸入變量,再?gòu)闹泻Y選出與股票價(jià)格變化相關(guān)性比較強(qiáng)的變量作為輸入變量,從而建立一個(gè)三層的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)。
關(guān)鍵詞: BP神經(jīng)網(wǎng)絡(luò);股票價(jià)格預(yù)測(cè);MATLAB軟件
股票出現(xiàn)在世界上已經(jīng)有將近400年的歷史,世界上最早的股份有限公司制度誕生于1602年在荷蘭成立的東印度公司,伴隨股份公司的誕生,產(chǎn)生了買賣轉(zhuǎn)讓股票的需求,從而使股份制公司能夠獲得大量的資本金得以發(fā)展。
然而,在股票投資中,時(shí)常會(huì)出現(xiàn)股價(jià)真實(shí)的漲跌情況與投資者預(yù)期的漲跌情況不相符的現(xiàn)象,在這樣的情況下投資者就會(huì)面臨著投資失利的風(fēng)險(xiǎn)。如何有效地對(duì)股價(jià)的漲跌進(jìn)行預(yù)測(cè),成了投資者一直不懈探索研究的問(wèn)題。預(yù)測(cè)的前提是事物的發(fā)展過(guò)程是有跡可循的,因此我們必須承認(rèn)這些信息之間存在某種未知的規(guī)律,而這些規(guī)律我們是可以從歷史的數(shù)據(jù)中得取。而從數(shù)學(xué)建模的角度來(lái)講,這些規(guī)律即是相關(guān)數(shù)據(jù)之間的函數(shù)關(guān)系。我們的目的是要建立起適合的數(shù)學(xué)模型,從而確定其中的函數(shù)關(guān)系。
BP神經(jīng)網(wǎng)絡(luò)的算法思想是模擬人思維的方式,通過(guò)一定的學(xué)習(xí)準(zhǔn)則進(jìn)行學(xué)習(xí),當(dāng)網(wǎng)絡(luò)作出錯(cuò)誤的判決時(shí),通過(guò)網(wǎng)絡(luò)的學(xué)習(xí),減少下次犯同樣錯(cuò)誤的可能性,是一個(gè)非線性動(dòng)力學(xué)系統(tǒng),具有高度并行處理信息的機(jī)制,而且具有高速自學(xué)習(xí),自適應(yīng)能力,內(nèi)部有大量可調(diào)參數(shù)。在對(duì)股票市場(chǎng)的變動(dòng)作綜合評(píng)價(jià)并預(yù)測(cè)其變化趨勢(shì)的時(shí)候,許多非線性的因素以及模糊的因素會(huì)給我們的工作帶來(lái)很多麻煩,而神經(jīng)網(wǎng)絡(luò)后天的學(xué)習(xí)能力能夠使它可以隨環(huán)境的變化不斷學(xué)習(xí),可以經(jīng)過(guò)訓(xùn)練來(lái)處理復(fù)雜的信息關(guān)系。網(wǎng)絡(luò)在訓(xùn)練中吸收了學(xué)習(xí)樣本中的專家思維,實(shí)現(xiàn)了給定的學(xué)習(xí)樣本的輸入——輸出映射關(guān)系,當(dāng)測(cè)試樣本作為新的輸入進(jìn)行映射時(shí),就可以在輸出的評(píng)價(jià)結(jié)果中再現(xiàn)專家的經(jīng)驗(yàn),知識(shí)和直覺(jué)思維,從而得出比較合理的預(yù)測(cè)結(jié)果。
本文選用2012年5月份其中一天的深滬股市中創(chuàng)業(yè)板的股票數(shù)據(jù)作為樣本,基本數(shù)據(jù)指標(biāo)與技術(shù)數(shù)據(jù)指標(biāo)的數(shù)量比較多,為了解決輸入變量過(guò)多的問(wèn)題,此處采用了SAS數(shù)據(jù)處理軟件對(duì)各個(gè)變量進(jìn)行相關(guān)性分析,以判斷這些變量是否對(duì)實(shí)驗(yàn)結(jié)果有顯著影響,經(jīng)過(guò)這輪篩選之后選取其中的9個(gè)變量作為輸入變量,其中包括今日開(kāi)盤(pán)價(jià),昨日收盤(pán)價(jià),活躍度,市盈率,每股公積,當(dāng)天強(qiáng)弱度,3日強(qiáng)弱度,10日強(qiáng)弱度,60日強(qiáng)弱度,并以當(dāng)天的收盤(pán)價(jià)作為輸出變量。我們可以看出,輸入變量中既包含了個(gè)股的信息,也反映了大盤(pán)的信息,而且兼顧了相對(duì)近期的信息以及歷史信息,基本上概括了可以影響股票價(jià)格變動(dòng)的因素,選取的過(guò)程兼顧科學(xué)性以及合理性,提高了實(shí)驗(yàn)的準(zhǔn)確度。由于變量的數(shù)據(jù)之間數(shù)量級(jí)存在比較大的差別,為了避免出現(xiàn)因變量數(shù)量級(jí)差別較大而造成的模型預(yù)測(cè)誤差較大,同時(shí)也為了提高神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效率,要對(duì)樣本數(shù)據(jù)進(jìn)行適當(dāng)?shù)念A(yù)處理。先對(duì)樣本數(shù)據(jù)作歸一化處理,使得以及目標(biāo)數(shù)據(jù)均服從正態(tài)分布,這樣就比較好地解決了數(shù)量級(jí)差異較大的問(wèn)題,然后利用MATLAB中的prepca函數(shù)對(duì)歸一化后的樣本數(shù)據(jù)進(jìn)行主元分析,降低樣本數(shù)據(jù)的冗余度,起到數(shù)據(jù)降維的作用,從而使神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效率得到有效提高,本文選擇的樣本數(shù)據(jù)經(jīng)過(guò)處理之后維數(shù)變?yōu)?,經(jīng)過(guò)這樣的降維之后,使得我們?cè)趯?shí)驗(yàn)的過(guò)程中得到的結(jié)果更加具有客觀性。
此外,采用train函數(shù)與“提前停止”相結(jié)合的方法,在訓(xùn)練之前要對(duì)樣本數(shù)據(jù)進(jìn)行區(qū)分,分為訓(xùn)練樣本集,驗(yàn)證樣本集以及測(cè)試樣本集。
在這里我們選擇三層的BP網(wǎng)絡(luò),網(wǎng)絡(luò)的輸入維數(shù)為8,選擇的輸入變量為預(yù)處理之后得到降維處理以及已經(jīng)區(qū)分好的樣本數(shù)據(jù)。輸出維數(shù)為1,因?yàn)槲覀冃枰A(yù)測(cè)的變量只有當(dāng)天的收盤(pán)價(jià)。在選擇隱含層維數(shù)的時(shí)候,由于目前沒(méi)有統(tǒng)一的定性標(biāo)準(zhǔn)來(lái)確定如何選取隱含層的維數(shù)才會(huì)得到比較準(zhǔn)確的數(shù)據(jù)結(jié)果, BP網(wǎng)絡(luò)中隱含層的維數(shù)多少與其預(yù)測(cè)精度之間具有很重要的關(guān)系,當(dāng)維數(shù)太少時(shí),神經(jīng)網(wǎng)絡(luò)的訓(xùn)練能力會(huì)變?nèi)?,使得預(yù)測(cè)精度下降;當(dāng)維數(shù)太多時(shí),會(huì)導(dǎo)致神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)間過(guò)長(zhǎng),很有可能造成網(wǎng)絡(luò)過(guò)度擬合的現(xiàn)象。在這里,我們經(jīng)過(guò)多次的比較,最終確定了隱含層的維數(shù)為4。由圖像結(jié)果對(duì)比,當(dāng)隱含層維數(shù)為4的時(shí)候,得到的誤差曲線變化趨勢(shì)基本一致,說(shuō)明樣本集的劃分比較合理,而且訓(xùn)練誤差的結(jié)果也比較滿意。
為了進(jìn)一步檢驗(yàn)訓(xùn)練之后的網(wǎng)絡(luò)性能,本文將對(duì)訓(xùn)練結(jié)果作進(jìn)一步仿真分析,利用SIM函數(shù)將所有的數(shù)據(jù)通過(guò)網(wǎng)絡(luò),然后得到網(wǎng)絡(luò)輸出和相應(yīng)的目標(biāo)進(jìn)行線性回歸,然后再對(duì)網(wǎng)絡(luò)輸出進(jìn)行反規(guī)范化變換,得到的結(jié)果與原始的輸出變量作對(duì)比,繪制出預(yù)測(cè)結(jié)果與實(shí)際結(jié)果的對(duì)比圖(如圖1),由得到的數(shù)據(jù)以及對(duì)比圖我們可以看出,預(yù)測(cè)值與實(shí)際值的曲線變化基本一致,其中的比較多的數(shù)據(jù)點(diǎn)也達(dá)到一定精確程度上的接近。BP網(wǎng)絡(luò)在一定程度上實(shí)現(xiàn)了對(duì)股票價(jià)格的預(yù)測(cè),訓(xùn)練后的BP網(wǎng)絡(luò)預(yù)測(cè)能力較高,得到的誤差比較小,網(wǎng)絡(luò)泛化能力比較好,所以我們可以通過(guò)BP網(wǎng)絡(luò)在一定條件上實(shí)現(xiàn)對(duì)股價(jià)變動(dòng)的判斷。
為了進(jìn)一步證明BP神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)股票市場(chǎng)價(jià)格方面的可行性,現(xiàn)在我們用另外一種經(jīng)典的預(yù)測(cè)算法——回歸分析方法對(duì)同樣的數(shù)據(jù)進(jìn)行擬合,最終得出的預(yù)測(cè)結(jié)果與實(shí)際值的折現(xiàn)對(duì)比圖(圖2)。由圖3,我們可以看出,回歸分析預(yù)測(cè)的結(jié)果顯示趨勢(shì)與實(shí)際值的結(jié)果顯示趨勢(shì)大致相同,由此我們可以認(rèn)為回歸分析預(yù)測(cè)有一定的合理性,但是在準(zhǔn)確度方面,回歸分析預(yù)測(cè)卻大大不如BP神經(jīng)網(wǎng)絡(luò)算法,由此,可以更進(jìn)一步說(shuō)明BP神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)股票市場(chǎng)這一類波動(dòng)規(guī)律性不明顯,十分復(fù)雜的非線性動(dòng)態(tài)變化的復(fù)雜系統(tǒng)方面具有很大的優(yōu)勢(shì)。
BP神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的自學(xué)能力,適應(yīng)能力以及容錯(cuò)能力等特點(diǎn),這些特點(diǎn)使得它能夠在一定條件下對(duì)股票市場(chǎng)的變動(dòng)作一定程度上的分析,并判斷股票的走勢(shì)。但是由于股票市場(chǎng)是一個(gè)極其不穩(wěn)定的非線性動(dòng)態(tài)變化的復(fù)雜系統(tǒng),而且影響股價(jià)的因素涉及的范圍十分廣闊,簡(jiǎn)單地依靠BP網(wǎng)絡(luò)是不可能十分精確地預(yù)測(cè)到其變動(dòng)的,此外,在實(shí)驗(yàn)進(jìn)行的過(guò)程中,我們還有很多需要改進(jìn)的地方,例如可以通過(guò)設(shè)置控制權(quán)值的方法控制每次訓(xùn)練樣本得出的結(jié)果,使其隨機(jī)性降低而目的性提高;選擇輸入變量的時(shí)候也應(yīng)該從更多的方面去考慮,在兼顧訓(xùn)練效率與變量數(shù)目之間取一個(gè)平衡點(diǎn),協(xié)調(diào)兩者之間的關(guān)系,從而使我們得出的結(jié)果更客觀更精確。
(作者單位:新會(huì)農(nóng)商銀行)