Оптимизация с пользовательской функцией моментов
Теперь запустим оптимизацию с нашей пользовательской функцией моментов. Напомним, что моменты портфеля задаются в optimize.portfolio() при вычислении функции моментов. Чтобы использовать пользовательскую функцию, передайте её имя в аргумент momentFUN функции optimize.portfolio(). Обратите внимание, как PortfolioAnalytics позволяет легко запускать оптимизацию с различными методами оценки моментов — это даёт возможность сравнивать разные подходы и уточнять оценки на основе анализа результатов оптимизации.
Это упражнение является частью курса
Промежуточный анализ портфеля в R
Инструкции к упражнению
Для выполнения этого упражнения уже созданы объект спецификации портфеля port_spec и пользовательская функция моментов moments_robust().
- Запустите оптимизацию с пользовательскими оценками моментов. Сохраните результат в переменную с именем
opt_custom. - Выведите результат
opt_custom. - Запустите оптимизацию с выборочными оценками моментов. Сохраните результат в переменную с именем
opt_sample. - Выведите результат
opt_sample.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Run the optimization with custom moment estimates
opt_custom <- optimize.portfolio(R = ___, portfolio = ___, optimize_method = "random", rp = rp, momentFUN = ___)
# Print the results of the optimization with custom moment estimates
# Run the optimization with sample moment estimates
opt_sample <- optimize.portfolio(R = ___, portfolio = ___, optimize_method = "random", rp = rp)
# Print the results of the optimization with sample moment estimates