伴隨著癸卯兔年到甲辰龍年的交替,A股市場在短期內(nèi)經(jīng)歷了劇烈波動。隨著雪球產(chǎn)品大面積敲入,基差快速擴大,小微盤股等板塊流動性枯竭,量化基金行業(yè)出現(xiàn)了整體性凈值大幅回撤。這種市場情況無疑對量化交易的風(fēng)控能力提出了更嚴(yán)格的要求。
風(fēng)控模型不但能夠提供更準(zhǔn)確的股票組合優(yōu)化結(jié)果,還能及時發(fā)現(xiàn)預(yù)期外的風(fēng)險敞口,從而實現(xiàn)更穩(wěn)定的收益,同時還支持事后對投資組合進行更深入的業(yè)績歸因和風(fēng)險歸因,幫助及時調(diào)整投資策略。
2018年 MSCI 發(fā)布的中國 A 股全市場股票模型(The Barra China Equity Model,即 Barra CNE6 模型)就是研究風(fēng)險敞口、行業(yè)配置和收益歸因等問題的重要工具之一。Barra 模型采用多層次的因子體系,能夠更好地捕捉橫截面上機構(gòu)頭寸在各種因子(包括市值等風(fēng)格因子)上的暴露,從而更精細(xì)地預(yù)測和解釋中國股票市場的風(fēng)險。與傳統(tǒng)的時間序列回歸模型有所不同,當(dāng) Barra 模型中納入具有時序記憶的變量時,它還可以共享截面回歸和時序回歸模型的一些優(yōu)良性質(zhì)。目前,我們在 DolphinDB 中完整實現(xiàn)了 Barra CNE6 中的 CNLT 長期模型的全流程,從而幫助用戶更準(zhǔn)確地分析市場因子對投資組合的影響,進一步優(yōu)化投資策略,以實現(xiàn)更高的投資回報。
下圖為實踐全流程,本文帶你速通完整實踐指南,如需獲取 Barra 完整模塊腳本,請戳小助手(dolphindb1)。
基于 DolphinDB 的因子合成
CNE6 共包含9個一級因子、21個二級因子、46個三級因子。我們基于因子計算模塊barraFactorsCal,對初始的三級因子進行了計算和有效性檢驗,并基于因子合成模塊barraFactorsMerge,使用 DolphinDB 接口合成指定的一級和二級因子。具體流程如下:
1.風(fēng)格因子計算:基于 getXXXX 函數(shù)計算單個三級風(fēng)格因子。
2.行業(yè)因子計算:基于 getIndustryFactors 函數(shù)計算行業(yè)因子。
3.因子預(yù)處理:首先通過 MAD 法,以及市值加權(quán)標(biāo)準(zhǔn)化,對原始三級風(fēng)格因子進行數(shù)據(jù)清洗。再基于 getAllFactors 和 getRegTable 函數(shù),得到用于單因子模型檢驗的回歸因子表。
4.單因子模型檢驗:基于 getFactorsValidation 函數(shù)針對回歸因子表生成每個因子對應(yīng)的 IC 、FSC 指標(biāo)。
5.因子合成:針對不同因子加權(quán)方法,基于getFSLevelFactor函數(shù)合成三級因子,得到用于建立 Barra 多因子模型的一級因子窄表。
基于 DolphinDB 構(gòu)建收益風(fēng)險模型
合成一級因子后,我們就可以建立收益與風(fēng)險模型,并從擬合優(yōu)度、偏差統(tǒng)計量以及 Q 統(tǒng)計量等角度對模型進行評估。調(diào)用收益風(fēng)險模型對應(yīng)接口函數(shù)getRetTable,即可獲得收益風(fēng)險模型,并繪制得到對應(yīng)的模型評估指標(biāo)(R2、T 統(tǒng)計量、Bias 統(tǒng)計量等)。例如,通過下述代碼繪制模型的
studentized R2 月頻時序圖
基于 DolphinDB 的 Barra 多因子模型應(yīng)用
通過 Barra 多因子收益風(fēng)險模型,我們可以在 DolphinDB 中輕松實現(xiàn)投資組合的風(fēng)險評估和配置優(yōu)化。具體應(yīng)用案例如下:個股收益預(yù)測預(yù)測個股收益能夠幫助投資者評估投資組合的整體風(fēng)險水平,并采取相應(yīng)的調(diào)整措施。對應(yīng)接口函數(shù)為getPredicOut,實現(xiàn)腳本請聯(lián)系小助手。
組合權(quán)重優(yōu)化
組合權(quán)重優(yōu)化的目的在于將組合的風(fēng)險特征完全定量化,使得投資經(jīng)理可以清楚地了解組合的收益來源和風(fēng)險暴露。權(quán)重優(yōu)化的目標(biāo)函數(shù),優(yōu)化目標(biāo)多種多樣,例如可以控制最小預(yù)測收益并最小組合風(fēng)險、控制最小本期收益并最小組合風(fēng)險、控制最大風(fēng)險并最大化預(yù)測收益、控制最大風(fēng)險并最大化本期收益等等。以預(yù)測收益控制最小預(yù)測收益率為例,對應(yīng)接口函數(shù)getOptimizeWeights,實現(xiàn)腳本請聯(lián)系小助手。
事前與事后資產(chǎn)配置評估
事后資產(chǎn)配置指在實際收益數(shù)據(jù)可用之后,根據(jù)實際的歷史收益數(shù)據(jù)進行的資產(chǎn)配置。這個過程發(fā)生在投資決策之后,基于實際觀察到的歷史收益數(shù)據(jù)對資產(chǎn)進行重新配置。因此根據(jù)市值或者是等權(quán)法評估已有指數(shù)的 Bias,可以計算出指定組合的偏差統(tǒng)計量和 Q 統(tǒng)計量,以對事后資產(chǎn)配置進行評估。我們基于getFacSpecialBias函數(shù) ,計算事后資產(chǎn)配置的 Bias 統(tǒng)計量,以評估事后資產(chǎn)配置。
事前資產(chǎn)配置指在實際收益數(shù)據(jù)可用之前,根據(jù)模型的預(yù)測和假設(shè)進行的資產(chǎn)配置。這個過程發(fā)生在投資決策之前,基于模型的預(yù)測結(jié)果和投資者的目標(biāo)、約束條件等進行資產(chǎn)配置。
根據(jù)已經(jīng)由優(yōu)化目標(biāo)得到組合權(quán)重或是給定的組合權(quán)重,可以計算出指定組合的偏差統(tǒng)計量和 Q 統(tǒng)計量,觀察指定資產(chǎn)配置組合權(quán)重的合理性或是評估優(yōu)化權(quán)重的好壞。我們可以基于getPortfolioAccuracy接口以評估事前資產(chǎn)配置組合。
至此,基于 DolphinDB 實現(xiàn) Barra 多因子模型 CNLT 的全流程跑通。若需獲取 Barra 完整模塊腳本(因子計算模塊 barraFactorsCal、因子合成模塊 barraFactorsMerge、多因子模型模塊 barraFactorsModel),或者想要拓展 Barra 模型,以滿足個性化需求,請聯(lián)系小助手(dolphindb1)。同時,債券領(lǐng)域的多因子風(fēng)險和歸因模型如 Campisi、Brinson 等,我們也正在開發(fā)過程中,敬請期待!
最后,在本次的 Barra 因子開發(fā)合作項目中,我們還要向盈米基金蜂鳥投研科技團隊表達最誠摯的感謝。盈米基金的前瞻性思維和深厚的行業(yè)經(jīng)驗,為我們提供了寶貴的指導(dǎo)與支持。同時,其對風(fēng)險管理的獨到見解,為此次項目的成功推進奠定了堅實基礎(chǔ)。本次合作成功凝聚了雙方團隊的共同努力,為量化金融領(lǐng)域的因子開發(fā)與探索樹立了新的標(biāo)桿,并為投資者提供更可靠、精準(zhǔn)的決策支持。
相關(guān)稿件