Alpha策略是一種中性策略,。它通過構(gòu)造優(yōu)于指數(shù)的股票組合,,同時用股指期貨對沖系統(tǒng)風(fēng)險,使得策略無論在趨勢市或者震蕩市都能夠獲得穩(wěn)定的超額收益,。此外,,它的另一個優(yōu)勢在于它有效回避了擇時這一難題,僅需專注于選股,。目前常見的Alpha策略包括有多因子,、配對交易等。然而,,隨著機(jī)器學(xué)習(xí)的快速發(fā)展,,神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等模型逐步走進(jìn)量化交易領(lǐng)域,。
機(jī)器學(xué)習(xí)是近幾年投資領(lǐng)域新興的研究方向,,盡管復(fù)雜的機(jī)器學(xué)習(xí)模型通常在歷史回測中表現(xiàn)較好,然而多數(shù)機(jī)器學(xué)習(xí)模型本身處于“黑箱”之中,,缺乏清晰的投資邏輯,。另一方面,機(jī)器學(xué)習(xí)模型參數(shù)較多,,容易出現(xiàn)對歷史數(shù)據(jù)的過度擬合,。所以,許多機(jī)器學(xué)習(xí)類策略在真實交易中的表現(xiàn)常常不盡人意,。相比之下,,傳統(tǒng)的線性模型簡單易用、便于理解,。但是,線性模型本身假定了各個因子與超額收益存在嚴(yán)格的線性關(guān)系,,而事實上這個關(guān)系并不穩(wěn)定。
本篇報告介紹的決策樹選股法結(jié)合了多因子線性模型和黑箱模型二者的優(yōu)點(diǎn),,在放松了模型線性假定的同時保證了模型的可理解性和可視化,。策略通過對多個技術(shù)指標(biāo)進(jìn)行綜合,試圖尋找技術(shù)指標(biāo)與股票漲跌的穩(wěn)定關(guān)系,,進(jìn)而構(gòu)建量化選股策略,。本文的目的不僅旨在給投資者一個切實可行的交易策略,更是希望給量化投資者一種與眾不同的選股框架,。在該框架的基礎(chǔ)上,,投資者未來可以進(jìn)一步納入不同的預(yù)測因子,形成獨(dú)特的交易策略,。 2.策略邏輯 以圖1展示的一個簡易的投資決策過程為例,,首先,投資者會選擇在股價上穿20日均線的時候嘗試進(jìn)行買入操作,。在此基礎(chǔ)上,,他再會根據(jù)換手率的大小來判斷該標(biāo)的是否能夠容納自身資金量。如果換手率足夠大,,就買入,,如果換手率很小,則繼續(xù)空倉,。概括地說,,他的投資決策過程就可以用圖1中描述的一棵決策樹表示。 可以看出,,在投資決策的過程中,,存在以下幾個核心要點(diǎn)。首先,,投資決策過程中的各個指標(biāo)是遞進(jìn)而非并行關(guān)系,。以圖1為例,只有當(dāng)標(biāo)的價格上穿20日均線后,,投資者才會進(jìn)一步觀察換手率指標(biāo),,而并非同時觀察多個指標(biāo)。其次,,投資者對每個指標(biāo)分配的權(quán)重也不完全相同,,案例中投資者買入標(biāo)的的原因更多是基于價格上穿均線后的動量而非換手率的高低。此外,,指標(biāo)變化對投資效用的影響不符合嚴(yán)格的線性特征,。簡單來說,,例中的投資者更關(guān)心換手率是否大于3%,而至于其是5%還是10%,,對投資者來說,,效用差別并不大??傮w來說,決策樹模型對投資者投資決策的過程進(jìn)行了系統(tǒng)化的展示,。
具體而言,,本文介紹的決策樹模型通過對過去一段時間內(nèi)技術(shù)指標(biāo)和超額收益率關(guān)系的學(xué)習(xí),試圖找出市場上投資者交易過程中的一些投資規(guī)律,,挖掘出技術(shù)指標(biāo)間的共振關(guān)系,,并據(jù)此來構(gòu)建投資策略。
詳細(xì)來說,,本文首先根據(jù)區(qū)分度選出多個技術(shù)指標(biāo)作為預(yù)測指標(biāo),。進(jìn)而基于本文的核心部分,我們將進(jìn)一步用機(jī)器學(xué)習(xí)的方法尋找指標(biāo)與未來收益的關(guān)系,。最后,,我們基于機(jī)器學(xué)習(xí)的結(jié)果,輸入當(dāng)下技術(shù)指標(biāo)來預(yù)測下月超額收益率,。
策略核心優(yōu)勢在于:首先,,它是易于理解的“白箱”模型,實現(xiàn)了模型的可視化,,提高了模型的可理解性,。其中,我們不僅能夠觀察到模型形成的選股規(guī)則,,而且還可以手動修正不符合邏輯的決策樹策略,。其次,決策樹算法可以挖掘出多個技術(shù)指標(biāo)間的共振,。相比之下,,常用的線性模型對此無能為力,原因是技術(shù)指標(biāo)背后的構(gòu)建邏輯多種多樣,,而其與股票價格的關(guān)系又大多不滿足線性假設(shè),。最后,模型擁有較強(qiáng)的可擴(kuò)展性,,投資者可以自行增減或者改變技術(shù)指標(biāo)或者基本面指標(biāo),,創(chuàng)建個性化的交易策略。 3.決策樹算法簡介 3.1算法綜述 一顆標(biāo)準(zhǔn)的決策樹由葉節(jié)點(diǎn),、分支節(jié)點(diǎn)和根節(jié)點(diǎn)構(gòu)成,,其結(jié)構(gòu)如下圖: 概括的說,,決策樹算法實現(xiàn)了對樣本空間的分組。假設(shè)我們選出了n 個指標(biāo)X1,X2,…,Xn,,它們從n個維度對證券價格變動進(jìn)行了解釋,。在此基礎(chǔ)上,我們根據(jù)n個指標(biāo)對總樣本進(jìn)行N次分裂,。最終,,將原有的樣本分為N2個互不重疊的區(qū)域(即樹中的葉節(jié)點(diǎn))R1,R2,…,Rn。其中,,對于單一葉節(jié)點(diǎn)Rn來說,,我們根據(jù)該節(jié)點(diǎn)中上漲或下跌樣本的占比多少作為該節(jié)點(diǎn)的標(biāo)簽。同時,,標(biāo)簽類別樣本占該節(jié)點(diǎn)總樣本的比例,,作為該節(jié)點(diǎn)的純度。例如,,Rn節(jié)點(diǎn)中,,70%的樣本相對指數(shù)能夠產(chǎn)生超額收益,則我們定義Rn節(jié)點(diǎn)是有正超額收益的,,其純度為70%,。
如何對區(qū)域進(jìn)行劃分是接下來要詳細(xì)解釋的問題。首先,,從簡化模型,、便于解釋的角度出發(fā),決策樹算法設(shè)置區(qū)域劃分的形狀為矩形,,即我們根據(jù)指標(biāo)通過找到唯一的最優(yōu)分割點(diǎn),,將樣本直接切分為兩個部分。此外,,針對多個指標(biāo)的綜合運(yùn)用方面,,考慮到機(jī)器學(xué)習(xí)中常見的過度擬合問題以及程序?qū)崿F(xiàn)的復(fù)雜度,決策樹算法采用了貪婪的遞歸二元劃分法,。具體來說,,貪婪體現(xiàn)于在每次分支時,決策樹總產(chǎn)生在當(dāng)前節(jié)點(diǎn)下的最優(yōu)分割,,即在選擇最優(yōu)解釋變量的最優(yōu)分割點(diǎn)時,,實現(xiàn)的僅僅是該節(jié)點(diǎn)局部最優(yōu),而非決策樹整體最優(yōu),。簡而言之,,遞歸體現(xiàn)在對母數(shù)據(jù)集分割之后,遞歸地對每一個子節(jié)點(diǎn)進(jìn)行分類,,直至每個分支下都是一樣的分類,,或者分類無法進(jìn)一步改進(jìn)為止,。
總體來說,決策樹算法相對于其他黑箱算法如神經(jīng)網(wǎng)絡(luò)或者支持向量機(jī)等的優(yōu)勢在于,,決策樹的規(guī)則不僅從邏輯上更加清晰易懂,,更重要的是它符合實際投資中投資者的決策模式。然而,,從模型精度的角度來看,,相比線性模型,決策樹算法在處理非線性解釋變量時,,其表現(xiàn)要優(yōu)于線性模型,。但是,在處理線性解釋變量時不如線性模型精確,。 3.2 算法學(xué)習(xí)過程 決策樹構(gòu)建的核心步驟如下: 3.2.1 分割標(biāo)準(zhǔn) 由于我們在每個節(jié)點(diǎn)需要找到一個最優(yōu)點(diǎn)來進(jìn)行切分,所以首先我們需要對分割結(jié)果的優(yōu)劣程度構(gòu)建一個量化的評判標(biāo)準(zhǔn),。具體來說,,評判分割優(yōu)度的核心目的在于衡量分割后區(qū)域內(nèi)樣本的純度,即我們關(guān)心每個區(qū)域內(nèi)的樣本是否都來自于同一類別,。因此,,在本篇報告中,我們使用Gini不純度指標(biāo)來衡量分割的優(yōu)劣程度,,其目的在于找到一個最優(yōu)點(diǎn),,從而能夠在最大程度上將母節(jié)點(diǎn)中的樣本根據(jù)類別進(jìn)行區(qū)分。具體而言,,在每個節(jié)點(diǎn),,我們遍歷所有切分結(jié)果,將切分后能夠使得Gini不純度達(dá)到最低的切割點(diǎn)作為最優(yōu)切割點(diǎn),。
Gini不純度指標(biāo)的定義為:
P(m,k)表示的是在第m個節(jié)點(diǎn)內(nèi)第k個類別的觀測點(diǎn)在總數(shù)目中的比例,。在本文中,由于每次切分后生成兩個新的節(jié)點(diǎn),,同時,,節(jié)點(diǎn)內(nèi)只分上漲和下跌的股票,所以本文中m=2,、k=2,。此外,每次切分后,,我們將切分之后的兩個子節(jié)點(diǎn)不純度累加起來,,作為本次切割的Gini值。不難看出,,當(dāng)兩個子節(jié)點(diǎn)的P(m,k)等于0或者1時,,Gini不純度指標(biāo)值達(dá)到最小,。換言之,模型完美的對母樣本中上漲和下跌的個股進(jìn)行了區(qū)分,。
舉例來說,,我們運(yùn)用決策樹的方法對母節(jié)點(diǎn)的400只股票進(jìn)行切割,生成兩個子節(jié)點(diǎn)A和B,,每個子節(jié)點(diǎn)分別有200只股票,。此時,如果子節(jié)點(diǎn)A的200只股票全部為上漲,,子節(jié)點(diǎn)B的200只股票全部為下跌,,則此時Gini值達(dá)到最小值0。相反地,,如果子節(jié)點(diǎn)A的股票樣本皆為一半上漲,,一半下跌,而子節(jié)點(diǎn)B的股票樣本為60%上漲,,40%下跌,。則Gini值為0.5*(1-0.5)+0.6*(1-0.6)=0.49。 3.3 算法實例 下面我們通過實例加以說明,,x1,,x2是兩個技術(shù)指標(biāo),Y是二元變量,,取值為0或者1,。首先,我們?nèi)〉檬袌錾纤械墓善弊鳛闃颖境?。其次,,如圖4所示,根據(jù)x1,,x2的取值,,每只股票的超額收益方向由Y的取值來表示,紅色代表屬于類別0(負(fù)收益),,藍(lán)色代表屬于類別1(正收益),。
從圖4中可以大致看出,x2是決定Y變量取值的首要的因素,,當(dāng)x2小于1.05或者大于8.55的時候,,無論x1為何值,Y變量的取值都為1,。相對地,,只有當(dāng)x2在處于1.05和8.55的范圍內(nèi)的時候,Y變量的取值由x1決定,。其中,,如何找出Y變量取值為1的區(qū)域則是機(jī)器學(xué)習(xí)的核心部分,。 如圖4所示,決策樹算法簡單來說就是基于x1,,x2 和Y取值的關(guān)系對原樣本進(jìn)行不斷的切分,。其目的在于,找到一個區(qū)域,,且該區(qū)域Y變量取值為1概率較高,。
此外,回顧之前介紹過的,,決策樹算法設(shè)置區(qū)域劃分形狀為矩形,,即決策規(guī)則在特征空間中其實是平行于坐標(biāo)軸的直線,其最終將樣本空間分割成了多個不重疊的多維矩形,。
總體來說,,如圖6所示,我們通過對原樣本進(jìn)行多次切分,,最后可以得到紅色區(qū)域部分的樣本,。從中可以看出,該區(qū)域內(nèi),,Y取值為1的概率明顯較高。 4.基于機(jī)器學(xué)習(xí)的策略構(gòu)建 4.1 技術(shù)指標(biāo)選擇 技術(shù)分析是一種基于量價數(shù)據(jù)來預(yù)測股價的未來走勢的方法,,其核心假定在于歷史的可重復(fù)性,,而這一假設(shè)能夠長期成立的原因在于技術(shù)分析在一定程度上是對投資者情緒的刻畫,而投資者情緒的變化是蘊(yùn)含一定規(guī)律的,。具體來說,,技術(shù)指標(biāo)作為技術(shù)分析的組成部分,每一個技術(shù)指標(biāo)就代表投資者情緒某一個維度的刻畫,。所以,,單個技術(shù)指標(biāo)在預(yù)測股票時有很大的局限性,但是如果能夠有效結(jié)合多個技術(shù)指標(biāo),,則對股價的預(yù)測穩(wěn)定性就會大幅提升,。接下來,我們會詳細(xì)介紹6個備選的技術(shù)指標(biāo),,以及如何從中選出最有效的3個技術(shù)指標(biāo)進(jìn)行策略構(gòu)建,。 首先我們選取了常見的8個技術(shù)指標(biāo)作為決策樹特征的備選項,分別是: 變動速率ROC 平滑異同移動平均線MACD 順勢指標(biāo)CCI 拋物線指標(biāo)SAR 累積派發(fā)指標(biāo)AD 布林線(其中,,布林線的3個三條軌道線分別作為3個技術(shù)指標(biāo)) 4.2 指標(biāo)的評估與選擇 為了降低指標(biāo)間的多重共線程度,,本文將對備選指標(biāo)進(jìn)行提純,剔除同質(zhì)性較高的指標(biāo),。具體來說,,本文使用2006年12月至2010年12月的數(shù)據(jù)作為訓(xùn)練樣本生成了一顆決策樹,。首先,我們根據(jù)Gini不純度下降的程度,,只留下Gini不純度最低的20個葉節(jié)點(diǎn),。在此基礎(chǔ)上,我們對每一次Gini不純度的下降進(jìn)行歸因,。例如,,母節(jié)點(diǎn)Gini不純度為0.2,通過指標(biāo)A進(jìn)行切分后,,子節(jié)點(diǎn)不純度為0.15,,則下降的0.05作為指標(biāo)A的貢獻(xiàn)值。通過計算每個解釋變量帶來的Gini不純度的下降和,,即可求得8個解釋變量的重要度,。在此基礎(chǔ)上,我們對所有指標(biāo)的貢獻(xiàn)值進(jìn)行歸一化,,可得到指標(biāo)間相對貢獻(xiàn)程度,。
從圖7中可以看出,佳慶震蕩指標(biāo)最為有效,,解釋了31%純度提升,。其次是動量指標(biāo)ROC和布林線上軌。三者一共可以解釋模型71%的變異,,其余解釋變量對被解釋變量的相對解釋能力都小于10%,。因此,本文將從備選指標(biāo)中選取最重要的3個指標(biāo)來構(gòu)建組合,。
最終,,我們選擇佳慶震蕩指標(biāo)ADSOC、變動速率ROC和布林線上軌UpperBand作為最終的備選指標(biāo),。 4.3決策樹構(gòu)建 根據(jù)上述介紹,,我們構(gòu)造CART決策樹分類模型。通過該模型,,我們最終根據(jù)技術(shù)指標(biāo)取值可以得到一個區(qū)域,,該區(qū)域的股票大概率在下一期相對中證500有超額收益。具體實現(xiàn)步驟如下: 4.3.1 創(chuàng)建根節(jié)點(diǎn) 為了降低市場環(huán)境對模型預(yù)測能力的影響,,同時提高模型預(yù)測的穩(wěn)定性,。我們以T-100周到T-4周作為觀測期,把觀測期內(nèi)的數(shù)據(jù)集合并形成一個新的面板數(shù)據(jù)集,。從中,,我們可以觀測到樣本中所有股票的技術(shù)指標(biāo)取值和預(yù)測指標(biāo)取值。同時,我們將這個數(shù)據(jù)集就作為根節(jié)點(diǎn),。 4.3.2 分割方式 每一個技術(shù)指標(biāo)都可以對根節(jié)點(diǎn)進(jìn)行一次切分,,我們需要找到最優(yōu)的分割方式,使得分裂后的子節(jié)點(diǎn)的Gini不純度指標(biāo)達(dá)到最小,。具體來說,,遍歷每一種分類方式,找到使得Gini指標(biāo)值最小的分割方式,,把根節(jié)點(diǎn)數(shù)據(jù)分成兩個分支節(jié)點(diǎn),,并記錄下最優(yōu)分割方式。 4.3.3 結(jié)束條件 使用步驟2依次遍歷各個分支節(jié)點(diǎn),,直到節(jié)點(diǎn)個數(shù)達(dá)到給定上限值時,,決策樹構(gòu)造結(jié)束。如果50%以上的樣本取值為1,,則該葉節(jié)點(diǎn)分類為1,,其余情況葉節(jié)點(diǎn)分類為0。而分類為1的葉節(jié)點(diǎn)的純度為Y指標(biāo)為1的個數(shù)占葉節(jié)點(diǎn)樣本總數(shù)的比例,。 4.3.4 剪枝 由于決策樹根據(jù)最優(yōu)點(diǎn)來進(jìn)行切分的路徑是確定的,,在此基礎(chǔ)上,為了控制模型的復(fù)雜度,、提高其在樣本外數(shù)據(jù)的表現(xiàn),,我們?yōu)闆Q策樹進(jìn)行預(yù)剪枝設(shè)定:把葉節(jié)點(diǎn)個數(shù)上限設(shè)置為2倍的解釋變量個數(shù):6個。 4.4 組合構(gòu)建 4.4.1 樣本空間 考慮實際操作可行性,,剔除停牌股票,、剔除ST股票,同時為了更好的提高行業(yè)權(quán)重的分散化程度,,策略以中證500成分股作為股票池。 4.4.2 目標(biāo)組合 每月初,,我們把t_i-100周到t_i-4周設(shè)為觀測期,,通過如上方法對樣本進(jìn)行切分,得出各區(qū)域中正超額收益樣本的純度,。然后,,找到純度最高的區(qū)域所對應(yīng)的技術(shù)指標(biāo)狀態(tài),并以此構(gòu)建本期股票池,。在此基礎(chǔ)上,,選擇前40只股票等權(quán)重作為投資組合。如果同一個區(qū)域股票超過40只,,則使用PE指標(biāo)進(jìn)行進(jìn)一步區(qū)分,。 4.4.3 換倉頻率 策略采取月度換倉的頻率,同時使用周K線構(gòu)建技術(shù)指標(biāo),。其中,,策略在每月最后一個交易日構(gòu)建投資組合,,于次月第一個交易日均價進(jìn)行換倉。 4.4.4 建倉成本 手續(xù)費(fèi)為單邊千分之三,,建倉成本為當(dāng)日均價,。同時,考慮到實際投資時的流動性,,如果上期持倉股票,、下期標(biāo)的股票換手率小于萬分之五或者當(dāng)日停牌,將默認(rèn)無法賣出,、買入,。 5.決策樹模型選股表現(xiàn) 由于策略的樣本空間為中證500成份股,因此,,我們選擇中證500指數(shù)作為對沖標(biāo)的,。
從圖8中可以看出,基于決策樹模型的策略呈現(xiàn)了穩(wěn)定且顯著的超額收益,。從2011年1月至2015年12月,,策略獲得了165%的累計超額收益,年化超額收益21.55%,,信息比率2.11,。 其中,最大回撤9.33%,,發(fā)生于2015年8月下旬,。可以看出,,從2015年6月開始的股災(zāi)期間,,由于市場切換為極端模式,機(jī)器學(xué)習(xí)的訓(xùn)練樣本中并沒有遇到過這種情況,,所以模型失效,,導(dǎo)致了策略較大的回撤。但整體來說,,策略收益曲線比較穩(wěn)定,。 從圖9 中我們可以具體看到組合月度超額收益情況。組合整體月超額收 益勝率70%,,單月最大負(fù)收益為-4.2%,,出現(xiàn)于2011 年11 月。但是,, 2011 年12 月之后幾個月組合收益大幅回升,。整體來說,組合收益在月度上的表現(xiàn)較為穩(wěn)定。 表1展示了組合各年份的超額收益,,可以看出,,組合在各年份的收益及信息比都比較穩(wěn)定。值得一提的是,,組合在2011年和2012年表現(xiàn)較好,,而同期多因子選股策略普遍表現(xiàn)較弱,從而體現(xiàn)出機(jī)器學(xué)習(xí)模型與其他策略較好的互補(bǔ)性,。 6.總結(jié)與后續(xù)研究展望 本文給出了一個以決策樹算法為核心的選股策略,。首先,本文為機(jī)器學(xué)習(xí)策略開發(fā)提供了研究框架,。此外,,機(jī)器學(xué)習(xí)可以有效容納變量非線性的特征,使得多個技術(shù)指標(biāo)的綜合運(yùn)用效率有所提升,。與此同時,,相比神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等黑箱模型,,決策樹算法更加透明,。
但是,本文目前僅聚焦于介紹機(jī)器學(xué)習(xí)算法的邏輯框架,,并未對指標(biāo)以及決策樹深度做過多的要求,。未來,在現(xiàn)有模型的基礎(chǔ)上,,我們將嘗試尋找并納入其他有效且富有邏輯的指標(biāo),。同時,我們也將從算法精度的角度出發(fā),,對決策樹算法進(jìn)行提升,。 |
|