首先談談什麼是alpha,什麼是beta。

在MIT MFE的某個課上有一堂課:

一個Portfolio 的收益如果對於市場因素做回歸的話,比如:

R_p=eta X+alpha

我們定義beta為市場的部分,而alpha定義為與市場無關的部分。

這個「強詞奪理」的定義其實已經用到了線性回歸的思想。回歸不僅僅是一次函數y=kx+b這麼簡單膚淺,以線性代數的視角去看的話,一個量對另一個量作線性回歸本質上探討「解釋關係」,但注意兩點,這種「解釋關係」

1.只是數量上的解釋關係,沒有內在的邏輯。

就像神經網路的「解釋關係」似乎很好,但內在的原因很難被說明白。又比如,某商店的店主發現泳衣的銷量和雪糕的銷量具有非常好的線性相關關係,但實際上只是因為都是夏天產品的緣故,這種線性相關的例子,和長得帥的程度正相關於追求他的女孩子的數目是完全不同的。說簡單點,一個量能預測另一個量,並不存在一定的因果邏輯,當然也有隱變數的說法(例如夏天),當然了,再深奧點,量子力學的某些學派甚至要聲稱,一切以數據來評判的話,這個世界本來就不存在邏輯因果。

2.得到的係數和關係都是線性相關關係。

舉個例子,(x,y)滿足 x^2+y^2=1 ,假設有很多樣本點(xi,yi),Pearson線性相關係數應該肯定是接近零的,但很顯然,y嚴格且僅僅與x相關。

現在聊回來,線性代數中講究Hilbert空間,萬事萬物都可以視作向量。

談到向量自然會想到平面向量基本定理啊,有這個思想的數學那就太多了啊,Taylor展開,Fourier展開,Laplace展開,以及各種回歸了,隨便哪一個拿出來對理科生來說都是如雷貫耳。

這裡面有個最簡單的展開就是多遠線性回歸了。如開頭最簡單的例子所說,公募基金經理們關注資產組合的收益率與市場的相對值,就算虧了,但是比大盤虧得少,這也是可以接受的。所以自然就希望 R_P 不能嚴格與市場掛鉤,一定要有alpha的那一部分。

R_p=eta X+alpha 這個公式實際上是在說,資產組合的一部分會受到市場X的影響,影響的程度用beta來衡量,MD聽說同事的老婆也想來中金公司,開玩笑說,那不好啊,你們家的財產跟中金的beta又變大了,說的就是這個意思。

我們當然希望能找到一些有效的alpha,並幫助我們有效的預測資產組合的收益率 Rp .

於是乎,多因子模型粉墨登場。

因為多一個公式,少一個觀眾的理論,我們無法避免公式,但可以簡化公式,把理論力學課中的張量(tensor)計算符號我們可以借鑒過來:

sum_{i}{a_i}{b_i} 可以簡記為 a_ib_i ,也即有相同的下標表示要求和。

這下我們來寫公式就方便多了:

R_p=w_ir_i ,i=1,2,...,n. n 是 number of assets. 通常是股票的數目。

R_p 資產組合的收益, w_i 是每個asset的權重, r_i 是每個asset的收益率。

r_i=X_{ij}f_j+u_i ,j=1,2,...,k k是number of factors. 通常是選取的因子數。

以多元回歸的視角來說,X_{ij} 是回歸係數,代表了 r_i 可被 f_j 解釋的程度,行裏話講名字就多了去了,比如風險暴露。(這裡吐槽一下這眾多的名稱,做學問請不要隨意取名,要取就要取得恰如其分且統一沿用)。

於是乎,

R_p=w_ir_i=w_i(X_{ij}f_j+u_i)=w_iX_{ij}f_j+w_iu_i=X_j^Pf_j+w_iu_i

可能有人已經明白,張量計算符號的好處不僅僅是為了省掉一個sigma而已。

然而我看過太多的券商的金工文章抄來抄去都沒抄明白一件事,總是在大談同方差性和異方差性的問題,讓人糊裡糊塗。依我看,喜歡說專業術語的矇混過關的,基本都是抄別人的。

這裡面要談隨機誤差和系統誤差。也即方差(variance)與偏差(bias)的關係。

這個詞,我高中的時候物理課本上接觸過,很可惜那個時候老師自己也搞不明白,我也就一直沒搞懂。

我來舉個例子吧。對於一個預測模型,y=sin(x)。實際的樣本觀測值由於誤差的原因肯定不會是這樣的:

代碼:

x=np.random.rand(1000)
y1=np.sin(x)
plt.plot(x,y1,r*)

而很可能是這樣的:

error=np.random.norm(size=1000,loc=0.0,scale=1.0),

代碼:

error=np.random.norm(loc=0.0,scale=1.0,size=1000)
y2=np.sin(x)+error*0.2
plt.plot(x,y2,r*)

這個你會發現每個樣本點的誤差都是正態分佈生成的,也就說,模型本身是準確的,但是由於測量的隨機誤差,總是會有一些差別,但這個差別是同性的,所謂的同方差性。這個差別,我們給他定義,叫做隨機誤差。

但如果模型有些不準確呢?比如研究的到的模型是y=sin(x),但這個物理現象的背後的規律應當是y=0.99*sin(x),圖的差別就又不一樣了。你來感受一下:

這個時候誤差會在某些點很大,但某些點很小取決於樣本點。這是所謂的異方差性。這是由於模型本身不夠完美導致的。

我記得知乎上有人討論過方差(variance)和偏差(bias)的區別,我認為是類似的。我借用過來:

機器學習中的Bias(偏差),Error(誤差),和Variance(方差)有什麼區別和聯繫??

www.zhihu.com
圖標

因此,一個合理的多因子模型的寫法應該是這個樣子的:

R_p=w_ir_i ,這是定義沒有問題。

r_i=X_{ij}f_j+u_i 應當改為:

r_i=ar{r_i}+epsilon_i=X_{ij}f_j+u_i+epsilon_i ,

其中 epsilon_i 的具有同方差性,而 u_i 是要成為完美模型還有待完善的部分,可以稱作偏差,或者模型的偏見bias, ar{r_i} 是完美模型的預測收益率, r_i 是真實的收益率。

如果用OLS(最小二乘法)來確定 回歸係數f_j (注意 r_iX_{ij} 都是已知的),可以直接套用公式:

Andrew.Ng在ML課程裏也談到了,多元線性回歸的參數估計公式:

	heta=(X^TX)^{-1} X^TY ,跟這個是一致的。

然而,這是沒有考慮bias的情況,如果有異方差的 u_i 項存在的話,應當使用加權最小二乘法,以保證殘差項總是同方差的。這裡可以參考文檔的講解。

【圖文】多元線性回歸模型常見問題及解決方法_百度文庫?

wenku.baidu.com

我們直接套用廣義最小二乘法:

國君的研報也就說了這麼回事:

到這裡我們也就得到了多因子模型收益率 f_{j} 的估計量了。

在談到下一部分內容之前,我特別要提一下MIC這個概念。全名,Maximum Infromation Coefficient.這個概念是個很新潮的概念,用來探索兩個變數之間的相關關係的很好的一個量。是由哈佛大學的一個生物系的哥們弄出來的,發了兩篇CNS吧,好像他老婆也跟著沾光了,也發了一篇理論的Journal of Machine Learning.

這個MIC什麼意思呢,他解決了前面提到的線性相關係數的侷限性。要知道,這個世界存在線性相關關係的情況真的是太少了(關係也可以理解為一種映射,一種變換,一個矩陣),MIC的定義決定MIC的唯一標準是這兩個量真的很相關。譬如他的論文裏就提到了,x 與 sin(x)在有隨機誤差的樣本總體的情況下依舊能夠判別出來,這兩個量是有很大的MIC值的。

但是你用線性相關係數就看不出來這層關係。

這個事情的前提是,我們選好了一個靠譜的多因子模型了。你當然可以直接使用barra的模型,但是即便是barra的模型,我們依舊可以在那基礎上改善殘差項,分裂出新的alpha因子出來。

另外一個很重要的方面就是因子之間的多重非線性,這個我們放在下一篇說。

推薦閱讀:

相關文章