exponenta event banner

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

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

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

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

Проблема портфеля 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]

См. также

| | | | | | | | |

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

Подробнее