Работа с ограничениями портфеля MAD Используя значения по умолчанию

Итоговым элементом для полной спецификации задачи оптимизации портфеля является набор выполнимых портфелей, который называется набором портфеля. Портфель установлен XRn задан конструкцией как пересечение множеств, сформированное набором ограничений на веса портфеля. Набор портфеля обязательно и достаточно должен быть непустым, закрытым и ограниченным множеством.

При подготовке набора портфеля гарантируйте, что набор портфеля удовлетворяет этим условиям. Самый основной или набор портфеля “по умолчанию” требует, чтобы веса портфеля были неотрицательными (использование ограничения нижней границы) и суммировали к 1 (использование ограничения бюджета). Для получения информации о рабочем процессе при использовании PortfolioMAD объекты, смотрите Рабочий процесс Объекта PortfolioMAD.

Установка ограничений по умолчанию для весов портфеля Используя объект PortfolioMAD

Проблема портфеля MAD “по умолчанию” имеет два ограничения на веса портфеля:

  • Веса портфеля должны быть неотрицательными.

  • Веса портфеля должны суммировать к 1.

Неявно, эти ограничения подразумевают, что веса портфеля не больше, чем 1, несмотря на то, что это - лишнее ограничение, чтобы наложить на проблему.

Установка ограничений по умолчанию Используя функцию PortfolioMAD

Учитывая задачу оптимизации портфеля с NumAssets= 20 активы, используйте PortfolioMAD возразите, чтобы настроить проблему по умолчанию и явным образом установить границы и ограничения бюджета:

p = PortfolioMAD('NumAssets', 20, 'LowerBound', 0, 'Budget', 1);
disp(p)
  PortfolioMAD with properties:

         BuyCost: []
        SellCost: []
    RiskFreeRate: []
        Turnover: []
     BuyTurnover: []
    SellTurnover: []
    NumScenarios: []
            Name: []
       NumAssets: 20
       AssetList: []
        InitPort: []
     AInequality: []
     bInequality: []
       AEquality: []
       bEquality: []
      LowerBound: [20×1 double]
      UpperBound: []
     LowerBudget: 1
     UpperBudget: 1
     GroupMatrix: []
      LowerGroup: []
      UpperGroup: []
          GroupA: []
          GroupB: []
      LowerRatio: []
      UpperRatio: []
    MinNumAssets: []
    MaxNumAssets: []
       BoundType: []

Установка ограничений по умолчанию Используя setDefaultConstraints Функция

Альтернативный подход должен использовать setDefaultConstraints функция. Если количество активов уже известно в PortfolioMAD объект, использовать setDefaultConstraints без аргументов, чтобы настроить необходимые связанные и ограничения бюджета. Предположим, что у вас есть 20 активов, чтобы настроить набор портфеля для проблемы по умолчанию:

p = PortfolioMAD('NumAssets', 20);
p = setDefaultConstraints(p);
disp(p)
 PortfolioMAD with properties:

         BuyCost: []
        SellCost: []
    RiskFreeRate: []
        Turnover: []
     BuyTurnover: []
    SellTurnover: []
    NumScenarios: []
            Name: []
       NumAssets: 20
       AssetList: []
        InitPort: []
     AInequality: []
     bInequality: []
       AEquality: []
       bEquality: []
      LowerBound: [20×1 double]
      UpperBound: []
     LowerBudget: 1
     UpperBudget: 1
     GroupMatrix: []
      LowerGroup: []
      UpperGroup: []
          GroupA: []
          GroupB: []
      LowerRatio: []
      UpperRatio: []
    MinNumAssets: []
    MaxNumAssets: []
       BoundType: [20×1 categorical]

Если количество активов неизвестно, setDefaultConstraints принимает NumAssets как дополнительный аргумент, чтобы сформировать набор портфеля для проблемы по умолчанию. Предположим, что у вас есть 20 активов:

p = PortfolioMAD;
p = setDefaultConstraints(p, 20);
disp(p)
PortfolioMAD with properties:

         BuyCost: []
        SellCost: []
    RiskFreeRate: []
        Turnover: []
     BuyTurnover: []
    SellTurnover: []
    NumScenarios: []
            Name: []
       NumAssets: 20
       AssetList: []
        InitPort: []
     AInequality: []
     bInequality: []
       AEquality: []
       bEquality: []
      LowerBound: [20×1 double]
      UpperBound: []
     LowerBudget: 1
     UpperBudget: 1
     GroupMatrix: []
      LowerGroup: []
      UpperGroup: []
          GroupA: []
          GroupB: []
      LowerRatio: []
      UpperRatio: []
    MinNumAssets: []
    MaxNumAssets: []
       BoundType: [20×1 categorical]

Смотрите также

| | | | | | | | |

Связанные примеры

Больше о