機器學習系列—xgboost因子擇時

機器學習系列—xgboost因子擇時

來自專欄量化哥7 人贊了文章

研究目的:本文利用優礦因子庫中的因子,參考機器學習多因子動態調倉策略————廣發證券《多音字Alpha系列報告值(三十六)》中的研究方法,對研報的結果進行了實證分析,用以研究機器學習在因子擇時中的應用。

研究結論:用xgboost模型可以提高單因子的MAE、因子的風格輪動秩相關係數,並提高多因子組合的收益和回撤表現,顯示出不錯的擇時效果。

本文共分為四個部分,具體如下:

一、數據準備和處理;

二、預測因子的未來IC: 用xgboost靜態模型、滾動模型來預測因子的下一期IC;

三、單因子選股比較:比較6個因子擇時和不擇時的表現。

四、多因子實證分析:利用xgboost預測的IC值合成因子,並構建組合比較合成因子的效果

備註:深度報告版權歸優礦所有,禁止直接轉載或編輯後轉載。

一、數據準備和處理

該部分耗時 15分鐘

該部分內容為:

獲取6個因子的值

將因子值進行標準化

獲取13個外部變數的因子值,作為模型的輸入特徵

計算因子的歷史IC,作為模型的輸入特徵

將需要預測的目標(因子IC)和特徵對齊,即 model_data

1.1 確定universe

查看完整代碼請前往優礦量化社區

1.2 取因子數據,並對數據進行標準化

查看完整代碼請前往優礦量化社區

1.3 取外部變數因子數據,作為模型特徵的一部分

查看完整代碼請前往優礦量化社區

上面是所需要的數據,已經更新到2018-05-31,下面的代碼需要根據自己的需要更改回測時間。

1.4 計算因子的IC,用歷史IC作為模型特徵的一部分

查看完整代碼請前往優礦量化社區

1.5 將預測值、特徵值對齊

查看完整代碼請前往優礦量化社區

二、預測因子的未來IC

該部分耗時 2.5小時左右

參照組:以上一期的IC來預測下一期的IC

用xgboost模型,分別以靜態和滾動的方式預測IC

通過MAE、風格輪動秩相關係數比較不同預測方法的表現

2.1 參照組,以過去一期的IC代表未來一期的IC

baseline_frame的格式為:[trade_date, 各個因子的真實IC值(以_IC結尾),各個因子的預測IC值(以IC_extend結尾)]

load上面的數據,重啟時候接上

查看完整代碼請前往優礦量化社區

2.2 用xgboost對因子IC進行預測

static: 代表不進行滾動建模,2008-2013數據進行訓練,用訓練得到的模型預測因子值(6個模型)

rolling: 代表滾動建模,從2014年開始,每一個季度後將訓練數據滾動一個季度訓練得到新的模型,並用在下一個季度的預測上

得到的static_result/rolling_result 為 dataframe,列為 trade_date, 【各個因子的實際IC】,【各個因子的預測IC】

xgboost有很多超參數可以調整,在本文中,我們對max_depth in [3, 4], eta in [0.01, 0.02, 0.1, 0.2]進行了調參,最終選擇了 max_depth=3, eta=0.01

時間說明: 該部分耗時較長,跑static的模型,在30分鐘左右,跑rolling模型的時間在1-2個小時

查看完整代碼請前往優礦量化社區

2.3 比較MAE、風格輪動秩相關係數

查看完整代碼請前往優礦量化社區

從MAE來看,用xgboost模型預測的IC明顯比baseline要高

從風格輪動秩相關係數來看,xgboost預測的結果秩相關係數更高,且更穩定。

三、單因子選股比較

該部分耗時 15分鐘

查看完整代碼請前往優礦量化社區

查看完整代碼請前往優礦量化社區

四、多因子實證分析

根據預測的IC值合成因子

對合成後的因子構建組合併進行回測

4.1 合成因子

合成方法:

正向因子,下一期預測的IC為正,因子權重為預測的IC值

負向因子,下一期預測的IC為負,因子權重為預測的-IC值

所有因子都相反,則等權合成

最後進行歸一化

等權合成因子作為對比

查看完整代碼請前往優礦量化社區

4.2 利用合成後的因子構建組合併回測

組合構建和回測說明:

中證500成份股、剔除ST、停牌股票

等權買入合成因子值最大的一組(分成10組)

回測期:2014年1月到2017年12月

查看完整代碼請前往優礦量化社區

4.2.1 等權合成組合

查看完整代碼請前往優礦量化社區

4.2.2 xgboost靜態組合

查看完整代碼請前往優礦量化社區

查看完整代碼請前往優礦量化社區

4.2.3 xgboost的rolling組合

查看完整代碼請前往優礦量化社區

查看完整代碼請前往優礦量化社區

從上表來看,xgboost能夠有效的提高多因子表現(收益比等權多,回撤也更小),年化收益為負可能是由於特徵選擇的因素,可以通過增加更多的因子以及外部變數來增強模型的效果。

-- the end --

利用平台強大的資源,優礦特推出2018量化精英養成計劃,培養最優秀的Quants,尋找夜空中最亮的那顆星!來自畢業於牛津大學、北京大學、香港大學等高校的地表最強量化金工團隊,手把手帶你從0到1玩轉量化。點擊2018量化精英養成計劃了解詳情。


推薦閱讀:

TAG:金融工程學 | 寬客Quant | 機器學習 |