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