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

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

Как назвать 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

Предположим, что у вас есть 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', и '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'
Предположим, что ваши активы являются, например, ETF, и вы изменяете скрытое свойство 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'

См. также

| | | |

Похожие примеры

Подробнее о