使用強相關資產進行優化
我有以下設置:
允許交易的資產包括 1 個銀行賬戶、1 個不支付股息的股票和 19 個到期日為 30 天的看漲期權。我想找到一個持有期為 30 天的最佳靜態投資組合。目前股價為 150 美元,19 份看漲期權的執行價格從 115 美元開始,以 5 美元為步長(即 115、120、125 ….)
因此,最小化問題是:
$$ \text{minimize: }x^T\Sigma x\\text{subject to: }\mu^T x=r\x^TS\le w $$,其中第二個是預算約束,第一個是預期回報等於 $ r $ . $ S $ 是價格向量,由持有期開始時的 21 種可用資產的價格組成(1 個銀行賬戶、1 個股票、19 個看漲期權)。 我已經確定了共變異數矩陣 $ \Sigma $ 和 $ \mu $ 使用蒙特卡羅方法。更具體地說,我假設股票價格遵循幾何布朗運動並產生大量樣本路徑。使用這些路徑,我還能夠模擬期權的收益。
**問題:**通常我會
quadprog
在 MATLAB 中使用內點法來解決這個問題。然而共變異數矩陣 $ \Sigma $ 在這種情況下是病態的,因為看漲期權和股票是由相同的布朗運動驅動的。(我有一個相關矩陣,幾乎所有條目都在 0.8 到 1 的範圍內,共變異數矩陣的條件數為 $ 10^6 $ .) 我還能相信 MATLAB 的結果嗎?我該如何處理病態?重新縮放或預處理有幫助嗎?
這個答案將嘗試概述我在過去幾年中遇到的所有不同可能性,包括缺點。但首先,讓我概述一下這個問題。
為了理解這個問題,第一個簡單的起點在這裡。作者觀察到的與您觀察到的相似。“優化就是誤差最大化”是一個經常被引用的名言。
這是為什麼?
要建立一些直覺,請查看 MV 問題的無約束解決方案。它與變異數共變異數矩陣的倒數成正比 $ \Sigma^{-1} $ . 您可以通過將一階導數設置為零並求解權重來看到這一點。
光譜的作用 $ \Sigma $
如果您查看的特徵值 $ \Sigma $ ,當它們接近時會出現問題 $ 0 $ . 也就是說,因為逆 $ \Sigma^{-1} $ 具有反特徵值,這反過來意味著在解決問題時,某些方向被極大地放大了。此外,這些方向非常不穩定,這意味著在更新時 $ \Sigma $ 在稍後的時間點,方向以及您的解決方案可能會隨著時間的推移而發生很大變化,並且解決方案是不穩定的。
==補救措施==
請注意,以下所有方法都會導致某種資訊失去。另外,我不喜歡其中一種方法。
1. 搞亂頻譜
更直接的事情之一:如果特徵值是,說 $ <10^{-6} $ , 設置為 $ 10^{-6} $ 並重新計算變異數共變異數矩陣。(如果 $ \Sigma = E^{T} \Lambda E $ 有自己的依據 $ E $ 和頻譜 $ \Lambda $ , 你可以定義 $ \hat{\lambda}_i = \text{max}(10^{-6},\lambda_i) $ 然後計算 $ \hat{\Sigma} = E^{T} \hat{\Lambda} E $ .
(提示:您可以通過重新調整來強制總變異數相同,但差異不應很大)。
請記住,有很多方法可以做到這一點,但這是我認為最直接的一種。更困難的是你接受你的特徵值有多小的問題……
2.因子模型
如果我們能表達 $ N $ 資產類別 $ F $ 因素,這實際上是一種降維。如果去掉異質部分並且因子的變異數共變異數矩陣是穩定的(通常,因子的想法是它們的相關性不太高)。你需要重新表述你的問題
3. 收縮估計
在數字中,有一個常見的技巧是“添加對角線”( $ \hat{\Sigma} = \Sigma + \lambda \mathbb{1}) $ 使頻譜遠離 $ 0 $ . 現在,如果我們來自統計數據,則估計器的總誤差可以分解為偏差加變異數分量。這個想法是通過採取偏差來進一步減少估計誤差(您實際上可以使用上面提到的 ansatz 併計算 $ \lambda $ 如果我沒記錯的話)。看看收縮估計。
4. 預期收益估計——Black Litterman 方法
使用BL 方法的一個發現是結果更穩定。這是因為預期(先前)收益是通過市場權重計算的 $ w_M $ 和變異數-共變異數矩陣: $ \mu \approx \Sigma w_M $ . 此外,您可以通過非常啟發式的論點看到,如果您的解決方案 $ w \approx \Sigma^{-1} \mu $ 和 $ \mu \approx \Sigma w_m $ 那麼這將是穩定的,因為想法是兩者都以某種方式“取消”。我知道這在數學上絕不是正確的,只是為了給你一種感覺。
我確信這份清單絕不是完整的。還要看看健壯的優化。我沒有在這裡介紹這個。