Общие операции на объекте PortfolioCVaR

Именование объекта PortfolioCVaR

Назвать PortfolioCVaR объект, используйте Name свойство. Name является информационным и не оказывает влияния ни на какие вычисления портфеля. Если Name свойство непусто, Name заголовок для графика границы эффективности, сгенерированного plotFrontier. Например, если вы создаете фонд распределения активов, вы могли бы назвать PortfolioCVaR объект Asset Allocation Fund:

p = PortfolioCVaR('Name','Asset Allocation Fund');
disp(p.Name)
Asset Allocation Fund

Конфигурирование активов во вселенной актива

Основное количество в PortfolioCVaR объект является количеством активов во вселенной актива. Это количество обеспечено в NumAssets свойство. Несмотря на то, что можно установить это свойство непосредственно, оно обычно выводится из других свойств, таких как количество активов в сценариях или начальном портфеле. В некоторых случаях номер активов, возможно, должен быть определен непосредственно. В этом примере показано, как настроить PortfolioCVaR объект, который имеет четыре актива:

p = PortfolioCVaR('NumAssets', 4);
disp(p.NumAssets)
4

После установки NumAssets свойство, вы не можете изменить его (если никакие другие свойства не установлены, которые зависят от NumAssets). Единственный способ изменить количество активов в существующем PortfolioCVaR объект с известным количеством активов состоит в том, чтобы создать новый PortfolioCVaR объект.

Подготовка списка идентификаторов актива

При работе с портфелями необходимо задать вселенную активов. Несмотря на то, что можно выполнить полный анализ, не называя активы во вселенной, полезно сопоставить идентификатор с каждым активом, как вы создаете и работаете с портфелями. Можно создать список идентификаторов актива как вектор ячейки из векторов символов в свойстве AssetList. Можно настроить список с помощью следующих двух методов.

Подготовка списков активов Используя функцию PortfolioCVaR

Предположим, что у вас есть PortfolioCVaR объект, p, с активами с символами 'AA'', 'BA'\cat, 'DD', и 'ETR'. Можно создать список этих символов актива в объекте с помощью PortfolioCVaR объект:

p = PortfolioCVaR('assetlist', { 'AA', 'BA', 'CAT', 'DD', 'ETR' });
disp(p.AssetList)
'AA'    'BA'    'CAT'    'DD'    'ETR'
Заметьте что свойство AssetList обеспечен как массив ячеек, который содержит векторы символов, и что необходимо передать массив ячеек в PortfolioCVaR возразите, чтобы установить AssetList. Кроме того, заметьте что свойство NumAssets установлен в 5 на основе количества символов, используемых, чтобы создать список активов:
disp(p.NumAssets)
5

Подготовка списков активов Используя setAssetList Функция

Можно также задать список активов с помощью setAssetList функция. Учитывая список символов актива 'AA', 'BA'\cat, 'DD', and'ETR', можно использовать setAssetList с:

p = PortfolioCVaR;
p = setAssetList(p, { 'AA', 'BA', 'CAT', 'DD', 'ETR' });
disp(p.AssetList)
 'AA'    'BA'    'CAT'    'DD'    'ETR'

setAssetList также позволяет вам ввести символы непосредственно как список, разделенный запятыми, не создавая массив ячеек из символьных векторов. Например, учитывая список символов активов 'AA', 'BA'\cat, 'DD', и 'ETR'Использование setAssetList:

p = PortfolioCVaR;
p = setAssetList(p, 'AA', 'BA', 'CAT', 'DD', 'ETR');
disp(p.AssetList)
'AA'    'BA'    'CAT'    'DD'    'ETR'

setAssetList имеет много дополнительных функций, чтобы создать списки идентификаторов актива. Если вы используете setAssetList с только PortfolioCVaR объект, это создает список активов по умолчанию согласно имени, заданному в скрытой общественной собственности defaultforAssetList (который является 'Asset' по умолчанию). Количество созданных имен актива зависит от количества активов в свойстве NumAssets. Если NumAssets не установлен, затем NumAssets принят, чтобы быть 1.

Например, если PortfolioCVaR объект p создается с NumAssets= 5 , затем этот фрагмент кода показывает поведение именования значения по умолчанию:

p = PortfolioCVaR('numassets',5);
p = setAssetList(p);
disp(p.AssetList)
'Asset1'    'Asset2'    'Asset3'    'Asset4'    'Asset5'
Предположим, что вашими активами является, например, ETFs, и вы изменяете скрытое свойство defaultforAssetList к 'ETF', можно затем создать список по умолчанию для ETFs:
p = PortfolioCVaR('numassets',5);
p.defaultforAssetList = 'ETF'; 
p = setAssetList(p);
disp(p.AssetList)
'ETF1'    'ETF2'    'ETF3'    'ETF4'    'ETF5'

Усечение и дополнение списков активов

Если NumAssets свойство уже установлено, и вы передаете в слишком многих или очень небольшом числе идентификаторов, PortfolioCVaR объект, и setAssetList функционируйте обрезают или заполняют список пронумерованными именами актива по умолчанию, которые используют имя, заданное в скрытой общественной собственности defaultforAssetList. Если список является усеченным или заполненным, предупреждающее сообщение указывает на несоответствие. Например, примите, что у вас есть PortfolioCVaR объект с пятью ETFs и вы только знаете первые три '921937835' CUSIPs, '922908769', и '922042775'. Используйте этот синтаксис, чтобы создать список активов, который заполняет остающиеся идентификаторы актива пронумерованным 'UnknownCUSIP' заполнители:

p = PortfolioCVaR('numassets',5);
p.defaultforAssetList = 'UnknownCUSIP';
p = setAssetList(p, '921937835', '922908769', '922042775');
disp(p.AssetList)
Warning: Input list of assets has 2 too few identifiers. Padding with numbered assets. 
> In PortfolioCVaR.setAssetList at 118 
    '921937835'    '922908769'    '922042775'    'UnknownCUSIP4'    'UnknownCUSIP5'

В качестве альтернативы предположите, что вы имеете слишком много идентификаторов и нуждаетесь только в первых четырех активах. Этот пример иллюстрирует усечение списка активов с помощью PortfolioCVaR объект:

p = PortfolioCVaR('numassets',4);
p = PortfolioCVaR(p, 'assetlist', { 'AGG', 'EEM', 'MDY', 'SPY', 'VEU' });
disp(p.AssetList)
Warning: AssetList has 1 too many identifiers. Using first 4 assets. 
> In PortfolioCVaR.checkarguments at 399
  In PortfolioCVaR.PortfolioCVaR>PortfolioCVaR.PortfolioCVaR at 195 
    'AGG'    'EEM'    'MDY'    'SPY'

Скрытая общественная собственность uppercaseAssetList булев флаг должен задать, преобразовать ли имена актива к прописным буквам. Значение по умолчанию для uppercaseAssetList false. В этом примере показано, как использовать uppercaseAssetList отметьте, чтобы обеспечить идентификаторы, чтобы быть прописными буквами:

p = PortfolioCVaR;
p.uppercaseAssetList = true;
p = setAssetList(p, { 'aa', 'ba', 'cat', 'dd', 'etr' });
disp(p.AssetList)
'AA'    'BA'    'CAT'    'DD'    'ETR'

Смотрите также

| | | |

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

Больше о

Внешние веб-сайты