CVaR Matlab Оптимизация
На самом деле я выполняю оптимизацию CVaR с использованием Matlab. Я использую fmincon вместо линейного программирования (linprog).
У меня есть нижняя и верхняя границы для 8 классов активов и конкретные ограничения линейного неравенства; Более того, я использую 10000 смоделированных возвратов (Scen_Rets) и 1000 загруженных дисперсионно-ковариационных матриц (полезно для целевых ограничений волатильности). Целевая функция, которую я написал:
Riskfun=@(w) min(quantile(w * Scen_Rets',1-beta)+((1/size(Scen_Rets,1))*(1/(1-beta)))*(max(-w * Scen_Rets'-quantile(w * Scen_Rets',1-beta),0)));
В основном мой код выполняется, но я получаю одинаковый вес активов для всех ограничений волатильности. Я попробовал несколько функций риска, потому что я думаю, что моя проблема в этом. Не могли бы вы мне помочь?
Спасибо, надеюсь, мне все ясно.