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