Назвать 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
объект, 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'
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'
PortfolioCVaR
| setAssetList
| setInitPort
| estimateBounds
| checkFeasibility