Calcular EWMAs
Agora vamos trabalhar na criação de alguns recursos para conseguir prever nossos portfólios ideais. Por enquanto, vamos usar apenas o movimento de preço como feature. Para isso, vamos criar uma média móvel exponencial diária (EWMA) e depois fazer o reamostragem para a periodicidade mensal. Por fim, vamos deslocar a média móvel mensal de preço em um mês à frente, para que possamos usá-la como feature para prever portfólios futuros.
Este exercicio faz parte do curso
Machine Learning para Finanças em Python
Instruções do exercicio
- Use um
spande 30 para calcular a média móvel exponencial diária (ewma_daily). - Faça a reamostragem da EWMA diária para o mês usando a frequência Business Monthly Start (BMS) e o primeiro dia do mês (
.first()). - Desloque
ewma_monthlyum mês para frente, para que possamos usar a EWMA do mês anterior como feature para prever o portfólio ideal do mês seguinte.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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])