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