Calculează EWMA-uri
Vom lucra acum la crearea unor caracteristici care să ne permită să prezicem portofoliile ideale. Vom folosi deocamdată variația prețului ca caracteristică. Pentru aceasta, vom calcula o medie mobilă exponențial ponderată (EWMA) zilnică, pe care o vom reeșantiona la intervalul lunar. În final, vom decala media mobilă lunară a prețului cu o lună în viitor, astfel încât să o putem folosi ca caracteristică pentru a prezice portofoliile viitoare.
Acest exercițiu face parte din cursul
Machine Learning pentru finanțe în Python
Instrucțiuni pentru exercițiu
- Folosește un
spande 30 pentru a calcula media mobilă exponențial ponderată zilnică (ewma_daily). - Reeșantionează EWMA zilnică la nivel lunar utilizând frecvența Business Monthly Start (BMS) și prima zi a lunii (
.first()). - Decalează
ewma_monthlycu o lună în față, astfel încât să poți folosi EWMA lunii anterioare ca caracteristică pentru a prezice portofoliul ideal al lunii următoare.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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])