Если 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