程式

用於投資組合範數優化的嶺和二次規劃

  • October 8, 2020

很像這篇文章:https ://stats.stackexchange.com/questions/119795/quadratic-programming-and-lasso ,我正在嘗試將 RIDGE Penalty 集成到專用的二次求解器中。就我而言,我正在使用MATLAB 的quadprog。與 LASSO 不同,您可以消除約束形式中的絕對值並以線性形式重寫它們(有效地保持二次問題),而 RIDGE 則不能。這意味著為了有一個二次問題,我必須使用懲罰形式:

$$ RIDGE: \sum_{i=1}^{N} (y - x’\beta)^2 + \lambda \sum \beta_{i}^{2} $$

我的明確問題是通過增加 RIDGE Penalty 來最小化變異數。

$$ {\underset{w}{\arg\min}} \frac{1}{2} w’ \Sigma w \ + \lambda \sum w_i^{2} $$ $$ s.t. \ \sum_{i=1}^{N} w_i = 1 $$

基本上,我想在將權重相加為 1 的同時最小化變異數。金融中一個非常標準的問題。我的問題是:如何調整目標函式以使其包含懲罰?當使用像quadprog這樣的專用求解器時,您只能指定正定平方矩陣和未平方項的向量。使用下面的公式,然後指定 $ H $ 和 $ f $ . 連結:https ://www.mathworks.com/help/optim/ug/quadprog.html

$$ {\underset{x}{\arg\min}} \frac{1}{2} x’ H x \ + f’x $$

我可以修改 H (這是我的共變異數矩陣),但這會改變我的值的數量 $ w $ 矢量,或者我可以使用 $ f’ $ ,但這是未平方項。我需要實施 $ \lambda x’x $ 在我的目標函式中,等於 $ \lambda \sum x_i^{2} $ .

您分配的模型來自以下論文:

投資組合權重向量的嶺收縮應該或效果最好,而不是使用附加懲罰項,作為單獨的約束:

$$ {\underset{w}{\arg\min}} \frac{1}{2} w’ \Sigma w \ $$

$$ \begin{aligned} s.t. & \sum w_i^{2} \leq \delta^2 \ & \ \sum_{i=1}^{N} w_i = 1 \end{aligned} $$

在哪裡 $ \delta $ 與 $ \lambda $ . 換句話說,而不是增加 $ \lambda $ 為了使投資組合權重更小,你減少 $ \delta $ 達到同樣的正則化效果。

這就是為懲罰調整目標函式的意思。首先顯示的線性回歸公式更適合拉格朗日正則化方法,而您展示的優化(第二個)公式更適合正則化的約束優化方法,並且由於主要目標函式而轉移了對非線性優化的關注(投資組合變異數)我寫的是二次的,而兩個約束是線性的。兩種方法是等價的,因為它們之間是一一對應的 $ \lambda $ 和 $ \delta $ .

如果你堅持使用添加劑 $ \lambda $ 懲罰項,那麼目標將簡化為眾所周知的嶺共變異數矩陣的封閉式解析解,其中 $ I $ 是一個單位矩陣,大小為 $ \Sigma $ .

$$ {\underset{w}{\arg\min}} \frac{1}{2} w’(\Sigma + 2\lambda I)w $$ $$ s.t. \ \sum_{i=1}^{N} w_i = 1 $$

引用自:https://quant.stackexchange.com/questions/58525