setScenarios

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

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

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

Синтаксис

obj = setScenarios(obj,AssetScenarios)
obj = setScenarios(obj,AssetScenarios,Name,Value)

Описание

пример

obj = setScenarios(obj,AssetScenarios) актив наборов возвращает сценарии прямой матрицей для объектов PortfolioMAD или PortfolioCVaR. Для получения дополнительной информации на рабочих процессах, смотрите Рабочий процесс Объекта 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-by-NumAssets] матрица).

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

  • NumSamples-by-NumAssets матрица.

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

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

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

Эта функция настраивает указатель на функцию, чтобы косвенно получить доступ к входу AssetScenarios, не будучи должен сделать копию данных.

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

  • Возвращается Данные в AssetReturns содержат совокупные доходы актива.

  • 'Prices' — Данные в AssetReturns содержат цены совокупного дохода актива.

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

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

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

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

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

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

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

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

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

свернуть все

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

Советы

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

obj = obj.setScenarios(AssetScenarios);

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

Для просмотра документации необходимо авторизоваться на сайте