setScenarios

Актив набора возвращает сценарии прямой матрицей

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

Используйте fts2timetable преобразовывать fints возразите против timetable объект.

Описание

пример

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

пример

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

Примеры

свернуть все

Учитывая объект PortfolioCVaR 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]

Объект Given PortfolioMAD 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×15 timetable
            Time              AAPL         AMZN         CSCO         DELL         EBAY       GOOG       HPQ          IBM         INTC         MSFT         ORCL         YHOO        MARKET         CASH   
    ____________________    _________    _________    _________    _________    _________    ____    _________    _________    _________    _________    _________    _________    _________    __________

    03-Jan-2000 00:00:00     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 00:00:00    -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 00:00:00     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 00:00:00    -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 00:00:00     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 функционируйте также извлекает имена актива или идентификаторы от объекта расписания когда аргумент 'GetAssetList' значения имени установите на true (его значением по умолчанию является false). Если 'GetAssetList' значением является true, идентификаторы столбцов расписания используются, чтобы установить AssetList свойство объекта PortfolioCVaR. Показать это, формирование объекта PortfolioCVaR 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 активы

  • Объект Timetable с 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, никакое действие не происходит, который является поведением по умолчанию.

Типы данных: логический

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

свернуть все

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

Советы

Можно также использовать запись через точку, чтобы установить актив, возвращают сценарии.

obj = obj.setScenarios(AssetScenarios);

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