Объект PortfolioMAD реализует оптимизацию портфеля среднего абсолютного отклонения (MAD) и выведен из абстрактного класса AbstractPortfolio
. Каждое свойство и функция объекта PortfolioMAD общедоступны, несмотря на то, что некоторые свойства и функции скрыты. Объект PortfolioMAD является объектом значения, где каждый экземпляр объекта является отличной версией объекта. Поскольку объект PortfolioMAD является также объектом MATLAB®, он наследовал функции по умолчанию, сопоставленные с объектами MATLAB.
Объект PortfolioMAD и его функции являются интерфейсом для средней оптимизации портфеля абсолютного отклонения. Так, почти все, что вы делаете с объектом PortfolioMAD, может быть сделано с помощью функций. Основной рабочий процесс:
Разработайте свою проблему портфеля.
Используйте PortfolioMAD
, чтобы создать объект PortfolioMAD или использовать различные функции множества, чтобы настроить вашу проблему портфеля.
Используйте оценочные функции, чтобы решить вашу проблему портфеля.
Кроме того, функции доступны, чтобы помочь вам просмотреть промежуточные результаты и диагностировать ваши вычисления. Поскольку функциями MATLAB является часть объекта PortfolioMAD, можно сохранить и загрузить объекты из рабочей области и создать и управлять массивами объектов. После урегулирования на проблеме, которая, в случае оптимизации портфеля MAD, означает, что у вас есть или сценарии, данные, или моменты для актива, возвращается, и набор ограничений на ваши портфели, используйте PortfolioMAD
, чтобы установить свойства для объекта PortfolioMAD.
PortfolioMAD
позволяет вам создать объект с нуля или обновить существующий объект. Поскольку объект PortfolioMAD является объектом значения, легко создать основной объект, затем использовать функции, чтобы положиться на основной объект создать новые версии основного объекта. Это полезно, чтобы сравнить основную проблему с альтернативами, выведенными от основной проблемы. Для получения дополнительной информации смотрите Создание Объекта PortfolioMAD.
Можно установить свойства объекта PortfolioMAD с помощью или PortfolioMAD
или различных функций set
.
Несмотря на то, что можно также установить свойства непосредственно, это не рекомендуется, поскольку проверка ошибок не выполняется, когда вы устанавливаете свойство непосредственно.
Свойства установки поддержки объектов PortfolioMAD
с аргументами пары "имя-значение", таким образом, что каждое имя аргумента является свойством и каждым значением, являются значением, чтобы присвоить тому свойству. Например, чтобы установить свойства LowerBound
и Budget
в существующем объекте PortfolioMAD p
, используйте синтаксис:
p = PortfolioMAD(p,'LowerBound', 0,'Budget',1);
В дополнение к объекту PortfolioMAD
, который позволяет вам установить отдельные свойства по одному, группы свойств установлены в объекте PortfolioMAD с различным “набором” и “добавляют” функции. Например, чтобы настроить ограничение среднего оборота, используйте функцию setTurnover
, чтобы задать привязанный оборот портфеля и начальный портфель. Чтобы получить отдельные свойства от объекта PortfolioMAD, получите свойства непосредственно или используйте выбор, “получают” функции, которые получают группы свойств от объекта PortfolioMAD. Объект PortfolioMAD
и функции set
имеют несколько полезных функций:
Объект PortfolioMAD
и функции set
пытаются определить размерности вашей проблемы или с явными или с неявными входными параметрами.
Объект PortfolioMAD
и функции set
пытаются разрешить неоднозначности с выбором по умолчанию.
Объект PortfolioMAD
и функции set
выполняют скалярное расширение на массивах, если это возможно.
Функции PortfolioMAD пытаются диагностировать и предупредить о проблемах.
Объект PortfolioMAD использует функцию отображения по умолчанию, обеспеченную MATLAB, где display
и disp
отображают объект PortfolioMAD и его свойства с или без имени переменной объекта.
Сохраните и загрузите объекты PortfolioMAD с помощью save
MATLAB и команд load
.
Оценка эффективных портфелей и границ эффективности является основной целью инструментов оптимизации портфеля MAD. Набор функций “оценки” и “графика” обеспечивает способы исследовать границу эффективности. “Оценочные” функции получают или эффективные портфели или рискуют и возвращают прокси сформировать границы эффективности. На уровне портфеля набор функций оценивает, что эффективные портфели на границе эффективности с функциями получают эффективные портфели:
В конечных точках границы эффективности
Это достигает предназначенных значений для прокси возврата
Это достигает предназначенных значений для прокси риска
Вдоль целой границы эффективности
Эти функции также обеспечивают покупки, и продажи должны были переключить от начального или текущего портфеля до каждого эффективного портфеля. На уровне границы эффективности набор функций строит границу эффективности и оценивает или риск или возвращает прокси для эффективных портфелей на границе эффективности. Можно использовать результирующие эффективные портфели или рискнуть и возвратить прокси в последующих исследованиях.
Несмотря на то, что все функции, сопоставленные с объектом PortfolioMAD, разработаны, чтобы работать над скалярным объектом PortfolioMAD, возможности массивов MATLAB позволяют вам настроить и работать с массивами объектов PortfolioMAD. Самый легкий способ сделать это с функцией repmat
. Например, чтобы создать 3 2 массив объектов PortfolioMAD:
p = repmat(PortfolioMAD, 3, 2); disp(p)
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
наряду с любыми новыми опциями, которые вы принимаете решение добавить к своему разделенному на подклассы объекту. Класс ThePortfolioMAD
выведен из абстрактного класса под названием AbstractPortfolio
. Из-за этого можно также создать производный класс из AbstractPortfolio
, который реализует совершенно другую форму свойств использования оптимизации портфеля и функции theAbstractPortfolio
класса.
Инструменты оптимизации портфеля MAD следуют этим соглашениям относительно представления различных количеств, сопоставленных с оптимизацией портфеля:
Актив возвращается, или цены за сценарии находятся в матричной форме с выборками для данного актива, спускающегося по строкам и активам, идущим через столбцы. В случае цен ближайшие сроки должны быть во главе матрицы с увеличивающимися датами потеря работоспособности.
Портфели находятся в векторной или матричной форме с весами для данного портфеля, спускающегося по строкам и отличным портфелям, идущим через столбцы.
Ограничения на портфели формируются таким способом, которым портфель является вектор-столбцом.
Портфельные риски и возвраты являются или скалярами или вектор-столбцами (для нескольких портфельных рисков, и возвращается).