Общие операции на объекте портфеля

Именование объекта портфеля

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

p = Portfolio('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 Portfolio.setAssetList at 121 
    '921937835'    '922908769'    '922042775'    'UnknownCUSIP4'    'UnknownCUSIP5'

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

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

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

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

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

| | | | |

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

Больше о

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