Как назвать PortfolioMAD
объект, используйте Name
свойство. Name
является информационным и не влияет ни на какие расчеты портфеля. Если на Name
свойство непусто, Name
- заголовок для эффективного пограничного графика, сгенерированного plotFrontier
. Например, если вы настраиваете фонд распределения основных средств, можно назвать PortfolioMAD
Фонд распределения активов объекта:
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'
, и '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
.
Для примера, если a PortfolioMAD
p объекта
создается с помощью NumAssets
= 5
, затем этот фрагмент кода показывает поведение именования по умолчанию:
p = PortfolioMAD('numassets',5);
p = setAssetList(p);
disp(p.AssetList)
'Asset1' 'Asset2' 'Asset3' 'Asset4' 'Asset5'
defaultforAssetList
на 'ETF'
затем можно создать список по умолчанию для ETF:p = PortfolioMAD('numassets',5); p.defaultforAssetList = 'ETF'; p = setAssetList(p); disp(p.AssetList)
'ETF1' 'ETF2' 'ETF3' 'ETF4' 'ETF5'
Если на NumAssets
свойство уже установлено, и вы передаете слишком много или слишком мало идентификаторов, PortfolioMAD
объекта, и setAssetList
функция обрезает или дополняет список нумерованными именами активов по умолчанию, которые используют имя, заданное в скрытой общественной собственности defaultforAssetList
. Если список усечен или заполнен, предупреждение указывает на его несоответствие. Например, предположим, что у вас есть PortfolioMAD
объект с пятью ETF, и вы знаете только первые три CUSIP '921937835'
, '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'
checkFeasibility
| estimateBounds
| PortfolioMAD
| setAssetList
| setInitPort