НачатьНачать бесплатно

Пользовательская целевая функция

Одна из ключевых особенностей PortfolioAnalytics состоит в том, что имя целевой функции должно быть допустимым именем функции R. Пакет разработан с акцентом на гибкость и модульность, и пользовательские целевые функции — наглядный тому пример. При определении пользовательской функции моментов рекомендуется придерживаться нескольких правил:

  • Целевая функция должна возвращать единственное значение, которое оптимизатор будет минимизировать или максимизировать.
  • Настоятельно рекомендуется использовать R для доходностей активов и weights для весов портфеля.

Эти имена аргументов определяются автоматически и обрабатываются эффективным образом. Любые дополнительные аргументы целевой функции можно передать в виде именованного списка через параметр arguments функции add.objective().

Это упражнение является частью курса

Промежуточный анализ портфеля в R

Посмотреть курс

Инструкции к упражнению

  • Определите пользовательскую целевую функцию для вычисления годового стандартного отклонения портфеля.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Custom annualized portfolio standard deviation
pasd <- function(___, ___, sigma, scale = 12){
  sqrt(as.numeric(t(___) %*% ___ %*% ___)) * sqrt(scale)
}
Редактировать и запускать код