Vamos prever as taxas de juros
Agora você usará as técnicas de previsão que aprendeu no último exercício e as aplicará a dados reais em vez de dados simulados. Você revisitará um conjunto de dados do primeiro capítulo: os dados anuais das taxas de juros de 10 anos que remontam a 56 anos, que estão em uma série chamada interest_rate_data
. A capacidade de prever as taxas de juros é de enorme importância, não apenas para investidores em títulos, mas também para pessoas físicas, como novos proprietários de imóveis, que precisam decidir entre hipotecas com taxas fixas e flutuantes.
Você viu no primeiro capítulo que há alguma reversão à média nas taxas de juros em horizontes longos. Em outras palavras, quando as taxas de juros são altas, elas tendem a cair e, quando são baixas, tendem a subir ao longo do tempo. Atualmente, elas estão abaixo das taxas de longo prazo, portanto, espera-se que aumentem, mas um modelo AR tenta quantificar o quanto se espera que aumentem.
A classe ARIMA
e a função plot_predict
já foram importadas.
Este exercício faz parte do curso
Análise de séries temporais em Python
Instruções de exercício
Crie uma instância da classe
ARIMA
chamadamod
usando os dados da taxa de juros anual e escolhendoorder
para um modelo AR(1).Ajuste o modelo
mod
usando o método.fit()
e salve-o em um objeto de resultados chamadores
.Trace os dados e as previsões dentro e fora da amostra dos dados usando a função
.plot_predict()
.O primeiro argumento de
plot_predict()
deve ser o modelo ajustado.Passe os argumentos
start=0
para iniciar a previsão na amostra desde o início e escolhaend
como "2027" para prever vários anos no futuro.Observe que o argumento
end
2027 deve estar entre aspas aqui, pois representa uma data e não uma posição inteira.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# Forecast interst rates using an AR(1) model
mod = ARIMA(interest_rate_data, order=___)
res = mod.fit()
# Plot the data and the forecast
fig, ax = plt.subplots()
interest_rate_data.plot(ax=ax)
plot_predict(___, start=___, end=___, alpha=None, ax=ax)
plt.show()