Выберите смешанное целочисленное нелинейное программирование (MINLP) решатель для оптимизации портфеля
obj = setSolverMINLP(obj,solverTypeMINLP)
obj = setSolverMINLP(___,Name,Value)
выбирает смешанное целочисленное нелинейное программирование (MINLP) решатель и позволяет вам задать сопоставленные опции решателя для оптимизации портфеля для obj
= setSolverMINLP(obj
,solverTypeMINLP
)Portfolio
, PortfolioCVaR
или объекта PortfolioMAD
.
Когда любой или любая комбинация 'Conditional'
, BoundType
, MinNumAssets
или ограничения MaxNumAssets
активны, проблема портфеля, формулируются путем добавления двоичных переменных NumAssets
. Бинарная переменная 0
указывает, что актив не инвестируют, и бинарная переменная 1
указывает, что актив инвестируют. Для получения дополнительной информации об использовании 'Conditional'
BoundType
смотрите setBounds
. Для получения дополнительной информации об определении MinNumAssets
и MaxNumAssets
, смотрите setMinMaxNumAssets
.
Если вы используете функции estimate
с Portfolio
, PortfolioCVaR
или объектом PortfolioMAD
, для которого любой
BoundType
'Conditional'
, MinNumAssets
или ограничения MaxNumAssets
активен, решатель MINLP автоматически используется. Для получения дополнительной информации на MINLP, см. Алгоритмы.
задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.obj
= setSolverMINLP(___,Name,Value
)
Можно также использовать запись через точку, чтобы задать сопоставленные опции пары "имя-значение".
obj = obj.setSolverMINLP(Name,Value);
Свойства solverTypeMINLP
и solverOptionsMINLP
не могут быть установлены с помощью записи через точку, потому что они - скрытые свойства. Чтобы установить свойства solverTypeMINLP
и solverOptionsMINLP
, используйте функцию setSolverMINLP
непосредственно.
Когда любой или любая комбинация 'Conditional'
, BoundType
, MinNumAssets
или ограничения MaxNumAssets
активны, проблема портфеля, формулируется путем добавления двоичных переменных NumAssets
. Бинарная переменная 0
указывает, что актив не инвестируют, и бинарная переменная 1
указывает, что актив инвестируют.
MinNumAssets
и ограничения MaxNumAssets
сужают количество активных позиций в портфеле к области значений [minN, maxN]. Кроме того,
ограничение BoundType
'Conditional'
должно установить нижнюю и верхнюю границу так, чтобы положение было или 0
или находилось в диапазоне [minWgt, maxWgt]. Эти два типа ограничений включены в модель оптимизации портфеля путем представления переменных n, ν i, которые только принимают двоичные значения 0
и 1
, чтобы указать, инвестируют ли соответствующий актив (1
) или не вложил капитал (0
). Здесь n является общим количеством активов, и ограничения могут быть сформулированы как следующие линейные ограничения неравенства:
В этом уравнении minN и maxN являются представлениями для MinNumAsset
и MaxNumAsset
, которые установлены с помощью setMinMaxNumAssets
. Кроме того, minWgt и maxWgt являются представлениями для LowerBound
и UpperBound
, которые установлены с помощью setBounds
.
Задача оптимизации портфеля, чтобы минимизировать отклонение портфеля согласно достижению целевого ожидаемого дохода и некоторых дополнительных линейных ограничений на веса портфеля, формулируется как
В этом уравнении H представляет ковариацию, и m представляет актив, возвращается.
Задача оптимизации портфеля, чтобы максимизировать возврат согласно верхнему пределу отклонения портфеля возвращается и некоторые дополнительные линейные ограничения на веса портфеля, формулируется как
Когда
BoundType
'Conditional'
, MinNumAssets
и ограничения MaxNumAssets
добавляются к этим двум задачам оптимизации, проблемы становятся:
[1] Bonami, P., Kilinc, M. и Дж. Линдерот. "Алгоритмы и программное обеспечение для выпуклых смешанных целочисленных нелинейных программ". Технический отчет № 1664. Отдел информатики, Висконсинский университет в Мадисоне, 2009.
[2] Келли, J. E. "Плоский Сокращением Метод для Решения Выпуклых Программ". Журнал Общества Промышленной и Прикладной математики. Издание 8, Номер 4, 1960, стр 703–712.
[3] Линдерот, J. и С. Райт. "Алгоритмы разложения для Стохастического программирования на Вычислительной Сетке". Вычислительная Оптимизация и Приложения. Издание 24, Выпуск 2-3, 2003, стр 207–250.
[4] Nocedal, J. и С. Райт. Числовая оптимизация. Нью-Йорк: Springer-Verlag, 1999.
estimateFrontier
| estimateFrontierByReturn
| estimateFrontierByRisk
| estimateFrontierLimits
| estimateMaxSharpeRatio
| setBounds
| setMinMaxNumAssets
| setSolver