Если a PortfolioMAD
объект уничтожается при изменении, не забудьте передать существующий объект в PortfolioMAD
объект, если вы хотите изменить его, в противном случае он создает новый объект. Для получения дополнительной информации см. раздел Создание объекта PortfolioMAD.
Если вы получаете матричную несовместимость или «несоответствующие» ошибки, представление данных в инструментах следует определенному набору основных правил, описанных в Соглашениях о представлении данных.
Если данные возврата основных средств отсутствуют или NaN
значений, simulateNormalScenariosByData
функция со 'missingdata'
флаг установлен на true
может потерпеть неудачу либо со слишком большим количеством итераций, либо с сингулярной ковариацией. Чтобы исправить эту проблему, рассмотрим следующее:
Если у вас есть данные возврата активов без отсутствующих или NaN
значения, можно вычислить матрицу ковариации, которая может быть сингулярной без трудностей. Если вы пропали или NaN
значения в ваших данных, поддерживаемая функция отсутствующих данных требует, чтобы ваша ковариационная матрица была положительно-определенной, то есть несингулярной.
simulateNormalScenariosByData
использует настройки по умолчанию для отсутствующей процедуры оценки данных, которая может быть не подходящей для всех задач.
В любом случае можно хотеть оценить моменты возврата активов отдельно с помощью функций оценки ECM, таких как ecmnmle
или с вашими собственными функциями.
mad_optim_transform
ОшибкиЕсли вы получаете ошибки оптимизации, такие как:
Error using mad_optim_transform (line 276) Portfolio set appears to be either empty or unbounded. Check constraints. Error in PortfolioMAD/estimateFrontier (line 64) [AI, bI, AE, bE, lB, uB, f0, f, x0] = mad_optim_transform(obj);
Error using mad_optim_transform (line 281) Cannot obtain finite lower bounds for specified portfolio set. Error in PortfolioMAD/estimateFrontier (line 64) [AI, bI, AE, bE, lB, uB, f0, f, x0] = mad_optim_transform(obj);
estimateBounds
изучить свой портфельный набор и использовать checkFeasibility
чтобы убедиться, что ваш начальный портфель является или допустимым, и, если это недопустимо, что у вас есть достаточный оборот, чтобы получить от вашего начального портфеля к набору портфелей.
Совет
Чтобы исправить эту проблему, попробуйте решить проблему с большими значениями для оборота и постепенно уменьшите до того значения, которое вы хотите.
Если вы получаете эффективные портфели, которые, кажется, не имеют смысла, это может произойти, если вы забудете задать определенные ограничения или вы установите неправильные ограничения. Для примера, если вы позволяете весам портфеля падать между 0
и 1
и не устанавливайте бюджетное ограничение, можно получить портфели, которые на 100% инвестируются в каждый актив. Хотя это может быть трудно обнаружить, лучшее, что нужно сделать, это просмотреть ограничения, которые вы установили с отображением PortfolioMAD
объект. Если вы получаете портфели со 100% инвестированием в каждый актив, можно просмотреть отображение вашего объекта и быстро увидеть, что никакие ограничения бюджета не установлены. Кроме того, вы можете использовать estimateBounds
и checkFeasibility
определить, имеют ли смысл ограничения для вашего портфеля, и определить, являются ли полученные вами портфели допустимыми относительно независимой формулировки вашего портфеля.
checkFeasibility
| estimateScenarioMoments
| PortfolioMAD