❶ 什麼是多因子選股
市場上的投資者,不管是價值投資者,還是投機者,或者短線交易者,都會根據某些因子來判斷股票的漲跌。當有一群交易者同時採用某個因子的時候,就造成該因子有效。
多因子模型是一類重要的選股模型,它的優點是能夠綜合很多信息最後得出一個選股結果。多因子模型的表現相對來說也比較穩定,因為在不同的市場情況下,總有一些因子會發揮作用。因此,在量化投資界,不同的投盜者和研究者都開發了很多不同的多因子模型。各種多因子模型核心的區別一是在因子的選取上,二是在如何用多因子綜合得到一個最終的判斷。
❷ 什麼是多因子選股
多因子策略是一種應用十分廣泛的選股策略,其基本思構想就是找到某些和收益率最相關的指標,並根據該指標,建一個股票組合,期望該組合在未來的一段時間跑贏或者跑輸指數。如果跑贏,則可以做多該組合,同時做空期指,如果是跑輸,則可以做多期指,融券做空該正與向阿爾法收益組合,賺取反向阿爾法收益。多因子模型的關鍵是找到因子與收益率之間的關聯性。
溫馨提示:以上內容僅供參考,投資有風險,入市需謹慎。
應答時間:2021-09-30,最新業務變化請以平安銀行官網公布為准。
[平安銀行我知道]想要知道更多?快來看「平安銀行我知道」吧~
https://b.pingan.com.cn/paim/iknow/index.html
❸ 金融模型——多因子模型歸因
本文主要詳細介紹怎麼使用多因子模型對組合資產進行歸因分析,歸因分析的內容為收益歸因和風險歸因。
上圖列出了由馬克維茨均值方差理論引出的三條路,其一為資產配置,我們本文不涉及,其二為資本資產定價(CAMP)的一條路,其三為套利定價理論(APT)的第三條路。第二條路和第三條路為本文討論重點。
第二條和第三條路都是屬於多因子分析的范疇,第二條路是知道因子收益的時間序列,通過時間序列上的回歸去求因子暴露,為的是解釋個券收益的組成部分。第三條路是知道截面因子暴露去回歸截面上的因子收益,為的是挖掘有效因子,找到這個因子帶來的超額收益。
使用多因子模型進行投資組合的歸因分析,也主要包括基於凈值的歸因方法和基於持倉的歸因方法兩大類。基於凈值的歸因方法是走的第二條路,比較簡單。基於持倉的歸因方法走的是第三條路,比較復雜。
兩者的區別主要表現在三個方面:
1、基於凈值的歸因方法是時間序列回歸,基於持倉的歸因方法是截面回歸;
2、基於凈值的歸因方法主要來自CAMP(資本資產定價)模型,基於持倉的歸因方法主要來自APT(套利定價)理論。
3、基於凈值的歸因方法要求比較簡單,數據較少且較容易獲取,僅需要組合的凈值數據以及因子收益序列即可進行分析。而基於持倉的歸因方法需要知道具體的組合權重、個股因子暴露等數據,來確定組合的因子暴露。
下面詳細介紹兩大類方法。
在介紹兩個方法前,我們下面給出項目的框架如下圖:
基於凈值的歸因方法,邏輯上很簡單,它來自資本資產定價模型,用所有因子收益的時間序列去回歸組合收益的時間序列。這樣做的目的是,是把組合的收益分解在各個特定的因子上,認為組合或者個股的收益都可以被給定的特定因子收益加個股特質收益來解釋,解釋不了的部分直接扔給殘差。這里要特別注意,此時特定因子收益在一個時間截面上是一個常數,對多所有股票都一樣,這與另一種方法基於持倉的歸因方法有本質的區別。
基於這種方法,人們開發出的模型很多,如下:
1、Fama-French三因子模型
2、Carhart四因子
在 FF 三因子模型的基礎上,引入動量因子 UMD (高收益率股票組合與低收益率股票組合 收益率之差)
3、Fama五因子模型如下:
我們這里以Fama五因子模型為例,詳細介紹這種方法的實現。
Fama五因子模型如下:
因為本文主要是項目實施前的參考文檔,所以在此不介紹Fama五因子模型怎麼得來的。只需要知道Fama五因子模型是上面公式。
其中,
表示資產 i 在時間 t 的收益率,
表示時間 t 的無風險收益率,
表示時間 t 的市場收益率,
即為時間 t 的風險溢價,
為時間 t 的市值因子的模擬組合收 益率(Small minus Big),
為時間 t 的賬面市值比因子的模擬組合收益率(High minus Low),
為時間 t 的盈利因子的模擬組合收益率(Robust minus Weak),
為時間 t 的投資因子的模擬組合收益率(Conservative minus Aggressive),
為經過正交化 調整的估值因子模擬組合收益率,其餘各變數含義與三因子模型相同。
均為回歸待擬合系數,𝜖_{𝑖𝑡} 為殘差項。
有了模型,下面我們具體去實現。
我們遵循機器學習項目的步驟,將Fama五因子模型歸因分析的實現,歸結為以下流程。
數據准備>>數據預處理>>構造Fama五因子>>數據分析>>回歸分析>>歸因分析
(1) 股票池:全A股,在每個時刻t均剔除ST、PT股票,剔除停牌及上市未滿一個月的股票,剔除 BP 值為負的股票;
(2) 時間參數:2010年1月至2018年1月;
(3) 因子對應指標:
a) 市場因子指標:上證 指數;
b) 規模因子指標:總市值 = 每股股價 × 發行總股數;
c) 估值因子指標:賬面市值比 BP,即市凈率的倒數;
d) 盈利因子指標:扣除非經常性損益、攤薄的 ROE;
e) 投資因子指標:當期總資產相對上期總資產變化率;
f) 無風險利率設為零,個股收益率用 Wind 後復權收盤價核算;
g) 以自然月為頻率,計算因子值並重新分層計算對應五因子收益率。
1、所有數據按同一時間,同一股票對齊,注意這里的財報指標相關的時間要使用財報公布時間不能使用財報報告期。
2、第一步產生的NA值,用前一個值去填充(因為這里回歸的方式是時間序列回歸)。
Fama 和 French(2015)原始的方法,是沿著某兩個因子維度將股票分成 2x3=6 個組合(圖表 2,3)。在這 2 個因子維度中,其中一個固定為規模,按照中位數分為兩層, 另外一個為 BP、盈利或者投資因子,按照 30%,70%分位數分成 3 層(圖表 3)。這樣, 我們將得到 3 個 2x3 的股票資產組合(規模與 BP 兩維度分組、規模與盈利兩維度分組、 規模與投資兩維度分組)。
因子的構造方法以及計算細節見下面表 1 和 2。在圖表 2 中,我 們用 2 個字母來標記股票的分組,第一個字母表示規模大(B)或小(S),第二個字母在 BP 分層中,表示 BP 高(H)、中(N)、低(L);在盈利分組中表示強(R)、中(N)、弱(W);在投資 分組中,表示投資保守(C)、中(N)或者強(A)。
表1
表2
最後我們得到除了市場因子以外的 4 個因子 收益率為:
(1) SMB (small minus big):小市值組股票減大市值組股票平均月收益率;
(2) HML(highminuslowBP):高BP組股票減低BP組股票平均月收益率;
(3) RMW(Robustminusweakprofit):高ROE組的股票減低ROE組股票平均月收益率;
(4) CMA():總資產增長率低組股票減總資產增長率高組股票平均月收益率。
數據分析部分主要分析五因子組成數據的特性。其主要分析四部分內容:
1、五因子的均值,方差等summary統計。這樣能說明那個因子在市場的收益中起到作用。
2、求均值是否顯著異於零的假設檢驗對應的 t 統計量。目的是檢驗哪一個因子最能帶來超額的收益。
3、五因子累計收益分析,一般是規定一個日期為起始日期,形成五因子的累積凈值曲線,目的是用來分析五因子在歷史上和現在的表現,和預估未來的表現。後面歸因分析中會用到這里的累積。
4、五因子間的相關性分析。其目的是提出多吃公線性,用作下一步回歸用。
這里可以剔除多重共線性,也可以不剔除,因為Fama在原始論文中就發現了了五因子中存在多重公線性,但是Fama並沒有處理這個問題。所以這里也可以不處理。
去除多重共線性的方法為:
分別用4個因子對另一個因子進行線性回歸,可以找到共線性因子,找到共線性因子後。
用四個因子去回歸這個共線性的因子,生成的殘差,作為這個因子的新值,這樣既做可以去掉共線性,也因為是線性變化,不改變因子的方向。這種去除共線性的方法,使用與所有的多因子模型。包括APT多因子模型。
我們有了Fama五因子,將組合的收益時間序列作為因變數,直接進行回歸,即可求出模型:
在求出模型的同時,求出回歸的可決系數,檢驗模型的因子解釋的有效性。
我們由五因子的累積凈值走勢圖,可以分析出歷史和當前那個因子起到主要作用,通過上面方差的回歸系數,我們可以發現我們組合的收益來源,如果組合的主要收益來源和當前五因子收益表現最好的不一致,就要考慮進行調倉,高配表現好的因子。這就是基於凈值的收益歸因。
既然這里目標變數是組合的收益率,那麼有上面模型,我們可以由因子的風險矩陣求出組合的總風險,且每一個因子的風險貢獻都可以求出,道理和風險預算模型一致。這就是基於凈值的風險歸因。
額外的,在這個模型可以用來選股,我們選擇 很小的股票和資產,因為這種股票和資產收益和風險可以被五因子所解釋,風險小, 大的說明還有很多不能被五因子解釋的部分,風險也大。
所以,我們使用Fama多因子選股的時候,只需用五因子回歸市場上每一個股票,對生成的殘差 有小到大排序,選擇殘差 小的股票。
基於持倉的歸因方法,邏輯上比基於凈值的歸因方法要復雜的多,它來自套利定價模型(APT),用所有所有股票截面的因子的暴露序列去回歸所有股票的收益序列。這種做法的目的是找到個股收益和因子收益之間的關系,尋找有效因子,通過有效因子來選擇好的股票。
這種做法把重點放在了因子挖掘和最後資產的打分模型的選擇上。
最後的模型打分,最後主要開發出來以下模型:
分層打分法、簡單線性回歸、隨機森林、邏輯回歸、支持向量機回歸。
本文以簡單線性回歸為例,詳細介紹這種方法歸因分析的實現。
我們還是遵循機器學習的項目流程,來進行實現:
數據准備>>數據預處理>>單因子有效性檢驗>>數據分析>>回歸分析>>歸因分析
(1) 股票池:全A股,在每個時刻t均剔除ST、PT股票,剔除停牌及上市未滿一個月的股票,剔除 BP 值為負的股票;
(2) 時間參數:2010年1月至2018年1月;
(3) 因子對應指標:
a) 市場因子指標:上證 指數;
b) 行業因子指標:申萬一級行業指數。
c) 風格因子指標:市值size,PE,EBITA.(這里以這三個因子為例,APT框架的優勢就是因子可以隨便加)
1、所有數據按同一時間,同一股票對齊,注意這里的財報指標相關的時間要使用財報公布時間不能使用財報報告期。雖然這種方法是截面回歸,但是要研究每個因子的有效性,所以必須列出各個因子的歷史時間序列數據。
2、第一步產生的NA值,用截面該因子的均值填充。(這與上面的做法不一樣)。
3、若因子NA比率超過30%,則舍棄該因子。
4、對每個因子的暴露(就是因子值)分布分析,剔除3-sigma以外的公司。(最後回歸用,因為回歸對極值敏感)
5、z-score標准化所有因子。(最後回歸用,去量綱)
通常我們總認為行業和市值兩個因子對股票的收益影響較大,所以在單獨分析其他因子時,要把這兩個因子暴露引起的收益剔除掉,也就是所謂的因子中性化。經常使用的方法是,用因子暴露作為因變數,用行業因子和市值因子去回歸因子暴露,得到的殘差就是中性化後的因子。
在這個過程中,因為行業是類別變數,不能直接進行回歸,要引入啞變數的方式進行回歸。
注意:因子暴露此時已經變成中心化的,所以一下處理全在中性化因子的基礎上。
整個模型最麻煩的一步,也是最瑣碎的一步。
在剔除了極端公司和填充了因子NA值後,我們對每個單因子進行有效性檢驗。做法有以下幾種:
1、IC值檢驗
2、RIC值檢驗
3、IR檢驗
4、方差分析(ANOVA)給出p-value
5、隨機森林
這里我們要先再確認下因子收益和因子暴露的概念:
因子暴露是因子具體的值,例如60000.sh(浦發銀行)的PE(因子)值為5.62.納悶普法銀行在因子PE上的暴露就是5.62。
因子收益是用截面因子暴露去回歸個股收益時產生的各項因子的回歸系數。
為什麼這樣定義,其實原因來自上面的基於CAMP模型多因子分析。
我們有各個因子的暴露值後,可以對各個因子進行單因子檢驗,我們求當期(t期)的因子暴露值和下一期(t+1期)的個股收益的相關性數,得到當期(t期)的該因子的IC值:
其中:
這樣求出來的IC值的絕對值越大越好,求出所有因子歷史一段時間的IC值走勢。因子IC的絕對值長時間處於很大的值,說明這個因子長期有效性很強,若偶爾絕對值很大,說明因子偶爾有效,也要保留,我們剔除那些IC長期很小的因子。認為這些因子有效性不強。
RIC的用法與IC的用法完全一致,只有RIC的定義不一樣,我們求當期(t期)的因子暴露值和下一期(t+1期)的個股收益的秩相關性數,得到當期(t期)的該因子的RIC值:
其中:
RIC使用方式和IC一致。
從上面使用IC和RIC時,不是很方便,我們要看IC和RIC長期表現,這種表現是定性看的,我們需要構造一個量,定量的去衡量因子的長期表現。我們很簡單的一個想法是:用IC的均值來衡量IC的長期表現好壞,用IC的標准差來衡量表現的穩定性。
於是我們綜合兩個在一起,構造IR如下:
這里的符號IR與信息比率是一樣的,因為兩者是一個東西,可以通過數學推導得到。
我們選取IR高的因子,丟棄IR低的因子。
方差分析是用來分析多組數據之間均值是否一樣的統計分析方法,當檢驗的p值大與0.05是,說明多組之前的均值沒有差異,當p值小於0,05 時,說明各組之間存在差異。對於選因子來說,我們希望每組之前有差異。所以p-value需要小於0.05.
P值的計算方式很復雜,其思想是用組內方差處於組間方差構造統計量,進行F檢驗。可直接調用python方差分析函數。
本步主要查看上一步選出的各個因子之間相關系數,為解決下面回歸中的兩兩共線性問題,我們要合並部分因子,我們設置閥值0.6.認為相關系數在0.6 以上的因子看作同一組因子。
對同一組的因子,我們採用IC_IR加權的方式合並這些因子,將其合成一個因子。
其具體加權方式為: 。
這樣我們就得到了組合因子。但是這一步雖然剔除了兩兩間的共線性,但是未能剔除多重共線性。
本步對上面篩選出的因子,以個股收益為因變數驚喜建模,常用模型為多元線性回歸,獲得如下回歸方程:
其中: 是股票n在因子k 上的暴露。 為因子k的因子收益, 為股票n的殘差收益,既股票特有收益率。
由這個回歸方程,用最小二乘發,我們可以得到因子k的收益 。
進一步的,若現有一組合P,則這個組合P的收益率為:
其中: 為組合P中股票n的權重。
所以組合在因子k上的暴露設為 為:
所以此時,我們知道了組合的因子暴露,各因子的收益,所以可以得到組合裡面個因子的收益貢獻 :
所以,此時的多因子模型收益歸因歸因。
這里的風險歸因分析和Barra一模一樣:
由上面回歸模型得到(將其向量化表示):
其中:r為股票的收益向量,X因子的暴露矩陣,f為股票的因子收益向量,u為股票的特質收益。
則我們的組合P的波動率為:
其中: 為所有因子收益學列的協方差矩陣,𝛥為股票特質收益序列的協方差矩陣。w為持倉權重。具體推導詳見馬克維茨均值方差理論。
有了組合的風險(既波動率),就可以得到以下三個量:
組合的系統風險:
組合的特質風險:
因子𝑖對總風險的貢獻比例為(推導詳見風險預算):
以上就是多因子模型在風險歸因上的應用。
傳統的這一版多因子,另一大作用是用來選股的,我們得到以下回歸方程的時候。
最簡單的,可以把最新一期的因子帶入到回歸方程,計算出的個股的的未來收益,將其線性映射到1到100,可以直接作為分數,我們選擇分數高的股票即可。一般都是直接做前10%,做空後10%獲得超額收益。