Kom igångKom igång gratis

Beräkna EWMA:er

Nu ska vi skapa några särdrag för att kunna förutsäga våra optimala portföljer. Vi använder prisrörelsen som särdrag för tillfället. För att göra det skapar vi ett dagligt exponentiellt viktat glidande medelvärde (EWMA), som vi sedan samplar om till månadsintervall. Slutligen förskjuter vi det månatliga glidande medelvärdet en månad framåt, så att vi kan använda det som ett särdrag för att förutsäga framtida portföljer.

Den här övningen är en del av kursen

Maskininlärning för finans i Python

Visa kurs

Övningsinstruktioner

  • Använd ett span på 30 för att beräkna det dagliga exponentiellt viktade glidande medelvärdet (ewma_daily).
  • Sampla om det dagliga EWMA till månadsintervall med hjälp av frekvensen Business Monthly Start (BMS) och månadens första dag (.first()).
  • Förskjut ewma_monthly en månad framåt, så att vi kan använda föregående månads EWMA som ett särdrag för att förutsäga nästa månads optimala portfölj.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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])
Redigera och kör kod