將均值變異數優化擴展到 fama 五因子
我是量化金融的新手,因為我不是數學家,所以我正在使用 python 來嘗試理解它。
網際網路上有許多解釋均值變異數優化的部落格,但沒有人將這些範例擴展到 fama french 因子並在該世界模型下對其進行優化。
這就是我想要理解的。
均值變異數優化:
我知道在矩陣表示法中,以下對於均值變異數是正確的:
mu = w * r.T sigma = np.sqrt(w * C * w.T) where: w = matrix of weights r = matrix of returns C = variance covariance matrix of r
然後,您嘗試通過調整優化函式中的權重來最大化回報或最小化變異數。
在世界因素觀下,
r = B * f + s
其中:r = matrix of returns B = matrix of factor exposures f = matrix of factor returns and s = matrix idiosyncratic returns
在這種情況下,回報將再次
mu = r * w.T
然而,sigma 似乎沒有考慮到描述風險的因素不止一個這一事實。您如何擴展均值變異數以考慮其他因素?
是否類似於為每個因素及其與回報的共變異數找到一個 sigma,然後將它們組合起來?
sigma = np.sqrt(factor1_weight * Covariance(return,factor1) * factor1_weight) * np.sqrt(factor2_weight * Covariance(return,factor2) * factor2_weight) ??
任何幫助將不勝感激,也許還有解釋。
非常感謝!
似乎您可以將共變異數建模為因子模型。我在量化股票投資組合管理中找到了它。
CoVar = (weights * B * V * B.T * weights.T) + (weights * D * weights.T)
其中:R = 返回矩陣,B = 資產暴露於因子,V = 因子共變異數,矩陣 D = 特定變異數對角矩陣。
你有點混合模型。
基於 MPT 的均值變異數優化表明,在風險和回報之間存在權衡,並通過一組提供最佳“風險調整”回報的資產相關性。
Fama-French 模型是 APT 的擴展,它斷言安全回報是對三個(或五個)因素的安全敏感性的產物。即,鑑於證券對各種權益因素的歷史敏感性 +/- 一些 epsilon,我們可以確定證券的回報。
MV 中包含的回報通常只是一個輸入,如 vol 或共變異數矩陣,用於為每個目標函式輸出一組“最佳”權重。
您可以使用您所描述的形式使用您喜歡的任何 FF 模型來計算您的安全回報,然後使用生成的安全回報顯式計算共變異數矩陣。然後,您可以在 MV 常式中使用這些收益和共變異數矩陣。
也就是說,這取決於您打算如何使用它,但這有點像噪音練習。不用說,您得到的權重現在取決於兩個模型,就實際交易而言,這兩個模型都不是特別穩健。例如,FF5 在預測證券回報方面比很多東西都要好,但你可能會看到與實際每日或每月回報流的巨大偏差。使用 MV 進行投資組合建構決策高度依賴於輸入的質量,其中之一,共變異數矩陣,對輸入(例如,回報)也高度敏感。
高溫高壓