【因子投資】美股量化投資:多因子選股策略

以多因子選股策略,進行美股的量化投資回測

--

原創不易,若轉載請先告知,本人保有法律追訴權

警語:本文為學術目的探討,不表示任何實質投資建議,本部落格也不為投資損益負責,投資人須自負盈虧。

Abstract

The research starts by discovery of pattern from data and ends with confirmation of economic meaning of this patter. Next, we develop an investing algorithm according to our research and perform backtesting on our strategy in both walking-forward and stress-event criteria. After we feel confident to our algorithm, we deploy our program in the server then automatically execute it to avoid the greedy and fear from human-being. All the maximum level of stop-loss and profit taking condition are pre-written in the program based on the tolerance of risk level.

因子建構

首先從資料庫中取得上述因子,接著對因子做特徵預處理,首先將因子做scaling到0–1之間,避免模型學習到變量之間的variance而不是變量自身的分配。再來,要對模型做normalize的動作,讓各特徵的機率分配具有更明顯的漸進性,以方便模型學習特徵之間所變化的差異。

特徵預處理前的因子分佈

特徵後的因子分佈

特徵處理後的因子分佈

交易策略

本次交易策略預定的時間週期為每週調倉一次,依照模型所預測出的alpha值排序,篩選出排名較佳的個股進行持股。

因子收益率分析

首先,分析各因子對於報酬率的影響,我分為影響的程度,和影響的穩定度兩個維度來挑選因子。

影響的程度採用5日後的報酬對因子以wls估計手法做迴歸分析,得出各因子對於5日後的報酬率影響如下,其中小市值Size因子為負代表市值越大則五日報酬為負

除了上方以橫斷面的回歸系數變異數來觀察因子的穩定度外,更嚴謹的方法是考量因子在時間序列上的穩定度,否則我們很難再採用該因子建構策略後對其變化的幅度具有信心,這裏採用rolling lasso importance的手法,估計各別因子對於報酬率的穩定度,下圖中可以看出小市值因子穩定度不佳,因此需要搭配較為穩定的因子,例如momentum動能因子,如此一來報酬率才會穩定。

建構alpha信號

綜合評估各因子影響的程度,和影響的穩定度兩個維度後,我建構了一個alpha信號來作為選股的標準。收益率必須為alpha信號的單調遞增函數,即我們相信這個alpha信號能夠預測收益率的分佈,alpha信號越高則收益率越高。此外,即便策略的調倉週期為1週,為了策略的robustness,必須在不同的時間維度上確認這件事,下方可以看到這個alpha信號的確具有相當的穩健性,比較有待改進的是80% Quantile的收益率高於最高位數,不過仍可勉強拿來用。

調倉規則

接著,依照上述的alpha信號,開始建立投資倉位,這裡我們選擇每週分數最高的25名進行持股,持股的權重由投資組合模型求解得出

投資組合模型

投資組合模型以最大化alpha信號作為目標函數,並且對於市場風險因子要求控制在正負20%之內,對於個別行業和產業部門也都有一定的比重的曝險要求。

回測與風險分析

Backtest

回測過去幾年的表現後,可以發現該策略並無法於長時間內戰勝大盤。

Factors Contribution

未能戰勝大盤的原因大致上是因為我們設定投資組合的權重時,限制了所有風格因子曝險都必須在正負40%之內,因此能夠產生高利潤的因子例如Value沒辦法帶來更多的利潤。

Drawdown Analysis

此處觀察該策略的回撤表現

Stress Test

此處觀察該策略於市場面臨壓力事件情況下的表現,通常壓力情況下市場會出現大量賣壓,由於市場流動性減少,資產會以更低的價格出售,因此,在此情況下能夠具有相對大盤穩定的表現非常重要。

PaperTrade

這裡進行了兩個月的PaperTrade,該期間正值中美貿易戰談判的當下,於後期勝過了大盤的表現,然而,由於此處週期過短,若要策略具有robustness,則實戰中至少要拉長到半年,且對於該期間策略的換手率費用必須要納入考量

Conclusion

我們用了投資組合最佳化模型做為風控,然而在限制風險因子暴露的同時,也同時限制了策略的獲利能力。目前看起來有兩大改善方向,試著放寬風險因子的限制,改為透過衍生品將風險對沖掉,或著是乾脆開大倍數槓桿放大獲利,兩種模式都有值得深入探討的價值。

--

--