量化交易中多因子模型應(yīng)用淺談
因子模型框架
股市的多因子模型的研究報(bào)告可謂汗牛充棟,有著豐富的理論和實(shí)踐。數(shù)字貨幣市場(chǎng)無(wú)論幣種數(shù)量、總市值、交易額、衍生品市場(chǎng)等都足以滿足進(jìn)行因子研究,本文主要面對(duì)量化策略初學(xué)者,不會(huì)涉及復(fù)雜的數(shù)學(xué)原理和統(tǒng)計(jì)分析,將以幣安永續(xù)期貨市場(chǎng)為數(shù)據(jù)源,構(gòu)建一個(gè)簡(jiǎn)單的因子研究的框架,方便對(duì)因子指標(biāo)進(jìn)行評(píng)價(jià)。
因子可以看作一個(gè)指標(biāo),可以寫(xiě)作表達(dá)式,因子不斷變化,反映了未來(lái)的收益信息,通常因子代表了一種投資邏輯。
例如:收盤(pán)價(jià)close這個(gè)因子,背后的假設(shè)就是股價(jià)可以預(yù)測(cè)未來(lái)收益,股價(jià)越高未來(lái)收益越高(也可能越低),以此因子構(gòu)建組合其實(shí)就是定期輪倉(cāng)購(gòu)買(mǎi)高價(jià)股的投資模式/策略。 通常而言那些能夠持續(xù)產(chǎn)生超額收益的因子又常被稱為Alpha。例如市值因子、動(dòng)量因子等都被學(xué)術(shù)界和投資界驗(yàn)證過(guò)是曾經(jīng)有效的因子。
無(wú)論是股市還是數(shù)字貨幣市場(chǎng),都是一個(gè)復(fù)雜的系統(tǒng),沒(méi)有因子可以完全預(yù)測(cè)未來(lái)的收益,但仍然具有一定的可預(yù)測(cè)性。有效的alpha(投資模式)并隨著更多資金的投入而逐漸失效。但這一過(guò)程將在市場(chǎng)上會(huì)產(chǎn)生其它的模式,從而誕生新的alpha。市值因子曾經(jīng)在A股市場(chǎng)上是一個(gè)非常有效的策略 ,簡(jiǎn)單買(mǎi)入10個(gè)的最低市值的股票,每天調(diào)整一次,從2007年開(kāi)始十年回測(cè)將獲得超過(guò)400倍的收益,遠(yuǎn)遠(yuǎn)超越大盤(pán)。但2017年的白馬股行情反映了就是小市值因子的失效,價(jià)值因子反而流行了起來(lái)。因此需要不斷在對(duì)alpha的驗(yàn)證和使用之間權(quán)衡和嘗試。
尋找的因子是建立策略的基礎(chǔ),通過(guò)組合多個(gè)不相關(guān)的有效因子可以構(gòu)建比較好的策略。
數(shù)據(jù)來(lái)源
Binance?USDT永續(xù)期貨2022年初至今的小時(shí)K線數(shù)據(jù),截止到目前,超過(guò)了150個(gè)幣種。前面說(shuō)過(guò),因子模型是一種選幣模型,是面向全部幣種而不是某個(gè)幣種。K線數(shù)據(jù)中包含高開(kāi)低收的價(jià)格、成交量、成交筆數(shù)、主動(dòng)買(mǎi)量等數(shù)據(jù),這些數(shù)據(jù)當(dāng)然不是所有因子的來(lái)源,比如美股指數(shù)、加息預(yù)期、盈利能力、鏈上數(shù)據(jù)、社交媒體熱度等等。冷門(mén)的數(shù)據(jù)來(lái)源也可能發(fā)掘出有效的alpha,然而基礎(chǔ)的量?jī)r(jià)數(shù)據(jù)也完全夠用。
Out:
print(len(symbols))
Out:? 153
Out:
初步從K線數(shù)據(jù)中提煉出我們感興趣的數(shù)據(jù):收盤(pán)價(jià)、開(kāi)盤(pán)價(jià)、成交量、成交筆數(shù)、主動(dòng)買(mǎi)入比例,以這些數(shù)據(jù)為基礎(chǔ),加工出需要的因子。
總覽下市場(chǎng)指數(shù)的表現(xiàn),可以說(shuō)比較慘淡,年初至今下跌了60%。

因子有效性判定
回歸法
以下一期的收益率作為因變量,待測(cè)試的因子作為自變量,回歸得到的系數(shù)也就是因子的收益率。構(gòu)造回歸方程之后,一般會(huì)參考系數(shù)t值的絕對(duì)值均值,系數(shù)t值絕對(duì)值序列大于2的占比,年化因子收益率,年化因子收益波動(dòng)率,因子收益的夏普比等參數(shù)來(lái)看因子的有效性和波動(dòng)性??梢砸淮位貧w多個(gè)因子,具體參考barra文檔。IC,IR等指標(biāo)
所謂IC就是因子與下一期收益率的相關(guān)系數(shù),現(xiàn)在一般也用RANK_IC,就是因子排名與下一期股票收益率的相關(guān)系數(shù)。IR一般來(lái)講是IC序列的均值/IC序列的標(biāo)準(zhǔn)差。分層回歸法
本文將用這種方法,就是根據(jù)待測(cè)試的因子排序,將幣種分為N組來(lái)進(jìn)行分組回測(cè),使用固定的周期來(lái)進(jìn)行調(diào)倉(cāng)的操作。 如果情況理想,N 組幣種的收益率會(huì)呈現(xiàn)較好的單調(diào)性,單調(diào)遞增或遞減,且每一組的收益差距較大。這樣的因子體現(xiàn)為較好的區(qū)分度。假如第一組收益最高,最后一組收益最低,那么做多第一組組合并做空最后一組組合,最終得到的收益率,夏普比率的參考指標(biāo)。
實(shí)際回測(cè)操作
根據(jù)因子從小到大排序把待選幣種根據(jù)排序分為3組,每組幣種大約占1/3,如果一個(gè)因子有效的話,每組分的越少往往收益率越高,但也意味著每個(gè)幣種分配的資金相對(duì)較多,如果多空分別一倍杠桿,第一組和最后一組分別為10個(gè)幣種,則一個(gè)比重占比10%,如果做空的某個(gè)幣種上漲了2倍,則回撤20%;相應(yīng)的如果分組數(shù)量為50,則回撤4%。分散幣種可以降低黑天鵝的風(fēng)險(xiǎn)。做多第一組(因子值最?。?,做空第三組。如果因子越大收益越高,可以把多空反過(guò)來(lái)或者簡(jiǎn)單將因子變?yōu)樨?fù)數(shù)或者倒數(shù)。
通??梢愿鶕?jù)最終回測(cè)的收益率和夏普比例來(lái)粗略評(píng)估因子預(yù)測(cè)能力。此外還需要參考因子表達(dá)式是否簡(jiǎn)單、對(duì)分組的大小不敏感、對(duì)調(diào)倉(cāng)間隔不敏感、對(duì)回測(cè)初始時(shí)間不敏感等。
關(guān)于調(diào)倉(cāng)頻率,股票市場(chǎng)往往是5天、10天以及一個(gè)月為周期,但對(duì)于數(shù)字貨幣市場(chǎng),這樣的周期無(wú)疑是太長(zhǎng)了,并且實(shí)盤(pán)中行情是實(shí)時(shí)監(jiān)控的,死守一個(gè)特定的周期再調(diào)倉(cāng)沒(méi)有必要,因此在實(shí)盤(pán)中我們是實(shí)時(shí)或者短時(shí)間周期調(diào)倉(cāng)。
關(guān)于如何平倉(cāng),按照傳統(tǒng)的方法,下次排序時(shí)不在組別中即可平倉(cāng)。但是在實(shí)時(shí)調(diào)倉(cāng)的情況下,一些幣種可能正好處于分界處,會(huì)出現(xiàn)來(lái)回平倉(cāng)的情況。因此本策略采用等待分組變化,需要開(kāi)反方向倉(cāng)位時(shí)再平倉(cāng),如第一組做多,當(dāng)處于做多狀態(tài)的幣種被分為第三組后,此時(shí)再平倉(cāng)做空。如果固定周期平倉(cāng),比如每天或每8小時(shí),也可以采用不處于分組中即平倉(cāng)的方式??梢远噙M(jìn)行嘗試。
簡(jiǎn)單的因子測(cè)試
成交量因子:簡(jiǎn)單做多成交量低的幣種,做空成交量高的幣種,表現(xiàn)非常好,這說(shuō)明熱門(mén)幣更傾向于下跌。
成交價(jià)因子:做多價(jià)格低幣種,做空價(jià)格高的幣種,效果一般。
成交筆數(shù)因子:表現(xiàn)和成交量非常相似,??梢院苊黠@的注意到成交量因子和成交筆數(shù)因子的相關(guān)性非常高,實(shí)際也是如此,它們的不同幣種的平均相關(guān)性達(dá)到了0.97,這說(shuō)明這兩個(gè)因子非常相近,在合成多因子時(shí),這個(gè)因素需要考慮在內(nèi)。
3h動(dòng)量因子:(df_close - df_close.shift(3))/df_close.shift(3)。即因子的3小時(shí)漲幅,回測(cè)結(jié)果可見(jiàn)3小時(shí)漲幅具有明顯的回歸特性,即上漲的在接下來(lái)更容易下跌。整體表現(xiàn)可以,但也有較長(zhǎng)時(shí)間的回撤和振蕩期。
24h動(dòng)量因子:24h的調(diào)倉(cāng)周期結(jié)果還不錯(cuò),收益與3h動(dòng)量相近,回撤更小。
成交額變動(dòng)因子:df_volume.rolling(24).mean()/df_volume.rolling(96).mean(),即最近1天成交額與最近3天成交額的比值,每8h調(diào)倉(cāng)一次?;販y(cè)結(jié)果表現(xiàn)比較好,回撤也比較低,這說(shuō)明成交量活躍的反而更傾向于下跌。
成交筆數(shù)變動(dòng)因子:df_count.rolling(24).mean()/df_count.rolling(96).mean(),即最近1天成交筆數(shù)與最近3天成交筆數(shù)的比值,每8h調(diào)倉(cāng)一次?;販y(cè)結(jié)果表現(xiàn)比較好,回撤也比較低,這說(shuō)明成交筆數(shù)增加活躍的反而更傾向于下跌。
單筆成交價(jià)值變動(dòng)因子:
-(df_volume.rolling(24).mean()/df_count.rolling(24).mean())/(df_volume.rolling(24).mean()/df_count.rolling(96).mean())
,即最近1天成交價(jià)值與最近3天成交價(jià)值的比值,每8h調(diào)倉(cāng)一次。這個(gè)因子也和成交量因子高度相關(guān)。
主動(dòng)成交比例變動(dòng)因子:df_buy_ratio.rolling(24).mean()/df_buy_ratio.rolling(96).mean(),即最近1天主動(dòng)買(mǎi)入量與總成交量的比值與最近3天成交價(jià)值的比值,每8h調(diào)倉(cāng)一次。這個(gè)因子表現(xiàn)尚可,和成交量因子相關(guān)性不大。
波動(dòng)率因子:(df_close/df_open).rolling(24).std(), 做多波動(dòng)性小的幣種,有一定效果。
成交量和收盤(pán)價(jià)相關(guān)性因子:df_close.rolling(96).corr(df_volume), 最近4天收盤(pán)價(jià)有成交量的相關(guān)性因子,整體表現(xiàn)不錯(cuò)。
這里列出的只是一些基于量?jī)r(jià)的基礎(chǔ)的因子,實(shí)際上因子公式組合可以非常復(fù)雜,可以沒(méi)有明顯的邏輯??梢詤⒖贾腁LPHA101的因子構(gòu)造方式:https://github.com/STHSF/alpha101?。



Out: 0.9671246744996017




Out: 0.9707239580854841

Out:?0.861206620552479

Out:?0.1534572192503726


多因子合成
不斷挖掘出新的有效因子固然是構(gòu)建策略過(guò)程中最為重要的一部分,但如果沒(méi)有好的因子合成方法,優(yōu)秀單個(gè)Alpha因子也不能發(fā)揮其最大作用。常見(jiàn)的多因子合成方法有:
等權(quán)法: 所有待合成因子等權(quán)重相加,得到新的合成后因子。
歷史因子收益率加權(quán)法:所有待合成因子,按照最近一段時(shí)期內(nèi)歷史因子收益率的算術(shù)平均值作為權(quán)重進(jìn)行相加,得到新的合成后因子。這種方法表現(xiàn)好的因子權(quán)重更高。
最大化IC_IR加權(quán)法:以歷史一段時(shí)間的復(fù)合因子平均 IC值作為對(duì)復(fù)合因子下一期IC值的估計(jì),以歷史IC值的協(xié)方差矩陣作為對(duì)復(fù)合因下一期波動(dòng)率的估計(jì),根據(jù)IC_IR等于IC的期望值除以IC的標(biāo)準(zhǔn)差,可以得到最大化復(fù)合因子IC_IR的最優(yōu)權(quán)重解。
主成分分析(PCA)法 :PCA 是數(shù)據(jù)降維的常用方法,因子之間的相關(guān)性可能比較高,使用降維后的主成分作為合成后的因子。
本文將手動(dòng)參考因子有效性賦權(quán)。上面介紹的方法可參考:ae933a8c-5a94-4d92-8f33-d92b70c36119.pdf
在測(cè)試單因子的時(shí)候排序是固定的,但是多因子合成需要把完全不同的數(shù)據(jù)合并在一起,因此需要將所有的因子進(jìn)行標(biāo)準(zhǔn)化處理,一般還需要去極值和缺失值處理。這里我們采用df_volume\factor_1\factor_7\factor_6\factor_8合成。

總結(jié)
本文介紹了單因子的測(cè)試方法并測(cè)試了常見(jiàn)的單因子,初步介紹了多因子合成的方法,但多因子研究?jī)?nèi)容非常豐富,文中提到每一個(gè)點(diǎn)都能深入的展開(kāi),把對(duì)各種各樣的策略研究轉(zhuǎn)為對(duì)alpha因子的發(fā)掘是個(gè)可行的途徑,使用因子的方法論,能極大的加快交易思想的驗(yàn)證,并且有很多可供參考的資料。
實(shí)盤(pán)地址:https://www.fmz.com/robot/486605