Обчисліть 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])