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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

p = PortfolioMAD('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 PortfolioMAD.setAssetList at 121 
  Columns 1 through 4

    '921937835'    '922908769'    '922042775'    'UnknownCUSIP4'

  Column 5

    'UnknownCUSIP5'

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

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

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

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

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

| | | |

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

Больше о