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

Вычисление EWMA

Теперь мы приступим к созданию признаков для предсказания оптимальных портфелей. В качестве признака пока будем использовать динамику цены. Для этого вычислим ежедневное экспоненциально взвешенное скользящее среднее (EWMA), затем сделаем ресемплинг до месячного временного масштаба. Наконец, сдвинем месячное скользящее среднее цены на один месяц вперёд, чтобы использовать его как признак для предсказания будущих портфелей.

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

Машинное обучение для финансов на Python

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

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

  • Используйте span равный 30 для вычисления ежедневного экспоненциально взвешенного скользящего среднего (ewma_daily).
  • Выполните ресемплинг дневного EWMA до месячного масштаба с использованием частоты Business Monthly Start (BMS) и первого дня месяца (.first()).
  • Сдвиньте ewma_monthly на один месяц вперёд, чтобы использовать EWMA предыдущего месяца как признак для предсказания оптимального портфеля следующего месяца.

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

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

# Calculate exponentially-weighted moving average of daily returns
ewma_daily = returns_daily.ewm(span=____).mean()

# Resample daily returns to first business day of the month with the first day for that month
ewma_monthly = ewma_daily.resample(____).____

# Shift ewma for the month by 1 month forward so we can use it as a feature for future predictions 
ewma_monthly = ewma_monthly.____.dropna()

print(ewma_monthly.iloc[-1])
Редактировать и запускать код