Obter previsões e primeira avaliação
Agora que temos um modelo de random forest treinado (rfr), queremos usá‑lo para obter previsões no conjunto de teste. Fazemos isso para avaliar o desempenho do modelo — de forma básica, ele está indo tão bem quanto ou melhor do que simplesmente comprar o índice, SPY?
Vamos usar o método padrão do sklearn .predict(features), depois multiplicar nossos retornos mensais pelas previsões do portfólio. Somamos tudo com np.sum() porque teremos 3 linhas para cada mês. Em seguida, vamos plotar tanto os retornos mensais vindos das nossas previsões quanto os do SPY e comparar os dois.
Este exercicio faz parte do curso
Machine Learning para Finanças em Python
Instruções do exercicio
- Use o método
.predict()do modelo de random forestrfrpara fazer previsões emtrain_featuresetest_features. - Multiplique a parte de teste de
returns_monthlyportest_predictionspara obter os retornos das nossas previsões no conjunto de teste. - Plote
returns_monthlydo conjunto de teste para'SPY'(tudo detrain_sizeaté o fim dos dados).
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# Get predictions from model on train and test
train_predictions = rfr.predict(train_features)
test_predictions = ____
# Calculate and plot returns from our RF predictions and the SPY returns
test_returns = np.sum(returns_monthly.iloc[train_size:] * ____, axis=1)
plt.plot(test_returns, label='algo')
plt.plot(returns_monthly['SPY'].iloc[____], label='SPY')
plt.legend()
plt.show()