EWMAs berechnen
Wir erarbeiten jetzt einige Features, um unsere idealen Portfolios vorhersagen zu können. Als Feature verwenden wir zunächst einfach die Kursbewegung. Dafür erstellen wir eine täglich exponentiell gewichtete gleitende Durchschnittslinie (EWMA) und sampeln sie dann auf den monatlichen Zeitrahmen um. Abschließend verschieben wir den monatlichen gleitenden Durchschnitt des Kurses um einen Monat in die Zukunft, damit wir ihn als Feature für die Vorhersage künftiger Portfolios nutzen können.
Diese Übung ist Teil des Kurses
<Kurs>Maschinelles Lernen für Finanzen in Python</Kurs>Übungsanweisungen
- Verwende einen
spanvon 30, um die täglich exponentiell gewichtete gleitende Durchschnittslinie (ewma_daily) zu berechnen. - Resample die tägliche EWMA auf den Monat, indem du die Business Monthly Start Frequency (BMS) und den ersten Tag des Monats (
.first()) verwendest. - Verschiebe
ewma_monthlyum einen Monat nach vorn, damit wir die EWMA des Vormonats als Feature nutzen können, um das ideale Portfolio des nächsten Monats vorherzusagen.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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])