蔣 倩 儀
(中南林業(yè)科技大學(xué)計(jì)算機(jī)與信息工程學(xué)院 湖南 長(zhǎng)沙 410004)
基于時(shí)間序列預(yù)測(cè)的股票交易決策建議系統(tǒng)
蔣 倩 儀
(中南林業(yè)科技大學(xué)計(jì)算機(jī)與信息工程學(xué)院 湖南 長(zhǎng)沙 410004)
對(duì)股票市場(chǎng)特征選擇的相關(guān)問(wèn)題進(jìn)行了研究和討論。根據(jù)震蕩盒理論提出一種新的適應(yīng)于與機(jī)器學(xué)習(xí)相結(jié)合的交易邊界模型,通過(guò)結(jié)合基于距離的多核極限學(xué)習(xí)機(jī)(DBMK-ELM)與交易邊界模型,構(gòu)建基于時(shí)間序列預(yù)測(cè)的股票交易決策建議系統(tǒng),使得在股票交易中能穩(wěn)定獲得較高的收益率并保持較低的投資風(fēng)險(xiǎn)。該系統(tǒng)可以快速地學(xué)習(xí)股市的歷史數(shù)據(jù),以適應(yīng)快速更新的股票價(jià)格變化模式。
時(shí)間序列預(yù)測(cè) 機(jī)器學(xué)習(xí) 交易邊界模型
目前,能幫助人們獲得豐厚投資回報(bào)的股票市場(chǎng)研究是投資金融領(lǐng)域的一個(gè)焦點(diǎn)問(wèn)題。然而,由于股票市場(chǎng)本身是動(dòng)態(tài)的、非線性的、無(wú)參的以及混沌的,對(duì)于股票價(jià)格時(shí)間序列的預(yù)測(cè)被認(rèn)為是時(shí)間序列預(yù)測(cè)的各種應(yīng)用中最優(yōu)挑戰(zhàn)性的應(yīng)用之一[1-4]。由于還沒(méi)有方法能夠高精度地預(yù)測(cè)出股票未來(lái)的價(jià)格,而適當(dāng)?shù)慕灰撞呗钥梢詼p小預(yù)測(cè)誤差帶來(lái)的風(fēng)險(xiǎn),所以一個(gè)強(qiáng)大的交易策略對(duì)于股票價(jià)格預(yù)測(cè)的應(yīng)用而言非常關(guān)鍵。一個(gè)好的股票時(shí)間序列預(yù)測(cè)結(jié)果結(jié)合適當(dāng)?shù)慕灰撞呗裕涂梢詷?gòu)造出基于時(shí)間序列預(yù)測(cè)的股票交易決策建議系統(tǒng),為投資者在股票市場(chǎng)中的決策提供合理的建議。
股票的交易策略眾多,考慮到在基于機(jī)器學(xué)習(xí)的股票價(jià)格時(shí)間序列的應(yīng)用中交易策略主要用途之一是消除預(yù)測(cè)誤差帶來(lái)的影響,所以在此合適的交易策略應(yīng)該是能夠放松原來(lái)的預(yù)測(cè)問(wèn)題使其對(duì)預(yù)測(cè)精度的要求減小。這種交易的策略中,典型的就是應(yīng)用 Darvas 提出的震蕩盒理論[5]。該理論最基本的思想是股票價(jià)格在一段時(shí)間內(nèi)將有一個(gè)確定的震蕩區(qū)間,即在這段時(shí)間內(nèi)它能達(dá)到的最大值和最小值之間震蕩。而這一段震蕩的時(shí)間和價(jià)格區(qū)間構(gòu)成的廣義空間稱之為震蕩盒。
本文對(duì)震蕩盒理論進(jìn)行改造,在其基礎(chǔ)上提出了交易邊界模型,以適應(yīng)與機(jī)器學(xué)習(xí)的結(jié)合。通過(guò)結(jié)合基于距離的多核極限學(xué)習(xí)機(jī)(DBMK-ELM)與交易邊界模型,構(gòu)建基于時(shí)間序列預(yù)測(cè)的股票交易決策建議系統(tǒng)。具體而言,首先通過(guò)股票市場(chǎng)的歷史數(shù)據(jù)來(lái)訓(xùn)練DBMK-ELM,并使用其預(yù)測(cè)股票在后續(xù)交易日中的價(jià)格;接著,基于一套規(guī)則來(lái)監(jiān)測(cè)股票價(jià)格預(yù)測(cè)的準(zhǔn)確性以及是否突破了交易邊界;最后,根據(jù)由交易邊界模型制定出的交易策略來(lái)做出交易決策。
1.1 震蕩盒理論
震蕩盒理論是 Darvas 根據(jù)其長(zhǎng)期在股市交易中的經(jīng)驗(yàn)提出的。該理論最基本的思想是股票價(jià)格在一段時(shí)間內(nèi)將有一個(gè)確定的震蕩區(qū)間,即在這段時(shí)間內(nèi)它能達(dá)到的最大值和最小值之間震蕩。假設(shè)在這一段時(shí)間內(nèi)股票價(jià)格最大值所處的邊為盒子的頂部邊界,股票價(jià)格最小值所處的邊為盒子的底部邊界,時(shí)間段的起始點(diǎn)和終點(diǎn)所處的邊界分別為左邊界和右邊界,則在由這些邊界構(gòu)成的盒子中,股票價(jià)格上下震蕩。因此 Darvas 在理論中稱之為震蕩盒。在震蕩盒中,若股票價(jià)格接近于底部邊界,則其有上漲的趨勢(shì)。反之,若股票價(jià)格接近于頂部邊界,則其有下降的趨勢(shì)。此外,當(dāng)股票的價(jià)格突破盒子的頂部或底部邊界時(shí),它將進(jìn)入新的盒子并在其中開(kāi)始新的震蕩。在圖1中展示了典型的震蕩盒的樣例,交易者在股票價(jià)格處于一個(gè)震蕩盒中靠近盒子底部邊界買入并在其靠近盒子頂部邊界時(shí)售出,將獲得豐厚的投資收益。然而,如何檢測(cè)出股票價(jià)格是否接近盒子的邊界并且是否不會(huì)突破邊界是需要豐富的實(shí)際經(jīng)驗(yàn)的,對(duì)一般投資者而言是一項(xiàng)挑戰(zhàn)性的工作。本文利用基于機(jī)器學(xué)習(xí)的時(shí)間序列預(yù)測(cè)方法來(lái)對(duì)盒子的邊界進(jìn)行預(yù)測(cè),并通過(guò)制定的規(guī)則來(lái)檢測(cè)股票價(jià)格是否有突破震蕩盒邊界的趨勢(shì)。希望通過(guò)自動(dòng)化地學(xué)習(xí)股市交易模式,來(lái)減少投資者的投資風(fēng)險(xiǎn)并增加收益率。然而,這種結(jié)合存在著無(wú)法動(dòng)態(tài)調(diào)整震蕩盒位置的問(wèn)題,使得部分交易時(shí)機(jī)延誤。本文根據(jù)震蕩盒理論提出一種新的適應(yīng)于與機(jī)器學(xué)習(xí)相結(jié)合的交易邊界模型,以此解決該問(wèn)題。
圖1 震蕩盒樣例圖
1.2 灰色相關(guān)度
Deng首次提出了灰色相關(guān)度GCD(Grey Correlation Degree)這一特征相關(guān)度計(jì)算方法[6-9]。該方法在許多領(lǐng)域得到了大量的應(yīng)用。該方法用兩個(gè)序列曲線幾何形狀的相似度來(lái)衡量?jī)蓚€(gè)序列的相關(guān)性。兩個(gè)序列的幾何形狀越相似,則認(rèn)為兩個(gè)序列的相關(guān)性越大??紤]有n個(gè)樣本中某一個(gè)特征構(gòu)成的序列為F=[f1,f2,…,fn]以及樣本標(biāo)簽構(gòu)成的序列為T=[t1,t2,…,tn],則GCD的計(jì)算公式為:
(1)
其中:
(2)
式中,ξ∈(0,1)是控制相似顯著程度的系數(shù),通常設(shè)置為0.5。r(ti,fi) 是目標(biāo)值T和特征F在點(diǎn)i出的灰色相關(guān)度。而r(T,F)則是目標(biāo)值T和特征F整體的灰色相關(guān)度。
1.3 交易邊界模型
本文嘗試結(jié)合震蕩盒理論與機(jī)器學(xué)習(xí),通過(guò)機(jī)器學(xué)習(xí)來(lái)判別股票形勢(shì)是否滿足震蕩盒理論的交易條件[11-12]。然而,這樣的嘗試面臨著震蕩盒的位置確定的問(wèn)題,即如何動(dòng)態(tài)調(diào)整震蕩盒的大小。如果使用大小固定的震蕩盒,則實(shí)際股票價(jià)格在所設(shè)置的震蕩盒中的位置可能滯后于其實(shí)際所在震蕩盒中的位置,這樣會(huì)影響交易的時(shí)機(jī)。例如,如果設(shè)置震蕩盒的寬度固定為 30 天,而實(shí)際股票在 10 天之后就已在一個(gè)新的更窄區(qū)間內(nèi)震動(dòng)(該區(qū)間包含在原震蕩區(qū)間中),那么由于震蕩盒的邊界值固定為前 10 天的最大值和最小值,后20天的股價(jià)總無(wú)法接近盒子邊界,即使有適合交易的時(shí)機(jī)也不會(huì)產(chǎn)生新的交易。為了解決這一問(wèn)題,本文在震蕩盒理論的基礎(chǔ)上提出了自動(dòng)調(diào)整震蕩盒位置的交易邊界模型,取消了震蕩盒的寬度限制,僅僅保留震蕩盒的交易邊界。在交易邊界模型中,震蕩盒理論的交易邊界變化不再與時(shí)間相關(guān),其交易邊界依據(jù)股票價(jià)格與現(xiàn)有交易邊界之間的差異來(lái)改變。若定義交易邊界模型中交易上邊界值為Boundaryupper,下邊界值為Boundarylower,當(dāng)前股票價(jià)格為C,則邊界值的更新分別為:
(3)
(4)
式中,η是交易邊界的差異系數(shù),該值根據(jù)股票價(jià)格震蕩的周期規(guī)律確定。當(dāng)差異系數(shù)設(shè)置較小時(shí),可以捕捉股票價(jià)格在較短時(shí)間較小振幅中的震蕩。當(dāng)差異系數(shù)設(shè)置較大時(shí),反映的是股票價(jià)格在較長(zhǎng)時(shí)間較大振幅中的震蕩。
2.1 系統(tǒng)結(jié)構(gòu)
本文提出的基于時(shí)間序列預(yù)測(cè)的股票交易決策建議系統(tǒng)結(jié)構(gòu)如圖2所示,主要由如下三部分組成。第一個(gè)部分是數(shù)據(jù)預(yù)處理部分,其中包括提取數(shù)據(jù)特征值、對(duì)關(guān)鍵特征進(jìn)行選擇以及計(jì)算各個(gè)特征的灰色相關(guān)度并對(duì)根據(jù)該值對(duì)特征進(jìn)行加權(quán)處理;第二個(gè)部分是基于機(jī)器學(xué)習(xí)的股票價(jià)格時(shí)間序列預(yù)測(cè)部分,主要利用DBMK-ELM來(lái)學(xué)習(xí)股市歷史數(shù)據(jù)的模式,并且對(duì)震蕩盒在下一個(gè)時(shí)間階段的上下邊界進(jìn)行預(yù)測(cè);最后一個(gè)部分是交易策略部分,在上一部分預(yù)測(cè)值的基礎(chǔ)上依據(jù)基于震蕩盒模型的交易策略進(jìn)行分析判斷,最終做出交易決策。
圖2 基于時(shí)間序列預(yù)測(cè)的股票交易決策建議系統(tǒng)結(jié)構(gòu)圖
2.2 數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理作為本系統(tǒng)的第一個(gè)部分有著直觀重要的作用,其目標(biāo)是提取并選擇合適的股市特征,進(jìn)而對(duì)這些特征進(jìn)行加權(quán)處理后以便在系統(tǒng)后續(xù)的基于機(jī)器學(xué)習(xí)的股票價(jià)格時(shí)間序列預(yù)測(cè)部分使用[13-14]。顯然,特征對(duì)機(jī)器學(xué)習(xí)來(lái)說(shuō)至關(guān)重要,一組好的特征會(huì)大大提高基于機(jī)器學(xué)習(xí)的時(shí)間序列預(yù)測(cè)精度,相反一組不合適的特征甚至?xí)?dǎo)致錯(cuò)誤的預(yù)測(cè)結(jié)果。系統(tǒng)可以從股票市場(chǎng)中獲取的原始數(shù)據(jù)包括每只股票歷史上每一日的開(kāi)盤價(jià)、最高價(jià)、最低價(jià)、收盤價(jià)、成交量。在本系統(tǒng)中使用股票的收盤價(jià)作為當(dāng)天股票的價(jià)格使用,也是股票價(jià)格時(shí)間序列需要預(yù)測(cè)的值。這是因?yàn)楣善钡氖毡P價(jià)是一個(gè)股票在當(dāng)天眾多投資者博弈后的最終結(jié)果,對(duì)于預(yù)測(cè)和分析股票價(jià)格未來(lái)的走勢(shì)具有指導(dǎo)意義。同時(shí)收盤價(jià)也是一天中波動(dòng)的股票價(jià)格最終的確定值,是一種通用的衡量每日股票價(jià)格的指標(biāo)值,股票的大多數(shù)經(jīng)濟(jì)學(xué)指標(biāo)也都是通過(guò)歷史收盤價(jià)計(jì)算而來(lái)。對(duì)于單一股票而言,只用上述五維特征對(duì)于未來(lái)價(jià)格預(yù)測(cè)不夠充分,因?yàn)闀r(shí)間序列的走勢(shì)并不是單純的依賴于前一個(gè)狀態(tài),而是前多個(gè)狀態(tài)導(dǎo)致的綜合結(jié)果。例如,股市中股票價(jià)格在大幅度上漲之前,往往會(huì)在一個(gè)低價(jià)位持續(xù)多天震蕩,以讓莊家獲得足夠多的低價(jià)籌碼從而在拉升上漲后獲利。因此,需要通過(guò)多日的數(shù)據(jù)來(lái)提取某一日的股市特征。本系統(tǒng)除了使用了上述五維基本特征外還使用了股市中常用的幾個(gè)經(jīng)濟(jì)學(xué)直指標(biāo)來(lái)構(gòu)建包含有多日股票價(jià)格信息的特征。具體而言,這些指標(biāo)為移動(dòng)平均線指標(biāo)MA(MovingAverage),變動(dòng)速率指標(biāo)ROC(RateofChange),相對(duì)強(qiáng)弱指標(biāo)RSI(RelativeStrengthIndex),慢速隨機(jī)擺動(dòng)指標(biāo)(SlowStochasticOscillator)。其中慢速隨機(jī)擺動(dòng)指標(biāo)中包括三個(gè)指標(biāo):SLOWK,SLOWD,F(xiàn)ASTK。本文關(guān)注于時(shí)間序列預(yù)測(cè)技術(shù)在股票市場(chǎng)中的應(yīng)用,上述指標(biāo)的含義以及計(jì)算方法可參考計(jì)量經(jīng)濟(jì)學(xué)[10]中的相關(guān)內(nèi)容,在本文中不再詳述。同時(shí),考慮到結(jié)合震蕩盒模型后,本系統(tǒng)的預(yù)測(cè)目標(biāo)是股票價(jià)格時(shí)間序列在后一時(shí)間階段所處的盒子邊界,因此在前一個(gè)時(shí)間階段股票價(jià)格時(shí)間序列所處的盒子的上下量邊界同樣也被提取為特征。本系統(tǒng)使用股票在未來(lái)n天中的最高價(jià)Upi和最低價(jià)Lowi作為第i天的股價(jià)所處的未來(lái)的震蕩盒的邊界值,即式(5):
Upi=max(Ci+1,Ci+2,…,Ci+n)Lowi=min(Ci+1,Ci+2,…,Ci+n)
(5)
股票第i天價(jià)格所處的之前的震蕩盒的邊界值為前n天的最高價(jià)UpHistoryi和最低價(jià)LowHistoryi,即式(6):
UpHistoryi=max(Ci-n,Ci-n-1,…,Ci-1)LowHistoryi=min(Ci-n,Ci-n-1,…,Ci-1)
(6)
其中Ci表示股票在第i天的收盤價(jià)。由于經(jīng)濟(jì)學(xué)指標(biāo)的計(jì)算與所選取的時(shí)間參數(shù)相關(guān),參數(shù)不同可以導(dǎo)致不同的指標(biāo)。在通常情況下,指標(biāo)的時(shí)間參數(shù)是根據(jù)經(jīng)驗(yàn)來(lái)確定的。但是一方面由于這些經(jīng)驗(yàn)需要大量的積累,不是所有投資者都具備的。另一方面,根據(jù)經(jīng)驗(yàn)選取的參數(shù)并不一定能取得最優(yōu)的結(jié)果。因此,本系統(tǒng)中采用的方式是先使用不同時(shí)間參數(shù)生成大量的指標(biāo),然后使用特征選擇的方法,讓系統(tǒng)自適應(yīng)地選出合適的指標(biāo)。通過(guò)這樣的方式選取的指標(biāo)特征被用于系統(tǒng)下一步的預(yù)測(cè)之中。選出所需的特征后,為了進(jìn)一步體現(xiàn)特征的重要程度,提升重要特征的作用,本系統(tǒng)為每一維特征計(jì)算其與預(yù)測(cè)結(jié)果的灰色相關(guān)度。在后續(xù)的預(yù)測(cè)中,對(duì)每一維特征使用其灰色相關(guān)度加權(quán)處理后再作為輸入特征進(jìn)行預(yù)測(cè)。
2.3 時(shí)間序列預(yù)測(cè)
在時(shí)間序列的預(yù)測(cè)上,本系統(tǒng)基于前Dtraining的股票歷史數(shù)據(jù)來(lái)預(yù)測(cè)后D天的股票價(jià)格。在此,也稱為股票時(shí)間序列預(yù)測(cè)的滑動(dòng)窗口大小為Dtraining+D。采用這種方法進(jìn)行預(yù)測(cè)是由于股票交易模式在不同時(shí)期內(nèi)是變化的,在滑動(dòng)窗口內(nèi)學(xué)習(xí)到的交易模式用于滑動(dòng)窗口中的數(shù)據(jù)預(yù)測(cè)被認(rèn)為是可靠的,但超出這個(gè)范圍的預(yù)測(cè)則被認(rèn)為是不可靠的。該窗口的大小也是影響預(yù)測(cè)準(zhǔn)確率的關(guān)鍵因素之一,在本文實(shí)驗(yàn)部分將進(jìn)行討論。采用滑動(dòng)窗口方法對(duì)股票價(jià)格進(jìn)行預(yù)測(cè),就要求每過(guò)一段時(shí)間就需要預(yù)測(cè)器重新學(xué)習(xí)股票模式,這對(duì)預(yù)測(cè)器的訓(xùn)練時(shí)間提出了要求。本系統(tǒng)采用了快速多核學(xué)習(xí)方法DBMK-ELM來(lái)作為預(yù)測(cè)器對(duì)股票價(jià)格進(jìn)行預(yù)測(cè),以滿足精度和訓(xùn)練速度的雙重要求。
2.4 快速多核學(xué)習(xí)方法
本文提出了一種全新的基于多核的極限學(xué)習(xí)機(jī)ELM(ExtremeLearningMachine)方法,稱為基于距離的多核極限學(xué)習(xí)機(jī)DBMK-ELM(DistanceBasedMultipleKernelExtremeLearningMachine)[15-16]。該方法是一種快速的兩步多核學(xué)習(xí)方法,并且可以同時(shí)適用于分類和回歸問(wèn)題。第一步,DBMK-ELM首先通過(guò)根據(jù)訓(xùn)練樣本預(yù)生成的基核矩陣來(lái)尋找基核的組合系數(shù)。它首先將原始的基核投影到一個(gè)新的空間并且基于原始訓(xùn)練樣本的距離在新空間中構(gòu)造新的訓(xùn)練樣本;然后它將多核學(xué)習(xí)的問(wèn)題轉(zhuǎn)化為一種回歸問(wèn)題并通過(guò)最小二乘方法求解;最后它依據(jù)學(xué)習(xí)到的基核組合系數(shù)構(gòu)造新的核。第二步,DBMK-ELM將第一步中學(xué)習(xí)到的新核應(yīng)用于基于核的ELM之中。本文提出的DBMK-ELM方法具有如下的優(yōu)越性能:(1)DBML-ELM與傳統(tǒng)的多核學(xué)習(xí)方法相比具有極快的訓(xùn)練速度;(2)DBMK-ELM可以充分利用多源數(shù)據(jù)并且在分類和回歸的精度上優(yōu)于之前的多核學(xué)習(xí)方法;(3)DBMK-ELM在分類和歸回問(wèn)題上較傳統(tǒng)的基于核的ELM有更好的魯棒性與更高的精度。
2.5 交易策略
本系統(tǒng)采用由震蕩盒理論改進(jìn)的交易邊界模型來(lái)制定交易策略。當(dāng)時(shí)間序列預(yù)測(cè)的階段得到了股票價(jià)格未來(lái)的預(yù)測(cè)值時(shí),首先檢測(cè)該預(yù)測(cè)值的預(yù)測(cè)誤差是否在可接受范圍。檢測(cè)的依據(jù)是股票市場(chǎng)中單只股票每日的漲幅和跌幅均在10%以內(nèi)。所以,設(shè)定一個(gè)小于10%的誤差控制參數(shù)σ,當(dāng)預(yù)測(cè)值與當(dāng)日股票價(jià)格的差價(jià)與當(dāng)日股票價(jià)格的比例小于σ時(shí)則認(rèn)為預(yù)測(cè)值是可靠的,繼續(xù)后續(xù)操作。否則認(rèn)為預(yù)測(cè)值不可靠,當(dāng)日不進(jìn)行交易。通過(guò)該方法,有效地控制了預(yù)測(cè)誤易的類型為買入時(shí),系統(tǒng)檢測(cè)預(yù)測(cè)的股票價(jià)格是否接近交易邊界且為上升趨勢(shì),即預(yù)測(cè)的股票價(jià)格大于當(dāng)日的股票價(jià)格,若滿足該條件,則給出買入建議。當(dāng)?shù)却灰椎念愋蜑槭鄢鰰r(shí),系統(tǒng)檢測(cè)預(yù)測(cè)的股票價(jià)格是否接近交易邊界且為下降趨勢(shì),即預(yù)測(cè)的股票價(jià)格小于當(dāng)日的股票價(jià)格,若滿足該條件,則給出售出建議。
與此同時(shí),為了控制預(yù)測(cè)誤差以及市場(chǎng)不確定性導(dǎo)致的虧損額度,本系統(tǒng)設(shè)置了止損參數(shù)θ,當(dāng)虧損比例大于θ時(shí),則給出售出建議。在交易之中,為了保證每次交易的收益率,系統(tǒng)設(shè)置了期望收益參數(shù)φ,表示了每次交易期望收益的最小比例值,只有在收益比例大于φ時(shí)系統(tǒng)才會(huì)給出售出建議。在股票市場(chǎng)中,莊家常常在大筆售出之前為了拉高股票價(jià)格以謀取更多利益,往往制造股票價(jià)格將要繼續(xù)增長(zhǎng)的態(tài)勢(shì),然后在一個(gè)股票的高價(jià)位拋售大量股票導(dǎo)致股價(jià)下跌。為了防止本系統(tǒng)在這種情況下買入股票從而被市場(chǎng)套牢,本系統(tǒng)還設(shè)置了一個(gè)風(fēng)險(xiǎn)控制參數(shù)φ,只有在當(dāng)日股價(jià)低于前一次交易價(jià)格的比例大于φ時(shí),系統(tǒng)才給出買入建議。系統(tǒng)的交易策略如算法1所示。
算法1 股票交易決策建議系統(tǒng)交易策略
1: if 等待交易類型 == 買入 then
2: if (|C-BoundaryCupper|6 σ ∨|C-BoundaryClower|6 σ) ∧ (Cpre-C) > 0 then
3: if Pricesell - Ci> φ then
4: 買入,Pricebuy= C
5: 等待交易類型 = 售出
6: end if
7: end if8: else if (|C-Boundaryupper|6 σ ∨|C-BoundaryClower|6 σ) ∧ (Cpre-C) > 0 then
9: if C-Pricebuy> φ then
10: 售出,Pricesell=C
11: 等待交易類型 = 買入
12: end if
13: if PricePricebuy-C>θ then
14: 售出,Pricesell=C
15: 等待交易類型 = 買入
16: end if
17: end if
本節(jié)通過(guò)大量實(shí)驗(yàn)來(lái)驗(yàn)證本系統(tǒng)在現(xiàn)實(shí)股票市場(chǎng)中的適應(yīng)性和高效性。實(shí)驗(yàn)采用模擬市場(chǎng)交易的形式進(jìn)行,即在真實(shí)的股票歷史數(shù)據(jù)上使用本系統(tǒng)進(jìn)行每一日的模擬交易,在一定交易日后檢驗(yàn)系統(tǒng)的交易情況。為了達(dá)到全面分析的目的,實(shí)驗(yàn)測(cè)試中覆蓋了各種基本股市走勢(shì),包括上漲的牛市,下跌的熊市以及震蕩的股市等。實(shí)驗(yàn)分析了本系統(tǒng)在股票市場(chǎng)中的平均年化收益率,并討論和檢驗(yàn)了系統(tǒng)中相關(guān)參數(shù)設(shè)置的問(wèn)題。
3.1 數(shù)據(jù)集
本節(jié)實(shí)驗(yàn)采用的數(shù)據(jù)為真實(shí)股票市場(chǎng)中的歷史數(shù)據(jù)。為了使實(shí)驗(yàn)反映整個(gè)股票市場(chǎng)的特點(diǎn),實(shí)驗(yàn)所采用的股票采用能代表整個(gè)股票市場(chǎng)的股票市場(chǎng)指標(biāo)中包含的股票。具體來(lái)說(shuō),采用的是標(biāo)準(zhǔn)普爾500 指標(biāo)(S&P500)中包含的股票。由于 S&P500 指標(biāo)中覆蓋的股票是隨著股票發(fā)行公司的實(shí)際發(fā)展情況而變化的,每一個(gè)時(shí)間段其覆蓋的股票略有不同。本實(shí)驗(yàn)中采用了其中長(zhǎng)期穩(wěn)定的 382 只股票進(jìn)行測(cè)試。所用的數(shù)據(jù)均從雅虎經(jīng)濟(jì)網(wǎng)站直接下載[17]。下載的原始數(shù)據(jù)包括每只股票每一日的開(kāi)盤價(jià)、最高價(jià)、最低價(jià)、收盤價(jià)、成交量、向后除權(quán)值等信息。
3.2 參數(shù)設(shè)置及性能測(cè)度
在本實(shí)驗(yàn)中,模擬交易的初始資金設(shè)置為$10 000。在每一次買入交易中,使用所有可用資金買入股票。在每一次賣出交易中,售出所有持有股票換取資金。在最后一個(gè)模擬交易日,售出所有仍持有的股票換取資金。為了模擬真實(shí)的交易場(chǎng)景,每一次交易都會(huì)產(chǎn)生一筆傭金,本實(shí)驗(yàn)中的傭金設(shè)置與真實(shí)市場(chǎng)相同為0.3%。實(shí)驗(yàn)中交易邊界的差異系數(shù)η設(shè)置為 0.05,期望的收益參數(shù)φ設(shè)置為 0.2,止損參數(shù)θ設(shè)置為 0.1,交易風(fēng)險(xiǎn)控制參數(shù)φ設(shè)置為-0.05。在本系統(tǒng)中使用特征選擇方法時(shí)所選取的特征數(shù)設(shè)置為200,使用DBMK-ELM時(shí)所使用的正則化參數(shù)設(shè)置為108。其余參數(shù)的設(shè)置是本實(shí)驗(yàn)中需要詳細(xì)討論和檢驗(yàn)的部分,這些參數(shù)包括訓(xùn)練天數(shù)Dtraining,誤差控制參數(shù)σ,所設(shè)置的值在后文中將詳細(xì)給出。為了檢驗(yàn)本系統(tǒng)的效果,最為直接的性能測(cè)度指標(biāo)就是在市場(chǎng)交易中的收益率。給定初始資本總額Y0以及交易結(jié)束后的資本總額Y,收益率R計(jì)算公式如式(7):
(7)
為了對(duì)比不同交易時(shí)長(zhǎng)的收益情況并更為直觀地展示本系統(tǒng)的收益情況,在本文中將收益率轉(zhuǎn)化為年化收益率進(jìn)行比較。對(duì)于給定的交易時(shí)長(zhǎng)D天,以及交易的收益率R,該交易的年化收益率Ryear計(jì)算如式(8):
(8)
同時(shí),實(shí)驗(yàn)還檢驗(yàn)了市場(chǎng)與系統(tǒng)的盈虧比例,以此證明本系統(tǒng)不但能獲取較高收益,同時(shí)相對(duì)于市場(chǎng)來(lái)說(shuō)具有較低的投資風(fēng)險(xiǎn)。這一性質(zhì)在實(shí)際操作中對(duì)于投資者具有重要的意義,對(duì)于保守型投資者來(lái)說(shuō),較低的投資風(fēng)險(xiǎn)往往比較高的收益率更為重要。
3.3 實(shí)驗(yàn)結(jié)果
在本文中,應(yīng)用基于機(jī)器學(xué)習(xí)的時(shí)間序列預(yù)測(cè)關(guān)鍵技術(shù)構(gòu)造了一個(gè)股票自動(dòng)決策系統(tǒng)。該系統(tǒng)采用智能選取的股票時(shí)間序列關(guān)鍵特征,并采用快速多核學(xué)習(xí)的方法對(duì)多源特征進(jìn)行融合,結(jié)合多核極限學(xué)習(xí)機(jī)以及震蕩盒理論對(duì)股票序列進(jìn)行預(yù)測(cè)與決策。在實(shí)驗(yàn)中,選取了標(biāo)普500(S&P)中的382只股票進(jìn)行了交易測(cè)試,在下面預(yù)測(cè)出的實(shí)驗(yàn)結(jié)果表明,本文構(gòu)建的決策系統(tǒng)是可以幫助人們獲得豐厚投資回報(bào)的,進(jìn)而說(shuō)明了本文研究關(guān)鍵技術(shù)成果的有效性和實(shí)用性。
3.3.1 典型股票走勢(shì)下的實(shí)驗(yàn)結(jié)果
本節(jié)展示了典型股票走勢(shì)下本系統(tǒng)的預(yù)測(cè)結(jié)果,包括震蕩上漲、震蕩下跌、完全上漲、完全下跌等4種股票走勢(shì)情況。震蕩上漲走勢(shì)下的系統(tǒng)交易情況如圖3所示。交易的股票為JOY,系統(tǒng)獲得年化收益率為186.91%,同期市場(chǎng)的收益率為89.55%。系統(tǒng)的收益率比市場(chǎng)高出了97.36%。
圖3 震蕩上漲走勢(shì)交易情況示例圖
震蕩下跌走勢(shì)下的系統(tǒng)交易情況如圖4所示。交易的股票為STT,系統(tǒng)獲得年化收益率為25.79%,而同期市場(chǎng)虧損了3.68%。系統(tǒng)的收益率比市場(chǎng)高出了29.47%。這是由于系統(tǒng)回避了股價(jià)下跌的區(qū)間,在股價(jià)接近交易邊界且有上升趨勢(shì)時(shí)才進(jìn)行買入交易,所以即便在震蕩下跌的走勢(shì)下也可以通過(guò)撲捉震蕩的邊界來(lái)獲利。
圖4 震蕩下跌走勢(shì)交易情況示例圖
完全上漲走勢(shì)下的系統(tǒng)交易情況如圖5所示。交易的股票為ISRG,系統(tǒng)獲得年化收益率為169.85%,同期市場(chǎng)的收益率為122.40%。系統(tǒng)的收益率比市場(chǎng)高出了47.45%。由于完全上漲走勢(shì)時(shí),股票價(jià)格震蕩不大,所以系統(tǒng)的收益雖然高于市場(chǎng)收益,但是相差程度小于震蕩上漲時(shí)的差異。
圖5 完全上升走勢(shì)交易情況示例圖
完全下跌走勢(shì)下的系統(tǒng)交易情況如圖6所示。交易的股票為SBUX,系統(tǒng)在該情況下年化虧損了33.22%,同期市場(chǎng)的年化虧損率為82.22%。系統(tǒng)較之市場(chǎng)減小虧損達(dá)到了49%。從圖中可以看出,在這種情況下系統(tǒng)在股價(jià)接近一個(gè)交易邊界的下界時(shí)買入,但是由于沒(méi)有達(dá)到期望的收益比例故系統(tǒng)沒(méi)有選擇售出而是繼續(xù)持有,這就被下跌的股市套牢,但是由于止損率的設(shè)置,當(dāng)損失超過(guò)10%時(shí)售出了股票,減小了損失。
圖6 完全下跌走勢(shì)交易情況示例圖
3.3.2 平均收益率檢驗(yàn)
為了檢驗(yàn)本系統(tǒng)在股票市場(chǎng)中的平均收益率以及投資風(fēng)險(xiǎn),實(shí)驗(yàn)選取了S&P500中的382只股票進(jìn)行了測(cè)試,測(cè)試時(shí)間長(zhǎng)度為120 天,訓(xùn)練天數(shù)為240天,誤差控制參數(shù)σ為0.04,其余參數(shù)如上文設(shè)置。系統(tǒng)的年化收益率以及盈虧比例如表1所示。本實(shí)驗(yàn)中針對(duì)所有測(cè)試股票系統(tǒng)所有的參數(shù)固定不變,這僅僅是為了檢驗(yàn)系統(tǒng)的平均收益情況。實(shí)際應(yīng)用中,各個(gè)參數(shù)可以根據(jù)每一只股票的特點(diǎn)優(yōu)化調(diào)整參數(shù),以取得更好的收益。例如,在股市行情較好時(shí)增大期望收益參數(shù)以獲取更大利益,而在股市行情震蕩或不好時(shí)減小該參數(shù)以避免套牢情況出現(xiàn)。
表1 股票交易決策建議系統(tǒng)在382只S&P500股票上交易120天收益及盈虧比例
3.3.3 機(jī)器學(xué)習(xí)訓(xùn)練天數(shù)設(shè)置檢驗(yàn)
由于每一只股票在不同時(shí)期內(nèi)的交易模式不斷改變,所以從股票時(shí)間序列中較早的數(shù)據(jù)中學(xué)到的模式用于時(shí)間序列的預(yù)測(cè)往往會(huì)帶來(lái)很大的誤差。因此選擇合適的訓(xùn)練天數(shù)對(duì)于準(zhǔn)確地預(yù)測(cè)股票價(jià)格時(shí)間序列來(lái)說(shuō)尤為重要。在本實(shí)驗(yàn)中,將訓(xùn)練天數(shù)按照測(cè)試天數(shù)的1至5倍長(zhǎng)度分別設(shè)置,測(cè)試在120天中系統(tǒng)在382只股票上的平均收益情況。實(shí)驗(yàn)結(jié)果如圖7所示。實(shí)驗(yàn)結(jié)果顯示,在訓(xùn)練天數(shù)為測(cè)試天數(shù)2倍即240天時(shí)系統(tǒng)獲取的收益率最高。
圖7 機(jī)器學(xué)習(xí)訓(xùn)練天數(shù)與測(cè)試天數(shù)比例不同情況下股票交易決策建議系統(tǒng)平均年化收益率
3.3.4 誤差控制參數(shù)設(shè)置檢驗(yàn)
如上文所述,基于機(jī)器學(xué)習(xí)的時(shí)間序列預(yù)測(cè)方法能較為準(zhǔn)確地預(yù)測(cè)出時(shí)間序列的未來(lái)值。但是對(duì)于股票時(shí)間序列預(yù)測(cè)來(lái)說(shuō),由于受到諸多不確定因素的影響,誤差是不可避免的,同時(shí)股票交易又對(duì)誤差非常敏感。所以,如何有效減小預(yù)測(cè)誤差對(duì)交易決策的不良影響也是十分關(guān)鍵的一個(gè)問(wèn)題。本系統(tǒng)依據(jù)股票價(jià)格變化本身的規(guī)則來(lái)制定誤差控制參數(shù),準(zhǔn)確地排除了預(yù)測(cè)誤差過(guò)大的結(jié)果,有效地減小了預(yù)測(cè)誤差給交易決策帶來(lái)的影響。但是,誤差控制參數(shù)本身的設(shè)置也是需要討論的。如果該參數(shù)設(shè)置過(guò)小,雖然可以排除大多數(shù)預(yù)測(cè)誤差較大的情況,但是這同時(shí)放棄了在可能第二天漲幅較大時(shí)提前買入的機(jī)會(huì)。如果該參數(shù)設(shè)置過(guò)大,雖然可以在第二天有較大漲幅時(shí)提前買入從而獲得更多利潤(rùn),但是同時(shí)也引入了更多的預(yù)測(cè)誤差,使得整體的錯(cuò)誤決策風(fēng)險(xiǎn)增加。本實(shí)驗(yàn)分別在誤差控制參數(shù)設(shè)置為 {0.1,0.2,…,1.0},訓(xùn)練天數(shù)設(shè)置為240天,其余參數(shù)如上文所設(shè)置時(shí)進(jìn)行測(cè)試,檢驗(yàn)系統(tǒng)的平均年化收益率。實(shí)驗(yàn)結(jié)果如圖8所示。從圖中可以看出,當(dāng)誤差控制參數(shù)設(shè)置為0.3時(shí),系統(tǒng)的平均年化收益率最高。
圖8 風(fēng)險(xiǎn)控制參數(shù)不同情況下股票交易決策建議系統(tǒng)平均年化收益率
3.3.5 最高值預(yù)測(cè)結(jié)果誤差對(duì)比
根據(jù)模型的預(yù)測(cè)結(jié)果,通過(guò)平均絕對(duì)誤差MAE、均方誤差MSE、平均絕對(duì)百分比誤差MAPE和平方百分比誤差MSPE對(duì)預(yù)測(cè)結(jié)果進(jìn)行誤差分析。運(yùn)用傳統(tǒng)的震蕩盒理論和傳統(tǒng)預(yù)測(cè)方法對(duì)標(biāo)普500(S&P)中的選取的4只(JOY、STT、ISRG、SBUX)股票進(jìn)行最高值預(yù)測(cè)的結(jié)果誤差分析,同時(shí)與基于時(shí)間序列預(yù)測(cè)DBMK-ELM預(yù)測(cè)結(jié)果誤差進(jìn)行對(duì)比,如表2所示。
表2 “DBMK-ELM”和傳統(tǒng)震蕩盒的最高價(jià)預(yù)測(cè)結(jié)果誤差對(duì)比率
通過(guò)對(duì)表2最高值預(yù)測(cè)結(jié)果誤差對(duì)比進(jìn)行分析,我們可以看出:從個(gè)股來(lái)看,用各種方法對(duì)最高值進(jìn)行預(yù)測(cè)的結(jié)果誤差都表現(xiàn)出改進(jìn)后的DBMK-ELM的誤差最小。從各板塊的股票上看,傳統(tǒng)預(yù)測(cè)方法誤差較大且不穩(wěn)定,而標(biāo)準(zhǔn)震蕩盒最高值預(yù)測(cè)誤差比傳統(tǒng)預(yù)測(cè)的誤差小,但卻不及改進(jìn)后的DBMK-ELM股票價(jià)格預(yù)測(cè)誤差小。因此,基于時(shí)間序列DBMK-ELM預(yù)測(cè)最高值的結(jié)果誤差基本都是最小的,能比較合理地預(yù)測(cè)股票價(jià)格。
本文將基于時(shí)間序列預(yù)測(cè)的關(guān)鍵技術(shù)應(yīng)用于商業(yè)智能模型之中,構(gòu)建了一個(gè)股票交易決策建議系統(tǒng)。該系統(tǒng)結(jié)合了時(shí)間序列預(yù)測(cè)方法、快速多核學(xué)習(xí)方法以及交易邊界模型,使得系統(tǒng)在股票市場(chǎng)交易中能夠給出合理、可靠、高收益、低風(fēng)險(xiǎn)的決策建議,并且具有極高的訓(xùn)練速度,能夠滿足實(shí)際股票市場(chǎng)的需求。注意到對(duì)于某些股票本系統(tǒng)獲得的收益率遠(yuǎn)高于系統(tǒng)獲取的平均收益率,在今后的研究中,將重點(diǎn)關(guān)注如何用聚類以及半監(jiān)督學(xué)習(xí)技術(shù)選擇出對(duì)于本系統(tǒng)具有交易潛力的股票,以使得收益率進(jìn)一步提高。
[1] Karazmodeh M,Nasiri S,Hashemi S M.Stock price forecasting using support vector machines and improved particle swarm optimization[J].Journal of Automation and Control Engineering,2013,1(2).
[2] Zhang X,Fuehres H,Gloor P A.Predicting asset value through twitter buzz[M].Advances in Collective Intelligence 2011.Springer,2012:23-34.
[3]HsuSH,HsiehJ,ChihTC,etal.Atwo-stagearchitectureforstockpriceforecastingbyintegratingself-organizingmapandsupportvectorregression[J].ExpertSystemswithApplications,2009,36(4):7947-7951.
[4]ChangPC,FanCY.AhybridsystemintegratingawaveletandTSKfuzzyrulesforstockpriceforecasting[J].IEEETransactionsonSystems,Man,andCybernetics,PartC:ApplicationsandReviews,2008,38(6):802-815.
[5]DarvasN.HowImadetwomilliondollarsinthestockmarket[M].LyleStuart,1986.
[6]JuLongD.Controlproblemsofgreysystems[J].Systems&ControlLetters,1982,1(5):288-294.
[7]ZhangSF,LiuSY.AGRA-basedintuitionisticfuzzymulti-criteriagroupdecisionmakingmethodforpersonnelselection[J].ExpertSystemswithApplications,2011,38(9):11401-11405.
[8]LiuHC,LiuL,BianQH,etal.Failuremodeandeffectsanalysisusingfuzzyevidentialreasoningapproachandgreytheory[J].ExpertSystemswithApplications,2011,38(4):4403-4415.
[9]WeiG.Greyrelationalanalysismodelfordynamichybridmultipleattributedecisionmaking[J].Knowledge-BasedSystems,2011,24(5):672-679.
[10]PringMJ.Technicalanalysisexplained:Thesuccessfulinvestor’sguidetospottinginvestmenttrendsandturningpoints[M].McGraw-HillNew-York,1991.
[11] 鄭毅,朱成璋.基于深度信念網(wǎng)絡(luò)的PM2.5預(yù)測(cè) [J].山東大學(xué)學(xué)報(bào)(工學(xué)版),2014,44(6):19-25.
[12] 鄭毅,彭燦,朱成璋.一種改進(jìn)的TF-IDF中文網(wǎng)頁(yè)分類特征提取方法[C]//中國(guó)計(jì)算機(jī)應(yīng)用大會(huì),2014.
[13] 張海勤,蔡慶生.基于小波變換的時(shí)間序列相似模式匹配[J].計(jì)算機(jī)學(xué)報(bào),2003,26(3):373-377.
[14] 任芳.時(shí)間序列數(shù)據(jù)挖掘研究[D].大連:遼寧師范大學(xué),2010.
[15] 羅鳳曼.時(shí)間序列預(yù)測(cè)模型及其算法研究[D].成都:四川大學(xué),2006.
[16] 王麗娜,肖冬榮.基于ARMA模型的經(jīng)濟(jì)非平穩(wěn)時(shí)間序列的預(yù)測(cè)分析[J].武漢理工大學(xué)學(xué)報(bào)(交通科學(xué)與工程版),2004,28(1):133-136.
[17]http://finance.yahoo.com.
SUGGESTION SYSTEM FOR STOCK TRANSACTION DECISION BASED ON TIME SERIES PREDICTION
Jiang Qianyi
(CollegeofComputerScienceandInformationTechnology,CentralSouthUniversityofForestryandTechnology,Changsha410004,Hunan,China)
On issues related to the stock market feature selection were studied and discussed, a new transaction boundary model which is adapted to combine with machine learning based on the theory of shock boxes is proposed by combining multi-core Extreme Learning Machine (DBMK-ELM) based on the distance with the transaction boundary model. Construction of the suggestion system for stock transaction decision based on time series prediction enables the stock markets to get higher yields, stabilize and maintain a low investment risk. The system can quickly learn the history of stock market data in order to adapt to the rapid changes in the stock price update mode.
Time series prediction Machine learning Transaction boundary model
2016-01-10。2016年度湖南省教育廳科學(xué)研究項(xiàng)目(16C1658)。蔣倩儀,講師,主研領(lǐng)域:數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí)。
TP391
A
10.3969/j.issn.1000-386x.2017.04.014