exponenta event banner

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