索引複製
我是大學一年級的學生。
我正在嘗試複製索引,例如 SP500。但是我沒有進行完全複製(通過購買所有股票),而是想知道:我如何選擇 N% 指數股票的投資組合以最小化投資組合的波動性
我想我可以通過使用共變異數矩陣來做到這一點,並使用 Python 進行優化算法。
你認為這是最好的解決方案嗎?
非常感謝您的寶貴時間,
最好的
我同意這樣的評論,即這是一個奇怪的目標,最小化跟踪錯誤更有意義。然而,這個明確的目標是可以解決的。
你所擁有的看起來像是一個混合整數程序優化問題,因為我們實際上有中間變數,它們將權重乘以 0 或 1。你想要的甚至可能是一個多目標 MIP,如果你隨後最大化收益保持變異數不變;但是,這會更複雜,並且您已經有足夠的工作要做。
您的單一目標 MIP 如下所示: $$ \begin{align} \min &~w^T\Sigma w \ \text{s.t.} &~||w||_0\leq N^* && \text{(constrain non-zero weights)} \ &~||w||_1=1. && \text{(weights sum to 1)} \end{align} $$ 在哪裡 $ N^* $ 是一個數字而不是百分比。
此外,您應該意識到 IP 和 MIP 優化使用啟發式,因為它們是 NP 難解決的問題。因此,您可能無法確保最優性,求解可能需要比您預期更多的時間,並且解決方案可能不是非常穩健(即更改輸入或約束可能會導致非常不同的解決方案)。
您最好諮詢 or.SE(我知道,這可能會讓人昏昏欲睡……但他們是優化專家)以及閱讀 math.SE 的這篇文章。
除了上面的評論,想知道這不是 LASSO 回歸直覺地解決的問題嗎?
https://www.statisticshowto.com/lassoregression
目標是最小化目標函式:
本質上,您添加了一個懲罰項(上面的 lambda)來獲取回歸權重。所以 Y 將是您的標準普爾收益系列,X 將是您的股票收益,而 Beta 將是您的股票權重。在 lambda = 0 時,這將是一個不受約束的 OLS 回歸,其中 beta 將同樣是指數中不受約束的股票權重。
但是隨著 lambda 的增加,為股票分配權重的成本函式(後半部分)會增加。因此模型將開始容忍一些跟踪誤差(基本上是目標的前半部分)以降低成本函式。該模型將開始將最冗餘的變數(即在這種情況下最不重要的股票的權重)縮小到零。因此,隨著 lambda 的增加,您的 N 數量(beta > 0 的股票數量)將開始減少。
兩個警告浮現在腦海:
- 該模型可以確定股票的非負權重,即最佳複製將是賣空該股票!所以你可能想對你的 beta 施加一些非負約束。
- 該模型可以是“高變異數,低偏差”。假設您想用 50 隻股票複製標準普爾 500 指數。因此,您可以計算指數及其成分股的所有最後 600 萬次回報。對於 500 隻股票來說,這只是 130 天,即維度數量超過觀察值。LASSO 模型提出了“最佳 50”。但是,如果您在一個月後返回並重新執行該練習,您可能會發現 50 與一個月前的 50 包含許多不同的股票。兩組股票之間的跟踪誤差可能完全不同。因此,兩者都可能是索引的“良好”複製——只是在任何時間點“最佳”的集合可能會隨著時間的推移而頻繁更改。
希望這可以幫助。