趙雅博,何 華
(河北工業(yè)大學(xué) 理學(xué)院,天津 300401)
隨著我國市場經(jīng)濟(jì)的快速發(fā)展和人民生活水平的日益完善,股票投資已逐步成為整個(gè)金融業(yè)乃至人們生活必不可少的組成部分。若能準(zhǔn)確預(yù)測股價(jià)的波動(dòng),合理引導(dǎo)控制股票市場,將進(jìn)一步推動(dòng)社會經(jīng)濟(jì)的發(fā)展,利用股票的歷史數(shù)據(jù)和變化規(guī)律,結(jié)合科學(xué)的方法研究未來股票市場,從而減少企業(yè)和個(gè)人的風(fēng)險(xiǎn)價(jià)值。因此,股票價(jià)格預(yù)測已成為眾多學(xué)者的研究方向。
現(xiàn)有研究表明,智能預(yù)測模型優(yōu)于傳統(tǒng)模型,尤其是短期預(yù)測[1]。神經(jīng)網(wǎng)絡(luò)作為一種有效的智能信息處理技術(shù),可根據(jù)數(shù)據(jù)內(nèi)部之間的聯(lián)系建模,具有廣泛的適應(yīng)能力,學(xué)習(xí)能力和映射能力[2-3],并且三層BP神經(jīng)網(wǎng)絡(luò)有合適的隱含層節(jié)點(diǎn)數(shù),就能擬合復(fù)雜的非線性映射的問題[4],從而找到非線性的輸入和輸出之間的聯(lián)系?;谝陨蟽?yōu)點(diǎn),BP神經(jīng)網(wǎng)絡(luò)早已被用于股票價(jià)格預(yù)測的模型當(dāng)中[5-10]。但是單個(gè)BP神經(jīng)網(wǎng)絡(luò)在預(yù)測股價(jià)波動(dòng)范圍時(shí)的誤差具有一定的隨機(jī)性,在高維度數(shù)據(jù)結(jié)構(gòu)下,網(wǎng)絡(luò)每次的輸出結(jié)果不一致,甚至?xí)霈F(xiàn)較大的差距。為了避免出現(xiàn)這種現(xiàn)象,本文引入了Bagging集成算法[11],將多個(gè)弱預(yù)測器組合為強(qiáng)預(yù)測器,從而減少過擬合現(xiàn)象,提高預(yù)測模型的準(zhǔn)確度。目前大多學(xué)者主要是對股票價(jià)格的點(diǎn)預(yù)測進(jìn)行研究,而股票市場是比較繁瑣的,且影響股票的因素眾多[12],因此對股票市場進(jìn)行精準(zhǔn)預(yù)測仍然非常困難[13]。在投資理財(cái)過程中,對股票價(jià)格波動(dòng)區(qū)間預(yù)測的研究很有必要,而信息粒化技術(shù)具有對大規(guī)模數(shù)據(jù)進(jìn)行挖掘并根據(jù)需要有效提取有用信息的能力,并在以粒子為單位的信息處理中有突出的優(yōu)勢,尤其適用于股票價(jià)格波動(dòng)范圍的分析和研究。為此提出了基于模糊信息?;虰P-Bagging的股價(jià)波動(dòng)范圍的預(yù)測模型,以股票數(shù)據(jù)的80%用于訓(xùn)練預(yù)測模型,20%用于預(yù)測并檢驗(yàn)其預(yù)測效果,得到未來股票開盤價(jià)的波動(dòng)范圍。最后通過預(yù)測未來4周的價(jià)格波動(dòng)范圍,并與單BP神經(jīng)網(wǎng)絡(luò)和SVM的預(yù)測結(jié)果進(jìn)行比較,驗(yàn)證了此模型的準(zhǔn)確性和應(yīng)用價(jià)值。從預(yù)測結(jié)果的準(zhǔn)確率可以發(fā)現(xiàn),隨著時(shí)間的推移,預(yù)測效果逐漸減弱,但仍可判斷股票的漲跌趨勢。因此,該模型對短時(shí)間內(nèi)股票開盤價(jià)波動(dòng)范圍的預(yù)測效果還是具有很大的參考價(jià)值。
本文主要是通過時(shí)間序列數(shù)據(jù)預(yù)測股票價(jià)格,對于其他因素,比如投資者心理情緒、公司突發(fā)事件、經(jīng)濟(jì)周期的張縮、通貨膨脹、國際金融市場的動(dòng)蕩等并未考慮,因此,根據(jù)本文預(yù)測的效果,同時(shí)結(jié)合個(gè)人、企業(yè)和國家的經(jīng)濟(jì)波動(dòng),理性投資股票,才能減少投資風(fēng)險(xiǎn),實(shí)現(xiàn)最大收益。
信息?;谴髷?shù)據(jù)研究的熱點(diǎn)之一,可有效處理大量粗糙信息。最先,Lotfi A.Zadeh(L.A.Zadeh)教授引入信息?;@一理論[14],信息?;褪菍⒄w化為一個(gè)個(gè)信息粒進(jìn)行研究。信息粒作為信息的表現(xiàn)形式,通常把一些類似的事物放在一起作為一個(gè)集體研究它們的特性,這種處理事物的方法稱為信息?;?,所研究的“集體”就是信息粒。對股票價(jià)格波動(dòng)范圍的進(jìn)行預(yù)測時(shí),可以根據(jù)預(yù)測模型的特點(diǎn)將某一時(shí)間序列化為信息粒來實(shí)驗(yàn),經(jīng)過?;奶幚淼玫礁鱾€(gè)信息粒的主要信息。
在對高維度數(shù)據(jù)進(jìn)行處理時(shí),往往通過建立模糊信息粒反映樣本數(shù)據(jù)的特點(diǎn),信息粒一般以模糊集的方式體現(xiàn),用此方法對非線性的時(shí)間序列進(jìn)行模糊?;笾驴煞謨蓚€(gè)階段:劃分窗口和模糊化。窗口的劃分是將股票的數(shù)據(jù)按時(shí)間序列劃分為多個(gè)小的子序列,每個(gè)小子序列作為操作的窗口;模糊化是采用特定的方法對每個(gè)窗口模糊化,生成模糊信息粒。窗口劃分的長度可以依據(jù)原始數(shù)據(jù)的特點(diǎn)來確定,而模糊化的過程是關(guān)鍵,是在粒化產(chǎn)生的窗口建立模糊集,使其能有效替代原始數(shù)據(jù)。
本文采用的是Witold Pedrycz的模糊粒化方法,對于單個(gè)窗口的問題,把所有的時(shí)間序列X看作一個(gè)窗口做模糊化處理,模糊化的過程是在X上建立一個(gè)模糊粒子P,使其能夠合理描述X的模糊概念G,其中G是以X為論域的模糊集合,確定了G也就確定了模糊粒子P:g--ΔxisG,x∈X,因此模糊化過程的核心是確定G的隸屬函數(shù)A的過程,即A=μG。通常情況下模糊粒子的形式有三角形、梯形、高斯形、拋物形,由于三角形模糊粒子簡單易行,根據(jù)本文數(shù)據(jù)量的大小,采用三角形,其隸屬函數(shù)為:
式中:x是論域中的變量;a、m和b是參數(shù)。a、m和b分別對應(yīng)于各個(gè)窗口模糊?;笊傻?個(gè)值:Low、R、Up。在每個(gè)模糊粒子中,Low體現(xiàn)了股票初始樣本波動(dòng)的最小值,R體現(xiàn)了股票初始樣本波動(dòng)的大體平均水平,Up體現(xiàn)了股票初始樣本波動(dòng)的最大值。模糊信息?;饕峭ㄟ^整體當(dāng)中各個(gè)部分之間的協(xié)作和信息共享來實(shí)現(xiàn)誤差最小,其特點(diǎn)是降低維數(shù),收斂速度快,容易實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)對訓(xùn)練樣本的擬合。
BP神經(jīng)網(wǎng)絡(luò)是一種信號前向傳遞、誤差反向傳播的多層前饋神經(jīng)網(wǎng)絡(luò)。對于時(shí)間序列預(yù)測模型來說,其實(shí)質(zhì)是構(gòu)造一個(gè)非線性的函數(shù)f(x)去逼近F(x)的方法,即F(xi)=f(xi+T) ,T>0,其中T為預(yù)測的時(shí)間長度,而BP神經(jīng)網(wǎng)絡(luò)就能很好的構(gòu)造出一種非線性的預(yù)測模型,網(wǎng)絡(luò)的輸入和輸出分別代表該函數(shù)的自變量和因變量。
BP神經(jīng)網(wǎng)絡(luò)是由輸入層、隱含層、輸出層組成的,通常需要進(jìn)行兩個(gè)階段的數(shù)據(jù)處理。首先是由神經(jīng)網(wǎng)絡(luò)隱含層的激勵(lì)函數(shù)對輸入數(shù)據(jù)進(jìn)行非線性的變換,其次網(wǎng)絡(luò)的輸出由函數(shù)響應(yīng)值通過輸出層的組合加權(quán)得到。根據(jù)輸入輸出序列(X,Y)確定輸入層節(jié)點(diǎn)數(shù)N、隱含層節(jié)點(diǎn)數(shù)L、輸出層節(jié)點(diǎn)數(shù)M,這樣BP神經(jīng)網(wǎng)絡(luò)就實(shí)現(xiàn)映射f:Rn→Rm。由輸入向量X,計(jì)算隱含層的輸出
式中:ωij為輸入層與隱含層的連接權(quán)重;aj為隱含層的初始閾值;f為激勵(lì)函數(shù)。同理可得網(wǎng)絡(luò)的預(yù)測輸出
式中:ωjk為隱含層與輸出層的連接權(quán)值;bk為輸出層的初始閾值。進(jìn)而可計(jì)算網(wǎng)絡(luò)的預(yù)測誤差:ek=gk-Yk,其中預(yù)測誤差可在網(wǎng)絡(luò)訓(xùn)練前提前設(shè)定參數(shù)值,在未達(dá)到誤差參數(shù)值情況下,根據(jù)BP神經(jīng)網(wǎng)絡(luò)誤差反向傳播原理,需要不斷地更新連接權(quán)值ωij和ωjk:
式中,η為訓(xùn)練時(shí)的學(xué)習(xí)速率。同時(shí)更新網(wǎng)絡(luò)節(jié)點(diǎn)的閾值aj和bk:
這樣BP神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)過程中,通過網(wǎng)絡(luò)輸出得到的誤差不斷更新網(wǎng)絡(luò)連接的權(quán)值和閾值,樣本數(shù)據(jù)中所隱含的規(guī)律逐漸刻畫到網(wǎng)絡(luò)中,從而得到符合此規(guī)律的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型,使得網(wǎng)絡(luò)的預(yù)測值和真實(shí)值達(dá)到一致。
從上述算法中可以看出,隨著訓(xùn)練數(shù)據(jù)規(guī)模的增大,神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)效率隨之下降,泛化能力受到限制,通過模糊信息?;姆椒梢詫τ?xùn)練樣本進(jìn)行劃分,生成多個(gè)粒,并將該結(jié)果作為訓(xùn)練樣本。直觀上就可降低樣本數(shù)據(jù)的規(guī)模,節(jié)省時(shí)間復(fù)雜度。
Bagging算法是應(yīng)用最為廣泛的集成學(xué)習(xí)算法之一,基本思想是將多個(gè)不同的弱學(xué)習(xí)器通過等權(quán)平均的方法組成強(qiáng)預(yù)測器,以提高預(yù)測模型的準(zhǔn)確性。其特點(diǎn)是可并行計(jì)算,降低弱學(xué)習(xí)算法的不穩(wěn)定性,從而改善整個(gè)預(yù)測模型的泛化能力。
Bagging集成的過程是給定一個(gè)弱學(xué)習(xí)器和一個(gè)訓(xùn)練集{(x1,y1),(x2,y2),…,(xn,yn)},每次從訓(xùn)練集中隨機(jī)選取m(m<n)個(gè)訓(xùn)練樣本,訓(xùn)練結(jié)束后生成預(yù)測模型fi,再將訓(xùn)練樣本放回初始訓(xùn)練集中進(jìn)行下一次的選取,保證每次所取的訓(xùn)練樣本容量相同,這里初始訓(xùn)練集中的樣本在經(jīng)過多次抽取過程后有可能是不存在的。k次訓(xùn)練以后可以得到一個(gè)預(yù)測模型序列:f1,f2,…,fk,最終強(qiáng)預(yù)測模型的結(jié)果采用算術(shù)平均的方法得到模型的輸出。BP-Bagging預(yù)測模型的流程如圖1所示。
圖1 BP-Bagging算法流程圖Fig 1 BP-Bagging algorithm flow chart
股票開盤價(jià)具有很強(qiáng)的波動(dòng)性和不確定性,對于股票開盤價(jià)的預(yù)測不能只局限于點(diǎn)預(yù)測的分析,還要進(jìn)行一段時(shí)期內(nèi)股票價(jià)格波動(dòng)范圍預(yù)測的研究。信息?;窃跀?shù)據(jù)挖掘中對大量復(fù)雜信息進(jìn)行模糊處理的有效工具,可反應(yīng)數(shù)據(jù)的模糊屬性。此外,BP神經(jīng)網(wǎng)絡(luò)在處理非線性問題方面具有較好的擬合能力,但在訓(xùn)練過程中會出現(xiàn)過擬合的現(xiàn)象,泛化能力有所減弱,網(wǎng)絡(luò)每次的輸出結(jié)果不穩(wěn)定。Bagging是一種提高預(yù)測能力的集成學(xué)習(xí)算法,可對弱預(yù)測器并行擬合,適用于“不穩(wěn)定”的預(yù)測方法,從而提高預(yù)測模型的準(zhǔn)確性??紤]到單一模型的局限性,難以改善模型的預(yù)測能力,本文將BP神經(jīng)網(wǎng)絡(luò)和Bagging算法相結(jié)合,構(gòu)建BP-Bagging模型,利用不同算法的優(yōu)點(diǎn),形成強(qiáng)預(yù)測器。
經(jīng)過信息?;瘜υ紨?shù)據(jù)的預(yù)處理,可以得到原始數(shù)據(jù)的模糊粒,降低樣本規(guī)模,減少時(shí)間的復(fù)雜度。然后將模糊信息?;蟮挠?xùn)練數(shù)據(jù)進(jìn)行隨機(jī)有放回的抽取,保證每次所得子樣本容量相同,得到若干個(gè)子訓(xùn)練集,用于訓(xùn)練不同的BP神經(jīng)網(wǎng)絡(luò)模型,最后由Bagging組合的方法輸出最終的預(yù)測結(jié)果,以提高學(xué)習(xí)速率,增強(qiáng)泛化能力,避免出現(xiàn)過學(xué)習(xí)的現(xiàn)象,從而保證預(yù)測結(jié)果的準(zhǔn)確性。為此提出了基于模糊信息?;虰P-Bagging的股價(jià)波動(dòng)范圍的預(yù)測模型,具體步驟如下。
1)提取初始訓(xùn)練數(shù)據(jù)集,并確定模糊粒化窗口的長度。
2)采用三角形模糊粒子對樣本數(shù)據(jù)進(jìn)行處理,分別得到?;蟮腖ow、R和Up的范圍值,并進(jìn)一步做歸一化處理:
式中:xmin=min(x);xmax=max(x)。
3)從初始訓(xùn)練集中隨機(jī)有放回的抽取相同容量的k個(gè)子訓(xùn)練集。
4)生成的訓(xùn)練子集用于訓(xùn)練單BP神經(jīng)網(wǎng)絡(luò),得到k個(gè)不同的弱預(yù)測模型,分別輸出各個(gè)窗口的Low、R和Up值。在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,隱含層和輸出層的傳遞函數(shù)分別為tansig和purelin,最大迭代次數(shù)設(shè)置為10 000,錯(cuò)誤目標(biāo)精度設(shè)置為10-6,初始權(quán)重隨機(jī)產(chǎn)生。在訓(xùn)練過程中,達(dá)到最大迭代次數(shù)或者錯(cuò)誤目標(biāo)精度即終止,輸出預(yù)測結(jié)果。
5)反歸一化,并對k個(gè)弱預(yù)測輸出采用Bagging集成算法確定最終的強(qiáng)預(yù)測結(jié)果。
6)對區(qū)間預(yù)測的結(jié)果進(jìn)行對比,驗(yàn)證組合預(yù)測模型的精確性和有效性。
本文通過網(wǎng)易財(cái)經(jīng)選取中信證券(600030)股票2007.11.17—2017.11.17日期內(nèi)2 405組數(shù)據(jù)的開盤價(jià)進(jìn)行分析,以前1 885 d的數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練集建立預(yù)測模型,1 886~2 385 d的數(shù)據(jù)作為預(yù)測,由于本文主要研究股價(jià)波動(dòng)范圍的短期預(yù)測,故把最后20 d數(shù)據(jù)作為驗(yàn)證集,以說明模型預(yù)測的有效性。
首先以5個(gè)交易日為模糊窗口,采用三角形隸屬函數(shù)對樣本數(shù)據(jù)進(jìn)行模糊信息?;?,得到各個(gè)窗口的最小值、大體平均水平和最大值,結(jié)果如圖2所示。
圖2 開盤價(jià)模糊信息?;蟮慕Y(jié)果Fig.2 Result of granulation of open price fuzzy information
利用此模型分別對Low、R和Up值進(jìn)行回歸預(yù)測時(shí),3個(gè)值的預(yù)測過程相似,這里僅以R值的預(yù)測結(jié)果為例,將R進(jìn)行歸一化處理,結(jié)果如圖3。
圖3 ?;蟮腞值歸一化的圖像Fig.3 Grained R-valued normalized image
從1 885 d的訓(xùn)練數(shù)據(jù)(377組R值)中,隨機(jī)選取1 500 d的數(shù)據(jù)(300組R值)作為樣本訓(xùn)練集,有放回的選取k次后分別用于訓(xùn)練單BP神經(jīng)網(wǎng)絡(luò),得到k個(gè)不同的預(yù)測模型,對k個(gè)預(yù)測模型的回歸結(jié)果求等權(quán)平均得到的值即為最終的模型輸出,并畫出單BP網(wǎng)絡(luò)、BP-Bagging的預(yù)測值和真實(shí)值得對比圖,如圖4所示。
圖4 R的預(yù)測值與真實(shí)值的比較Fig.4 The Compare of R′s Predicted Values to Real Values
為進(jìn)一步驗(yàn)證預(yù)測模型的穩(wěn)定性和準(zhǔn)確性,本文采用區(qū)間準(zhǔn)確率的指標(biāo)進(jìn)行評價(jià):設(shè)A為實(shí)際波動(dòng)范圍,B為預(yù)測波動(dòng)范圍,則區(qū)間準(zhǔn)確率100%。結(jié)合BP-Bagging模型和單BP神經(jīng)網(wǎng)絡(luò)模型得到測試集的股票預(yù)測價(jià)格波動(dòng)范圍和實(shí)際波動(dòng)范圍的對比表,如表1、表2所示。并采用喻勝華[15]提出的支持向量機(jī)的方法同樣進(jìn)行預(yù)測,得出的結(jié)果如表3所示。
表1 BP-Bagging預(yù)測開盤價(jià)的變化范圍和準(zhǔn)確率Tab.1 BP-Bagging predicts the range and accuracy of the opening price
表2 BP預(yù)測開盤價(jià)的變化范圍和準(zhǔn)確率Tab.2 BP predicts the range and accuracy of the opening price
表3 SVM預(yù)測開盤價(jià)的變化范圍和準(zhǔn)確率Tab.3 SVM predicts the range and accuracy of the opening price
通過對比可以發(fā)現(xiàn),本文所建立的BP-Bagging模型預(yù)測結(jié)果的準(zhǔn)確率相對于單BP神經(jīng)網(wǎng)絡(luò)和SVM是較高的,這也充分說明了Bagging算法對于不穩(wěn)定的預(yù)測器有一定的改善。隨著時(shí)間的推移,不確定因素的增加,預(yù)測的精度有所下降,但根據(jù)區(qū)間的變化也可判斷出在這段時(shí)間內(nèi),中信證券股票的開盤價(jià)先跌后漲,與實(shí)際情況的波動(dòng)趨勢相同,這也為投資者提供了有利的理財(cái)依據(jù)。
本文首先利用模糊信息粒化方法對原始數(shù)據(jù)進(jìn)行處理,分別得到粒化后的最小值、大體平均水平和最大值,其次利用隨機(jī)采樣方法獲取不同的訓(xùn)練數(shù)據(jù)集,分別訓(xùn)練多個(gè)BP神經(jīng)網(wǎng)絡(luò),并結(jié)合Bagging算法將多個(gè)模型進(jìn)行集成得到最終的預(yù)測輸出,構(gòu)建了以開盤價(jià)波動(dòng)范圍為輸出量的強(qiáng)預(yù)測模型,最后通過BPBagging、單BP神經(jīng)網(wǎng)絡(luò)和SVM預(yù)測結(jié)果的對比,進(jìn)一步驗(yàn)證了此模型對未來短時(shí)間內(nèi)股票價(jià)格預(yù)測的有效性和準(zhǔn)確性。雖然可以實(shí)現(xiàn)對未來股票開盤價(jià)的漲跌范圍進(jìn)行大致預(yù)測,但無法實(shí)現(xiàn)精準(zhǔn)預(yù)測,主要是因?yàn)楣善眱r(jià)格受到市場不確定因素、國家經(jīng)濟(jì)政策和投資者的風(fēng)險(xiǎn)承擔(dān)能力等的影響。因此,在實(shí)際的操盤中,投資者可根據(jù)預(yù)測得到的股票開盤價(jià)的變化范圍,留出更多的考慮時(shí)間,結(jié)合當(dāng)前企業(yè)的經(jīng)濟(jì)狀況,以實(shí)現(xiàn)最大收益。