setScenarios

Установка сценариев возврата основных средств по прямой матрице

Использование fints объект для AssetScenarios аргумент setScenarios не рекомендуется. Использовать timetable вместо этого для финансовых временных рядов. Дополнительные сведения см. в разделе Преобразование объектов финансового временного ряда в расписания.

Описание

пример

obj = setScenarios(obj,AssetScenarios) устанавливает сценарии возврата основных средств по прямой матрице для PortfolioCVaR или PortfolioMAD объекты. Дополнительные сведения о рабочих процессах см. в разделах Рабочий процесс объекта CVaR и Рабочий процесс объекта MAD.

пример

obj = setScenarios(obj,AssetScenarios,Name,Value) установить сценарии возврата основных средств по прямой матрице для PortfolioCVaR или PortfolioMAD с использованием дополнительных параметров, заданных одним или несколькими Name,Value аргументы пары.

Примеры

свернуть все

Данный объект HydraCVaR p, используйте setScenarios для установки сценариев возврата основных средств.

m = [ 0.05; 0.1; 0.12; 0.18 ];
C = [ 0.0064 0.00408 0.00192 0; 
    0.00408 0.0289 0.0204 0.0119;
    0.00192 0.0204 0.0576 0.0336;
    0 0.0119 0.0336 0.1225 ];
m = m/12;
C = C/12;

AssetScenarios = mvnrnd(m, C, 20000);

p = PortfolioCVaR;
p = setScenarios(p, AssetScenarios);
p = setDefaultConstraints(p);
p = setProbabilityLevel(p, 0.95);
disp(p)
  PortfolioCVaR with properties:

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

Данный объект MAD p, используйте setScenarios для установки сценариев возврата основных средств.

m = [ 0.05; 0.1; 0.12; 0.18 ];
C = [ 0.0064 0.00408 0.00192 0; 
    0.00408 0.0289 0.0204 0.0119;
    0.00192 0.0204 0.0576 0.0336;
    0 0.0119 0.0336 0.1225 ];
m = m/12;
C = C/12;

AssetScenarios = mvnrnd(m, C, 20000);

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

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

Для иллюстрации использования setScenarios функция с AssetScenarios данные продолжены в timetable объект, используйте CAPMuniverse.mat который содержит timetable объект (AssetTimeTable) для возврата данных.

load CAPMuniverse;
AssetsTimeTable.Properties;
head(AssetsTimeTable,5)
ans=5×14 timetable
       Time          AAPL         AMZN         CSCO         DELL         EBAY       GOOG       HPQ          IBM         INTC         MSFT         ORCL         YHOO        MARKET         CASH   
    ___________    _________    _________    _________    _________    _________    ____    _________    _________    _________    _________    _________    _________    _________    __________

    03-Jan-2000     0.088805       0.1742     0.008775    -0.002353      0.12829    NaN       0.03244     0.075368      0.05698    -0.001627     0.054078     0.097784    -0.012143    0.00020522
    04-Jan-2000    -0.084331     -0.08324     -0.05608     -0.08353    -0.093805    NaN     -0.075613    -0.033966    -0.046667    -0.033802      -0.0883    -0.067368     -0.03166    0.00020339
    05-Jan-2000     0.014634     -0.14877    -0.003039     0.070984     0.066875    NaN     -0.006356      0.03516     0.008199     0.010567    -0.052837    -0.073363     0.011443    0.00020376
    06-Jan-2000    -0.086538    -0.060072    -0.016619    -0.038847    -0.012302    NaN     -0.063688    -0.017241     -0.05824    -0.033477    -0.058824     -0.10307     0.011743    0.00020266
    07-Jan-2000     0.047368     0.061013       0.0587    -0.037708    -0.000964    NaN      0.028416    -0.004386      0.04127     0.013091     0.076771      0.10609      0.02393    0.00020157

setScenarios принимает имя аргумента пары имя-значение 'DataFormat' с соответствующим значением, равным 'prices' для указания того, что ввод в функцию осуществляется в форме цен основных средств и не возвращается (значение по умолчанию для 'DataFormat' аргумент - 'returns').

r = PortfolioCVaR;
r = setScenarios(r,AssetsTimeTable,'dataformat','returns');

Кроме того, setScenarios функция также извлекает имена или идентификаторы активов из объекта расписания, когда аргумент name-value 'GetAssetList' установить в значение true (значение по умолчанию: false). Если 'GetAssetList' значение равно true, идентификаторы столбцов расписания используются для установки AssetList свойства объекта CCVaR. Чтобы показать это, формирование объекта CCVaR r повторяется с помощью 'GetAssetList' флаг установлен в значение true.

r = setScenarios(r,AssetsTimeTable,'GetAssetList',true);
disp(r.AssetList')
    {'AAPL'  }
    {'AMZN'  }
    {'CSCO'  }
    {'DELL'  }
    {'EBAY'  }
    {'GOOG'  }
    {'HPQ'   }
    {'IBM'   }
    {'INTC'  }
    {'MSFT'  }
    {'ORCL'  }
    {'YHOO'  }
    {'MARKET'}
    {'CASH'  }

Входные аргументы

свернуть все

Объект для портфеля, указанный с помощью PortfolioCVaR или PortfolioMAD объект.

Дополнительные сведения о создании PortfolioCVaR или PortfolioMAD объект, см.

Типы данных: object

Сценарии возврата основных средств или цены, определенные как матрица, table, или timetable который содержит данные основных средств, которые могут быть преобразованы в возврат основных средств ([NumSamplesоколо-NumAssets] матрица).

AssetReturns данные могут быть:

  • NumSamplesоколо-NumAssets матрица.

  • Таблица NumSamples цены или доходность при данной периодичности для базового однопериодического инвестиционного горизонта для сбора NumAssets активы

  • Объект расписания с NumSamples наблюдения и NumAssets временные ряды

Если входные данные являются ценами, они могут быть преобразованы в возвраты с помощью DataFormat аргумент пары имя-значение, где предполагается формат по умолчанию 'Returns'. Будьте осторожны с использованием данных о ценах, поскольку оптимизация портфеля обычно требует суммарной прибыли, а не просто прибыли от цены.

Эта функция устанавливает дескриптор функции для косвенного доступа к входу AssetScenarios без необходимости создания копии данных.

Типы данных: double | table | timetable

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: p = setScenarios(p, AssetScenarios,'DataFormat','Returns','GetAssetList',false);

Флажок для преобразования входных данных в виде цен в возврат, определяемый как разделенная запятыми пара, состоящая из 'DataFormat' и символьный вектор со значениями:

  • 'Returns' - Данные в AssetReturns содержит итоговые возвраты основных средств.

  • 'Prices' - Данные в AssetReturns содержит итоговые цены возврата основных средств.

Типы данных: char

Флаг, указывающий, какие названия активов использовать для списка активов, указанный как пара, разделенная запятыми, состоящая из 'GetAssetList' и логический со значением true или false. Допустимые значения для GetAssetList являются:

  • false - Не извлекать и не создавать имена активов.

  • true - Извлечение или создание имен активов из таблицы или расписания.

Если table или timetable передается в эту функцию как AssetScenarios и GetAssetList флаг - true, имена столбцов из table или timetable используются в качестве имен основных средств в obj.AssetList.

Если передается матрица и GetAssetList флаг - true, имена активов по умолчанию создаются на основе AbstractPortfolio собственность defaultforAssetList, которая в настоящее время 'Asset'.

Если GetAssetList флаг - false, никаких действий не происходит, что является поведением по умолчанию.

Типы данных: logical

Выходные аргументы

свернуть все

Обновленный объект портфеля, возвращенный как PortfolioCVaR или PortfolioMAD объект. Дополнительные сведения о создании объекта портфеля см. в разделе

Совет

Для настройки сценариев возврата основных средств можно также использовать точечную нотацию.

obj = obj.setScenarios(AssetScenarios);

Представлен в R2012b