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

Оценки выборочных моментов

По умолчанию для оценки моментов портфеля используется выборочный метод. Моменты вычисляются внутри optimize.portfolio() путём вызова функции, переданной в аргумент momentFUN. Значение momentFUN по умолчанию — set.portfolio.moments(), которая рассчитывает выборочные моменты. Затем эти моменты передаются в целевые функции. Набор оцениваемых моментов зависит от поставленных целей. Например, для минимизации стандартного отклонения портфеля достаточно оценить только второй момент, тогда как максимизация коэффициента Шарпа требует оценки и первого, и второго моментов. Выборочные оценки моментов имеют свои недостатки: в частности, ошибку оценивания и проклятие размерности. Чем больше активов и параметров необходимо оценить, тем выше риск ошибки оценивания.

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

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

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

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

  • Добавьте целевую функцию доходности, указав "mean" в качестве имени цели.
  • Рассчитайте выборочные моменты с помощью set.portfolio.moments. Сохраните результат в переменную moments.
  • Проверьте, совпадает ли первый момент с выборочной оценкой средней доходности.
  • Добавьте целевую функцию риска, указав "StdDev" в качестве имени цели.
  • Рассчитайте выборочные моменты с помощью set.portfolio.moments. Сохраните результат в переменную moments.
  • Проверьте, совпадает ли второй момент с выборочной оценкой матрицы ковариаций.

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

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

# Add a return objective with "mean" as the objective name
port_spec <- add.objective(portfolio = port_spec, type = ___, name = ___)

# Calculate the sample moments
moments <- set.portfolio.moments(R = ___, portfolio = ___)

# Check if moments$mu is equal to the sample estimate of mean returns
moments$mu == colMeans(asset_returns)

# Add a risk objective with "StdDev" as the objective name
port_spec <- add.objective(portfolio = port_spec, type = ___, name = ___)

# Calculate the sample moments using set.portfolio.moments. Assign to a variable named moments.
moments <- set.portfolio.moments(R = ___, portfolio = ___)

# Check if moments$sigma is equal to the sample estimate of the variance-covariance matrix
moments$sigma == cov(asset_returns)
Редактировать и запускать код