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