ПочатиПочніть безкоштовно

Оптимізація з власною цільовою функцією

Ця вправа продовжує попередню: ми запустимо оптимізацію з власною цільовою функцією, що обчислює річну стандартну девіацію портфеля. Оскільки цільова функція може бути будь-якою коректною функцією R, ми додаємо ризикову мету для функції pasd(). Функція set.portfolio.moments() не розпізнає назву цілі pasd(), тож нам потрібно створити власну моментну функцію для обчислення другого моменту sigma. Ми розв'яжемо задачу, використовуючи випадкові портфелі як метод оптимізації.

Ця вправа є частиною курсу

Середній рівень аналізу портфеля в R

Переглянути курс

Інструкції до вправи

  • Додайте власну цільову функцію, створену у попередній вправі, до об'єкта специфікації портфеля.
  • Виведіть об'єкт специфікації портфеля, щоб побачити обмеження та ціль.
  • Запустіть оптимізацію. Назва власної моментної функції — set_sigma.
  • Виведіть результати оптимізації.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.


# Add custom objective to portfolio specification
port_spec <- add.objective(portfolio = ___, type = ___, name = ___)

# Print the portfolio specificaton object


# Run the optimization
opt <- optimize.portfolio(R = ___, portfolio = ___, momentFUN = ___, optimize_method = "random", rp = rp)

# Print the results of the optimization

Редагувати та запускати код