Aan de slagGa gratis aan de slag

Laten we rentevoeten voorspellen

Je gaat nu de forecasting-technieken uit de vorige oefening toepassen op echte data in plaats van gesimuleerde data. Je pakt een gegevensset uit het eerste hoofdstuk erbij: jaarlijkse data van 10-jaarsrente over de afgelopen 56 jaar, opgeslagen in een Series met de naam interest_rate_data. Rentevoeten kunnen voorspellen is enorm belangrijk, niet alleen voor obligatiebeleggers, maar ook voor bijvoorbeeld nieuwe huiseigenaren die moeten kiezen tussen een vaste of variabele hypotheekrente.

In het eerste hoofdstuk zag je dat rentevoeten over lange perioden enige mean reversion vertonen. Met andere woorden: wanneer de rente hoog is, daalt die meestal, en wanneer de rente laag is, stijgt die doorgaans in de tijd. Op dit moment liggen ze onder de langetermijnrente, dus verwacht je een stijging, maar een AR-model probeert te kwantificeren hoeveel die stijging naar verwachting zal zijn.

De klasse ARIMA en de functie plot_predict zijn al geïmporteerd.

Deze oefening maakt deel uit van de cursus

Tijdreeksanalyse in Python

Cursus bekijken

Oefeninstructies

  • Maak een instantie van de klasse ARIMA met de naam mod met de jaarlijkse rentegegevens en kies de order voor een AR(1)-model.
  • Fit het model mod met de methode .fit() en sla het op in een resultatenobject met de naam res.
  • Plot de data en de in-sample- en out-of-sample-voorspellingen met de functie .plot_predict().
    • Het eerste argument van plot_predict() moet het gefitte model zijn.
    • Geef de argumenten start=0 mee om de in-sample-voorspelling vanaf het begin te starten, en kies end als '2027' om meerdere jaren vooruit te voorspellen.
    • Let op: het end-argument 2027 moet hier tussen aanhalingstekens staan, omdat het een datum is en geen geheelgetalpositie.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren