Объект Portfolio реализует оптимизацию портфеля среднего отклонения. Каждое свойство и функция объекта Portfolio общедоступны, несмотря на то, что некоторые свойства и функции скрыты. Смотрите Portfolio
для свойств и функций объекта Portfolio. Объект Portfolio является объектом значения, где каждый экземпляр объекта является отличной версией объекта. Поскольку объект Portfolio является также объектом MATLAB®, он наследовал функции по умолчанию, сопоставленные с объектами MATLAB.
Объект Portfolio и его функции являются интерфейсом для оптимизации портфеля среднего отклонения. Так, почти все, что вы делаете с объектом Portfolio, может быть сделано с помощью присоединенных функций. Основной рабочий процесс:
Разработайте свою проблему портфеля.
Используйте Portfolio
, чтобы создать объект Portfolio или использовать различные функции set
, чтобы настроить вашу проблему портфеля.
Используйте оценочные функции, чтобы решить вашу проблему портфеля.
Кроме того, функции доступны, чтобы помочь вам просмотреть промежуточные результаты и диагностировать ваши вычисления. Поскольку функциями MATLAB является часть объекта Portfolio, можно сохранить и загрузить объекты из рабочей области и создать и управлять массивами объектов. После урегулирования на проблеме, которая, в случае оптимизации портфеля среднего отклонения, означает, что у вас есть или данные или моменты для актива, возвращается и набор ограничений на ваши портфели, используйте Portfolio
, чтобы установить свойства для объекта Portfolio. Portfolio
позволяет вам создать объект с нуля или обновить существующий объект. Поскольку объект Portfolio является объектом значения, легко создать основной объект, затем использовать функции, чтобы положиться на основной объект создать новые версии основного объекта. Это полезно, чтобы сравнить основную проблему с альтернативами, выведенными от основной проблемы. Для получения дополнительной информации смотрите Создание Объекта Портфеля.
Можно установить свойства объекта Portfolio с помощью или Portfolio
или различных функций set
.
Несмотря на то, что можно также установить свойства непосредственно, это не рекомендуется, поскольку проверка ошибок не выполняется, когда вы устанавливаете свойство непосредственно.
Свойства установки поддержки объектов Portfolio
с аргументами пары "имя-значение", таким образом, что каждое имя аргумента является свойством и каждым значением, являются значением, чтобы присвоить тому свойству. Например, чтобы установить свойства AssetMean
и AssetCovar
в существующем объекте Portfolio p
со значениями m
и C
, используйте синтаксис:
p = Portfolio(p, 'AssetMean', m, 'AssetCovar', C);
В дополнение к Portfolio
, который позволяет вам установить отдельные свойства по одному, группы свойств установлены в объекте Portfolio с различным “набором” и “добавляют” функции. Например, чтобы настроить ограничение среднего оборота, используйте функцию setTurnover
, чтобы задать привязанный средний оборот портфеля и начальный портфель. Чтобы получить отдельные свойства от объекта Portfolio, получите свойства непосредственно или используйте выбор, “получают” функции, которые получают группы свойств от объекта Portfolio. Объект Portfolio
и функции set
имеют несколько полезных функций:
Portfolio
и функции set
пытаются определить размерности вашей проблемы или с явными или с неявными входными параметрами.
Portfolio
и функции set
пытаются разрешить неоднозначности с выбором по умолчанию.
Portfolio
и функции set
выполняют скалярное расширение на массивах, если это возможно.
Связанные функции объекта Portfolio пытаются диагностировать и предупредить о проблемах.
Объект Portfolio использует функции отображения по умолчанию, обеспеченные MATLAB, где display
и disp
отображают объект Portfolio и его свойства с или без имени переменной объекта.
Сохраните и загрузите объекты Портфеля с помощью save
MATLAB и команд load
.
Оценка эффективных портфелей и границ эффективности является основной целью инструментов оптимизации портфеля. Набор функций “оценки” и “графика” обеспечивает способы исследовать границу эффективности. “Оценочные” функции получают или эффективные портфели или рискуют и возвращают прокси сформировать границы эффективности. На уровне портфеля набор функций оценивает, что эффективные портфели на границе эффективности с функциями получают эффективные портфели:
В конечных точках границы эффективности
Это достигает предназначенных значений для прокси возврата
Это достигает предназначенных значений для прокси риска
Вдоль целой границы эффективности
Эти функции также обеспечивают покупки, и продажи должны были переключить от начального или текущего портфеля до каждого эффективного портфеля. На уровне границы эффективности набор функций строит границу эффективности и оценивает или риск или возвращает прокси для эффективных портфелей на границе эффективности. Можно использовать результирующие эффективные портфели или рискнуть и возвратить прокси в последующих исследованиях.
Несмотря на то, что все функции, сопоставленные с объектом Portfolio, разработаны, чтобы работать над скалярным объектом Portfolio, возможности массивов MATLAB позволяют вам настроить и работать с массивами объектов Портфеля. Самый легкий способ сделать это с функцией repmat
. Например, чтобы создать 3 2 массив объектов Портфеля:
p = repmat(Portfolio, 3, 2); disp(p)
p(i,j) = Portfolio(p(i,j), ... );
Portfolio
для (i
, j
) элемент матрицы объектов Портфеля в переменной p
.Если вы настраиваете массив объектов Портфеля, можно получить доступ к свойствам конкретного объекта Portfolio в массиве путем индексации так, чтобы можно было установить нижние и верхние границы lb
и ub
для (i
, j
, k
) элемент трехмерного массива объектов Портфеля с
p(i,j,k) = setBounds(p(i,j,k),lb, ub);
[lb, ub] = getBounds(p(i,j,k));
Можно разделить объект Portfolio на подклассы заменить существующие функции или добавить новые свойства или функции. Для этого создайте производный класс из класса Portfolio
. Это дает вам все свойства и функции класса Portfolio
наряду с любыми новыми опциями, которые вы принимаете решение добавить к своему разделенному на подклассы объекту. Класс Portfolio
выведен из абстрактного класса под названием AbstractPortfolio
. Из-за этого можно также создать производный класс из AbstractPortfolio
, который реализует совершенно другую форму свойств использования оптимизации портфеля и функции класса AbstractPortfolio
.
Инструменты оптимизации портфеля следуют этим соглашениям относительно представления различных количеств, сопоставленных с оптимизацией портфеля:
Актив возвращается, или цены находятся в матричной форме с выборками для данного актива, спускающегося по строкам и активам, идущим через столбцы. В случае цен ближайшие сроки должны быть во главе матрицы с увеличивающимися датами потеря работоспособности.
Среднее значение и ковариация актива возвращаются, хранятся в векторе и матрице, и инструменты не имеют никакого требования, чтобы среднее значение было или вектор-столбцом или вектором - строкой.
Портфели находятся в векторной или матричной форме с весами для данного портфеля, спускающегося по строкам и отличным портфелям, идущим через столбцы.
Ограничения на портфели формируются таким способом, которым портфель является вектор-столбцом.
Портфельные риски и возвраты являются или скалярами или вектор-столбцами (для нескольких портфельных рисков, и возвращается).