Назвать 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
объект, 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
функция. Учитывая список символов актива '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'
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'
PortfolioMAD
| checkFeasibility
| estimateBounds
| setAssetList
| setInitPort