王璨 楊威 李浩
(浙江萬里學(xué)院商學(xué)院 浙江·寧波 315100)
現(xiàn)如今因?yàn)榭萍嫉难杆侔l(fā)展,信息也越來越透明化,越來越公開化,量化的技術(shù)越來越成熟,很多交易數(shù)據(jù)將在各類網(wǎng)站上可以查詢。因此,在現(xiàn)如今的國(guó)內(nèi)股票市場(chǎng)里,多因子選股模型發(fā)揮越來越重要的作用。
傳統(tǒng)的多因子模型擁有很多缺點(diǎn),因此通過算法優(yōu)化和因子選取方法的改變,會(huì)使模型變得更加的完整,并且準(zhǔn)確度提高。在發(fā)展過程中,多元回歸分析、行業(yè)輪動(dòng)、支持向量回歸機(jī)、隨機(jī)森林和量子遺傳算法機(jī)器學(xué)習(xí)等理論體系,與多因子選股模型多次發(fā)生碰撞,又不斷革新,產(chǎn)生了一系列的多因子選股模型。
本文將通過數(shù)據(jù)分析,金融,數(shù)學(xué)知識(shí)等知識(shí)構(gòu)建一套量化交易策略,運(yùn)用到的大體模型有隨機(jī)森林、支持向量機(jī)兩大模型以及用于擇時(shí)的 MACD技術(shù)指標(biāo)的運(yùn)用。在股票止盈止損的方面,選擇通過T分布以及置信區(qū)間對(duì)大量漲跌幅數(shù)據(jù)進(jìn)行數(shù)理統(tǒng)計(jì),計(jì)算止盈止損值。回測(cè)表明該策略在各方面表現(xiàn)優(yōu)秀。
本文選取滬深300的股票,所有的財(cái)務(wù)數(shù)據(jù)都來自同花順ifind(金融數(shù)據(jù)報(bào)告)。通過使用缺失值處理,最終選出224只股票。其中缺失值處理分為三步:
(1)采用箱型圖方法來判別異常值,把數(shù)據(jù)中大于95%、小于5%分位點(diǎn)數(shù)據(jù)用95%、5%分位點(diǎn)替換。
(2)第二步,本文采取刪除數(shù)據(jù)缺失過多的特征的股票,對(duì)于缺失值較少,采用數(shù)值插值的形式進(jìn)行填補(bǔ)。
(3)通過標(biāo)準(zhǔn)化處理以達(dá)到數(shù)據(jù)規(guī)范化。
支持向量機(jī)(SVM)的主要思想可以歸納為兩點(diǎn):利用高維的空間中構(gòu)造出的線性判別函數(shù)來代表原空間中的非線性判別函數(shù),保證了機(jī)器具有較好的泛化能力;采用最優(yōu)分離超平面結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則,使風(fēng)險(xiǎn)的概率與整個(gè)樣本空間的期望滿足一定的上界,從而全局達(dá)到最優(yōu)分類。隨機(jī)森林是一種對(duì)所選的對(duì)象進(jìn)行分析預(yù)測(cè)的算法,它主要通過分出多棵決策樹,每個(gè)決策樹可以輸出類別不同的樹進(jìn)行來進(jìn)行預(yù)測(cè)。PCA主成分分析是把高維的數(shù)據(jù)利用線性變換投影到低維空間上去,盡量少的指標(biāo)反映盡量多的有效信息。根據(jù)具體的需求和實(shí)際的需要,通過從中選取幾個(gè)較為綜合指標(biāo),來盡可能地反映原來指標(biāo)的信息。
本文用到的K線技術(shù)指標(biāo)有BOLL指標(biāo),又叫布林帶指標(biāo)。它主要由三條線組成,上軌,中規(guī)以及下軌。這三條線主要由標(biāo)準(zhǔn)差計(jì)算而來。另外一個(gè)KDJ指標(biāo),又叫隨機(jī)指標(biāo),它是屬于超買超賣的指標(biāo),KDJ指標(biāo)主要有K值,D值,J值,這三個(gè)值主要是根據(jù)股票價(jià)格的最高價(jià),最低價(jià)以及收盤價(jià)進(jìn)行計(jì)算得到的。
本文以股票選取作為研究對(duì)象,基于價(jià)值投資的視角。如圖2所示,該量化策略總體分為兩個(gè)部分,左框的選股策略通過MATLAB與python語言實(shí)現(xiàn),右框的交易策略則在Mind-Go①平臺(tái)上完成。
首先,利用同花順iFind平臺(tái)進(jìn)行數(shù)據(jù)的獲取,選取營(yíng)運(yùn)能力、成長(zhǎng)能力、估值、償還能力和盈利能力這五大方面共63個(gè)因子,作為我們的初級(jí)因子池,進(jìn)行數(shù)據(jù)預(yù)處理,然后利用相關(guān)系數(shù)檢驗(yàn)因子的相關(guān)性,剔除高度相關(guān)的因子,然后利用隨機(jī)森林算法進(jìn)行因子的二次篩選,運(yùn)行了2016—2018年的因子的數(shù)據(jù),得出了這些因子的特征值,及因子對(duì)于年化收益率的貢獻(xiàn)程度,選取三年出現(xiàn)特征值大于0.3,且三年都出現(xiàn)的因子,得到我們的二級(jí)因子池,見表1。
表1:最終選取的因子
針對(duì)上述16個(gè)因子,使用PAC分析計(jì)算各因子權(quán)重,得到5個(gè)公因子以及因子方程:
圖2:策略流程
利用MindGo平臺(tái)進(jìn)行了alphalens檢驗(yàn),結(jié)果表明模擬收益高于基準(zhǔn)收益,并且信息系數(shù)為正,因子有效。再按照因子方程計(jì)算股票因子得分,從高到低排序,選取分?jǐn)?shù)最高的50支股票作為股票池。
得到股票池后,我們利用BOLL+KDJ兩個(gè)指標(biāo)的結(jié)合制定交易策略:
(1)通過計(jì)算股票價(jià)格突破BOLL中軌,上軌開口方向向上,下軌方向向下,且K值大于D值,K線向上突破D線,買入;
(2)當(dāng)股票價(jià)格偏離上軌,跌破中軌,且K值小于D值,K線向下突破D線,或者K值D值,大于65,賣出。
同時(shí),在以上策略的基礎(chǔ)上,通過MindGo平臺(tái)運(yùn)用到選股策略中,將有效因子進(jìn)行因子打分,選擇出股票同時(shí)判斷該股票是否停牌或者是ST股,最后選擇出得分最高的股票形成股票池,股票池中的股票每月進(jìn)行更換。
本策略運(yùn)用支持向量機(jī)(SVM)技術(shù)對(duì)每只股票未來一周的模式進(jìn)行判別,每月月末通過MACD指標(biāo)對(duì)持倉(cāng)股票進(jìn)行調(diào)倉(cāng)。為了控制風(fēng)險(xiǎn),通過反復(fù)回測(cè)實(shí)驗(yàn),對(duì)大盤及個(gè)股分別設(shè)置了止盈止損點(diǎn):當(dāng)大盤過去5天下跌總數(shù)的8%,將所有股票全部賣出。同時(shí)個(gè)股止損,個(gè)股近三天下跌合計(jì)超過5%,個(gè)股平倉(cāng),以求降低風(fēng)險(xiǎn),穩(wěn)固收益。
我們對(duì)量化策略在同花順Mindgo平臺(tái)上進(jìn)行回測(cè)檢驗(yàn),得出回測(cè)結(jié)果:策略年化收益率為11.41%,遠(yuǎn)高于基準(zhǔn)年化收益率為0.26%,且Alpha為0.11;Beta為0.54;Sharpe為0.57;最大回撤為12.69%。證明該策略有實(shí)施的價(jià)值。此外,我們主要選取的時(shí)間段為2018年3月至2019年4月,在這一段時(shí)間內(nèi),大盤指數(shù)在前半段一直呈現(xiàn)下降的趨勢(shì),而且一直處于一個(gè)震蕩期,通過我們的策略可以發(fā)現(xiàn),我們的收益雖然在前段時(shí)間并未有太大的收益,而且與大盤總體走勢(shì)相似,但是仍然擁有穩(wěn)定的收益。
本文構(gòu)建基于SVM算法的多因子選股模型,以滬深300成份股為股票池,通過分析2013年到2017年的年報(bào)中選取45個(gè)候選因子,數(shù)據(jù)進(jìn)行預(yù)處理之后,再通過獨(dú)立性、相關(guān)性的檢驗(yàn),確保了留下來的因子是真實(shí)有效的,之后,再對(duì)留下來的因子通過隨機(jī)森林特征值的選取,每年都剔除小于0.03的因子,然后在對(duì)留下來的找到5年都出現(xiàn)的因子,再對(duì)這些因子進(jìn)行單因子有效性的檢驗(yàn),通過支持向量分類的方法從中選取具有投資價(jià)值的股票構(gòu)建投資組合,期望該組合在未來的一段時(shí)間能夠獲取穩(wěn)健的超額收益,這既豐富了多因子模型構(gòu)建方式,也為其他投資者提供一些借鑒。
注釋
① 同花順 MinDGo量化平臺(tái)http://quant.10jqka.com.cn/platform/html/home.html