Работа с '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, lbub. Применение этого к оптимизации портфеля требует, чтобы избегались очень маленькие или большие позиции, то есть значения, которые падают в (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: 2

См. также

| | | | | | | | | | | | |

Похожие примеры

Подробнее о

Внешние веб-сайты

Для просмотра документации необходимо авторизоваться на сайте