exponenta event banner

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

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

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

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

Настройка активов во вселенной активов

Фундаментальное количество в Portfolio object - количество активов во вселенной активов. Ведение этого количества выполняется в 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', и'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'
Предположим, что ваши активы являются, например, ETF, и вы изменяете скрытое свойство defaultforAssetList кому 'ETF', затем можно создать список по умолчанию для ETF:
p = Portfolio('numassets',5);
p.defaultforAssetList = 'ETF'; 
p = setAssetList(p);
disp(p.AssetList)
'ETF1'    'ETF2'    'ETF3'    'ETF4'    'ETF5'

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

Если NumAssets свойство уже установлено, и вы передаете слишком много или слишком мало идентификаторов, Portfolio объект и setAssetList функция усекает или заполняет список пронумерованными именами активов по умолчанию, в которых используется имя, указанное в скрытом публичном свойстве defaultforAssetList. Если список усечен или дополнен, предупреждающее сообщение указывает на несоответствие. Например, предположим, что у вас есть Portfolio объект с пятью ETF, и вы знаете только первые три CUSIP '921937835', '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'

См. также

| | | | |

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

Подробнее

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