出色不如走運 (III)?
摘要
本文使用隨機因子的實證結果定量說明了僅靠運氣就能夠達到的選股效果,幫助判斷選股因子是否真正有效。
1 引言
使用因子選股的邏輯是因子 —— 無論是來自基本面、量價還是巨集觀經濟等 —— 都對股票未來的收益率有預測性。在定量評價一個因子是否有效時,主要的考察方式之一是計算該因子的收益率是否顯著不為零(原假設)。
假設因子的預期收益率和該預期收益率的 standard error 分別為 E[f] 和 s.e.(E[f]),則假設檢驗的 t-statistic 為:
在進行單因子檢驗時,一般要求該因子的 t-statistic 大於 2,從而以 5% 的顯著性水平拒絕原假設,並認為該因子確實有預測股票收益率的能力。 然而,如果同時考慮眾多因子(多重檢驗,multiple testing)並從裡面挑出來最好的,由於 data mining 的問題(即運氣),即便最好因子的 t-statistic 大於 2,也不能認為它是有效的。 之前的兩篇文章《出色不如走運?》以及《出色不如走運(II)?》對這個問題進行了探討。
今天這篇是《出色不如走運(III)?》。
假設同時考察 n 個因子、這些因子對於股票收益率的預測能力滿足 Uniform distribution。如果從這 n 個因子中挑出效果最好的,這個“最好的”因子的 t-statistic 和 p-value 有哪些性質呢?我們想要回答的問題是: 在多重檢驗的 n 選 1 問題中,對於給定的顯著性水平 p(比如 5%),單一因子的 p-value 或 t-statistic 應滿足什麼條件才能拒絕原假設。
根據 order statistic 的概率知識可知,這 n 個因子中第 i 好的滿足 Beta distribution:
從 n 個裡面挑出最好的相當於令 i = n。根據 Beta distribution 的定義和簡單計算有:
令 x = 1 – p 並利用 prob(U < x) = 1 – prob(U ≥ x) 可知:
在因子分析中,通常關注的是因子收益率是否顯著不為零 —— 可正可負 —— 因此一般使用雙邊檢驗。對於給定的 p-value(單邊 p/2),由上式可知(將 p 換成 p/2),這 n 個因子中最好的那個的 t-statistic 的絕對值需不小於以下閾值才能拒絕原假設:
當 n 很大時,從上式可進一步推匯出單一因子的 p-value 需要小於 p/n 才能在 n 選 1 的 multiple testing 下拒絕原假設。舉例來說,我們考察 10 個因子並希望以 5% 的顯著性水平找到真正有效的因子,則這些因子各自的 p-value 只有小於 5%/10 = 0.5% 才能拒絕原假設。這正是大名鼎鼎的 Bonferroni correction(邦費羅尼校正 )。
實際因子選股面臨更復雜的問題:如何從 n 個因子中選出最好的 k 個,而非 1 個;如何配置選出來的這 k 個因子 —— 等權配置還是按照它們 樣本內 的表現好壞配置。如果不妥善解決 multiple testing 的問題,上述這些做法會導致 選擇偏差(selection bias) 以及 過擬合偏差(overfitting bias) 。
2 選擇偏差和過擬合偏差
在選擇因子時,通常的做法是在回測中使用因子定期構建投資組合,然後分析因子預期收益率的 t-statistic。如果該 t 值小於零(且顯著為負)則把該因子反過來使用。假設同時考察 n 個因子,並根據因子 t-statistic 絕對值的大小採用下列做法之一:
1. 按照樣本內 n 個因子 t-statistics 的正負同時使用全部因子,按照等權或者樣本內因子效果賦權來選股(n 選 n 問題) —— 這種做法引入 overfitting bias;
2. 從這 n 個因子中挑出樣本內 t-statistic 絕對值最大的 1 個(n 選 1 問題),使用該因子選股 —— 這種做法引入 selection bias;
3. 從這 n 個因子中挑出樣本內 t-statistic 絕對值最大的 k 個(n 選 k 問題),並按等權或樣本內效果賦權選股 —— 這種做法同時引入 selection bias 和 overfitting bias。
Novy-Marx (2015) 研究了多因子選股回測中的 selection bias 和 overfitting bias 問題。本文第一節中的數學推導正是來自 Novy-Marx (2015),而它僅僅是 n 選 1 的一種簡化情況。在投資實務中,更常見的是上述第二種 n 選 k 的問題,它面臨 “因子怎麼選” 和 “因子如何配” 這兩個嚴峻的問題,一不小心就會引入大量的噪音。
毫無疑問,multiple testing 下的資料探勘是因子選股的大敵。通過 data mining,僅僅依靠運氣,挑出來的因子 —— 哪怕再沒有業務含義 —— 也會在樣本內獲得顯著不為零的選股收益率,但它只是過擬合而已。
針對 multiple testing 中的 data mining,Novy-Marx (2015) 從理論和實證經驗兩個角度分析了上述 n 選 n、n 選 1、n 選 k 三個問題中,多因子策略的 t-statistic 的分佈問題。該文使用純隨機產生的因子 —— 理論上沒有任何預測性 —— 在美股上選股、以美股的真實收益率計算這些隨機因子的因子收益率,從而定量分析上述三個問題中多因子選股策略的 t-statistic 的閾值。
這些 t-statistic 的閾值遠超單因子檢驗中的 2.0,而如此之高的閾值更是僅僅來自於運氣和 data mining。在實際選股中,使用多因子構建的策略的 t-statistic 唯有超過這些閾值才意味著它們真的對收益率有統計上非顯著為零的預測性。
本文下一節借鑑 Novy-Marx (2015) 的思路產生隨機因子,使用中證 500 指數的成分股進行實證分析。
3 來自中證 500 的實證
實證中的回測期從 2010 年 1 月到 2019 年 1 月,考察 n 個隨機因子的選股能力。具體的:
1. 對於每一個因子,在每月末,隨機生成 500 支成分股在該因子上的取值並從高到低排列,選擇取值最高的 10% 做多、取值最低的 10% 做空,以該多空組合的收益率作為該期因子的收益率;
2. 計算回測期內每個因子的 t-statistic,如果某個因子的 t-statistic 為負,則把該隨機因子反過來使用;
3. 按照每個隨機因子 t-statistic 絕對值的大小,挑選絕對值最大的 k (≤ n) 個因子,並按照等權或者正比於它們 t-statistics 的絕對值大小配置因子;
4. 以最終多個因子的配置結果作為最終的選股結果,計算該策略在整個回測期內的 t-statistic;
5. 上述 1 – 4 步完成了 n 選 k(當 k = 1 和 n 時,問題分別變為 n 選 1 和 n 選 n)的一次實驗。為了得到 n 選 k 問題中 t-statistic 的經驗分佈並計算 5% 顯著性水平下的 t-statistic 的閾值,對於每一組 n 和 k,將上述 4 步進行 5000 次模擬,從而計算 t-statistic 的閾值。
舉個例子。下圖是當 n = 20,k = 3(即從 20 個隨機因子中選出樣本內 t-statistic 絕對值最大的 3 個,並按 t-statistic 絕對值大小配置)時,5000 次模擬得到的該策略的 t-statistic 的經驗分佈,其均值為 3.2,其 5% 顯著性水平下對應的 t-statistic(即該分佈中 95% 分位數)高達 4.16。

該結果表明,如果我們從 20 個源於業務邏輯(或者很多人樂此不疲的 data mining)的因子中選擇 3 個最好的來選股時,該策略的 t-statistic 要超過 4.16 才能認為這 3 個因子的選股效果不僅僅是運氣。
接下來看看不同 n 和 k 的取值下,5% 顯著性水平對應的 t-statistic 的閾值的情況。下圖比較了不同 n 取值下,n 選 1 和 n 選 n 兩種極端情況 —— n 選 1 代表僅有 selection bias;n 選 n 代表僅有 overfitting bias。下圖傳遞出以下資訊:
1. 隨著考察的隨機因子個數(n)的增加,策略 t-statistic 的閾值逐漸遞增;
2. 選 n 個因子比選 1 個因子有更高的閾值;按樣本內表現配置比等權配置有更高的閾值;它們說明 overfitting bias 比 selection bias 更容易在樣本內產生過擬合。

再來看看更一般的 n 選 k 的情況。下圖顯示了 n = 10、20、40 和 100 時,不同 k 取值下的選股策略的 t-statistic 閾值。在一般的投資實務中,嘗試 100 甚至幾百個因子並選擇其中某些好的是十分常見的。從該實證結果中可以觀察到:
1. 隨著 n 和 k 的增加,對於按照隨機因子 t-statistic 絕對值賦權配置的策略,它們的 t-statistic 閾值遞增;
2. 隨著 n 的增加,等權配置和按因子樣本內表現配置的效果越來越接近;
3. 對於等權配置因子的情況,能夠觀察到策略的效果並不隨 k 遞增;比如當 n = 10 時,t-statistic 的閾值隨 k 先增大後減小。

上述實證結果中,最有意思的大概是第三條。 對於等權配置的情況,在一開始,使用更多的因子可以降低策略的波動率,從而提升 t-statistic 的閾值;而一旦因子個數超過最優值,越來越多排名靠後的因子被選入,它們會降低策略的收益率,從而降低 t-statistic 的閾值。 這是在因子投資實務中需要考慮的問題。
從圖中可以看到,對於實證中考察的最極端情況,即“從 100 個因子選 10 個最好的”,僅僅靠運氣,以隨機因子構建的策略在中證 500 成分股的樣本內回測中就能取得高達 7 以上的 t-statistic 閾值。Data mining 造成的 selection bias 和 overfitting bias 不容小視。
4 結語
近年來,海外學術界越來越意識到 multiple testing 造成的因子分析中 data mining 的問題。一些先進的統計手段被提出以幫助鑑別哪些是真正有效的因子,哪些僅僅是運氣。這些文獻包括《出色不如走運(II)?》中介紹的那些,以及本文提及的 Novy-Marx (2015)。
在 empirical asset pricing 和 factor allocation 方面,我們都是 data mining 的好手。拿來一個因子,如果不好使,可以對它進行差分 —— 美其名曰增長率;再不好使,二階差分 —— 美其名曰加速度;還不好使,行業中性、市值中性試一下、用各種其他因子迴歸得到殘差再試一下;對於選出的因子,等權配如果效果不理想,可以按照事後夏普率配一下;還不理想?使用滾動視窗進行動態因子擇時……
誠然,對於有嚴謹金融邏輯的因子 —— 比如 ROE —— 我們沒有必要把它和一幫其他“邪門”因子一起比較,然後要求 ROE 也有非常高的 t-statistic,這是對統計手段的走火入魔。但是, 對於很多純粹靠 data mining 加工出來的因子,本文使用隨機因子的實證結果定量說明了僅靠運氣就能夠達到的效果,從而幫助判斷選股因子是否真正有效。
While one should combine multiple signals they believe in, one should not believe in a combination of signals simply because they backtest well together.
感謝閱讀,祝各位新春快樂!節後見。
參考文獻
- Novy-Marx, R. (2015). Backtesting strategies based on multiple signals . NBER Working Paper, No. 21329.
原創不易,請保護版權。如需轉載,請聯絡獲得授權,並註明出處,謝謝。已委託“維權騎士”( 維權騎士_免費版權監測/版權保護/版權分發 ) 為進行維權行動。