Zacznij terazZacznij za darmo

Obliczanie EWMA

Teraz przystąpimy do tworzenia cech, które pozwolą przewidywać optymalne portfele. Na razie jako cechę wykorzystamy po prostu ruch cen. W tym celu obliczymy dzienną wykładniczo ważoną średnią ruchomą (EWMA), a następnie próbkujemy ją do horyzontu miesięcznego. Na koniec przesuniemy miesięczną średnią ruchomą ceny o jeden miesiąc w przyszłość, aby móc jej użyć jako cechy do przewidywania przyszłych portfeli.

To ćwiczenie jest częścią kursu

Uczenie maszynowe w finansach z Pythonem

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj parametru span równego 30, aby obliczyć dzienną wykładniczo ważoną średnią ruchomą (ewma_daily).
  • Próbkuj dzienną EWMA do poziomu miesięcznego, korzystając z częstotliwości Business Monthly Start (BMS) i pierwszego dnia miesiąca (.first()).
  • Przesuń ewma_monthly o jeden miesiąc do przodu, aby móc wykorzystać EWMA z poprzedniego miesiąca jako cechę do przewidywania optymalnego portfela w kolejnym miesiącu.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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])
Edytuj i uruchom kod