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