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