'Conditional'
BoundType, MinNumAssets, и MaxNumAssets Ограничения Используя объекты PortfolioMADКогда любой или любая комбинация 'Conditional'
BoundType, MinNumAssets, или MaxNumAssets ограничения активны, проблема портфеля формулируется путем добавления NumAssets бинарные переменные, где 0 указывает не инвестированный, и 1 инвестирован. Например, чтобы объяснить 'Conditional'
BoundType и MinNumAssets и MaxNumAssets ограничения, примите, что ваш портфель имеет вселенную 100 активов, которые вы хотите инвестировать:
'Conditional'
BoundType (также известный как полунепрерывные ограничения), установленный setBounds, часто используется в ситуациях, где вы не хотите инвестировать маленькие значения. Стандартным примером является задача оптимизации портфеля, где много маленьких выделений не привлекательны из-за операционных издержек. Вместо этого вы предпочитаете меньше инструментов в портфеле с большими выделениями. Эта ситуация может быть обработана using'Conditional'
BoundType ограничения для PortfolioMAD объект.
Например, весом, который вы инвестируете в каждый актив, является любой 0 или между [0.01, 0.5]. Обычно полунепрерывная переменная x является непрерывной переменной между границами [lb, ub] это также может принять значение 0, где lb> 0 , lb ≤ ub. Применение этого к оптимизации портфеля требует, чтобы очень маленьких или больших положений избежали, который является значениями, которые обрушиваются (0, lb) или больше, чем ub.
MinNumAssets и MaxNumAssets (также известный как ограничения кардинальности), установленный setMinMaxNumAssets, ограничьте количество активов в PortfolioMAD объект. Например, если у вас есть 100 активов в вашем портфеле, и вы хотите, чтобы количество активов, выделенных в портфеле, было от 40 до 60. Используя MinNumAssets и MaxNumAssets можно ограничить количество активов в оптимизированном портфеле, который позволяет вам ограничивать транзакцию и операционные затраты или создавать портфель отслеживания индекса.
'Conditional' BoundType Ограничения Используя setBounds ФункцияИспользование setBounds с 'conditional'
BoundType установить кси = 0 или 0.02 <= кси <= 0.5 для всего i=1... NumAssets:
p = PortfolioMAD; p = setBounds(p, 0.02, 0.5,'BoundType', 'Conditional', 'NumAssets', 3)
p =
Portfolio with properties:
BuyCost: []
SellCost: []
RiskFreeRate: []
AssetMean: []
AssetCovar: []
TrackingError: []
TrackingPort: []
Turnover: []
BuyTurnover: []
SellTurnover: []
Name: []
NumAssets: 3
AssetList: []
InitPort: []
AInequality: []
bInequality: []
AEquality: []
bEquality: []
LowerBound: [3×1 double]
UpperBound: [3×1 double]
LowerBudget: []
UpperBudget: []
GroupMatrix: []
LowerGroup: []
UpperGroup: []
GroupA: []
GroupB: []
LowerRatio: []
UpperRatio: []
BoundType: [3×1 categorical]
MinNumAssets: []
MaxNumAssets: []setMinMaxNumAssets ФункцияМожно также установить MinNumAssets и MaxNumAssets свойства задать предел на количестве активов, с помощью которые инвестируют setMinMaxNumAssets. Например, установкой MinNumAssets=MaxNumAssets=2, только два из этих трех активов инвестируют в портфель.
p = PortfolioMAD; p = setBounds(p, 0.02, 0.5,'BoundType', 'Conditional', 'NumAssets', 3) p = setMinMaxNumAssets(p, 2, 2)
p =
PortfolioMAD with properties:
BuyCost: []
SellCost: []
RiskFreeRate: []
Turnover: []
BuyTurnover: []
SellTurnover: []
NumScenarios: []
Name: []
NumAssets: 3
AssetList: []
InitPort: []
AInequality: []
bInequality: []
AEquality: []
bEquality: []
LowerBound: [3×1 double]
UpperBound: [3×1 double]
LowerBudget: []
UpperBudget: []
GroupMatrix: []
LowerGroup: []
UpperGroup: []
GroupA: []
GroupB: []
LowerRatio: []
UpperRatio: []
MinNumAssets: 2
MaxNumAssets: 2
BoundType: [3×1 categorical]PortfolioMAD | setBounds | setMinMaxNumAssets | setDefaultConstraints | setBounds | setBudget | setGroups | setGroupRatio | setEquality | setInequality | setTurnover | setOneWayTurnover