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

Обчисліть EWMA

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

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

Machine Learning для фінансів у 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])
Редагувати та запускати код