Kom igångKom igång gratis

Låt oss prognostisera räntor

Nu ska du använda de prognostekniker du lärde dig i föregående övning och tillämpa dem på verkliga data i stället för simulerade data. Du återvänder till ett dataset från det första kapitlet: årsdata för 10-åriga räntor som sträcker sig 56 år bakåt i tiden, lagrad i en Series kallad interest_rate_data. Förmågan att prognostisera räntor är enormt viktig – inte bara för obligationsinvesterare, utan också för privatpersoner som nyligen köpt bostad och behöver välja mellan bunden och rörlig ränta.

I det första kapitlet såg du att det förekommer en viss återgång till medelvärdet i räntor över långa tidshorisonter. Med andra ord: när räntorna är höga tenderar de att sjunka, och när de är låga tenderar de att stiga med tiden. För närvarande ligger de under de långsiktiga nivåerna, vilket innebär att de förväntas stiga – men en AR-modell försöker kvantifiera hur mycket de förväntas stiga.

Klassen ARIMA och funktionen plot_predict har redan importerats.

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

Tidsserieanalys i Python

Visa kurs

Övningsinstruktioner

  • Skapa en instans av klassen ARIMA kallad mod med hjälp av den årliga ränteserien och välj order för en AR(1)-modell.
  • Anpassa modellen mod med metoden .fit() och spara resultatet i ett resultatobjekt kallat res.
  • Rita data samt in-sample- och out-of-sample-prognoserna med funktionen plot_predict().
    • Det första argumentet till plot_predict() ska vara den anpassade modellen.
    • Skicka in argumenten start=0 för att starta in-sample-prognosen från början, och sätt end till '2027' för att prognostisera flera år framåt.
    • Observera att argumentet 2027 måste anges inom citationstecken här, eftersom det representerar ett datum och inte en heltalsposition.

Interaktiv övning med praktiskt arbete

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

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