Začněte nyníZačněte zdarma

Pojďme předpovědět úrokové sazby

Teď využiješ techniky předpovídání z předchozího cvičení a aplikuješ je na reálná data místo simulovaných. Vrátíme se k datové sadě z první kapitoly: ročním datům desetiletých úrokových sazeb za posledních 56 let, která jsou uložena v Series s názvem interest_rate_data. Schopnost předpovídat úrokové sazby má obrovský význam – nejen pro investory do dluhopisů, ale i pro jednotlivce, jako jsou noví majitelé nemovitostí, kteří se musí rozhodnout mezi hypotékou s pevnou a variabilní sazbou.

V první kapitole jsi viděl/a, že u úrokových sazeb dochází v dlouhých horizontech k určitému návratu k průměru. Jinými slovy, když jsou úrokové sazby vysoké, mají tendenci klesat, a když jsou nízké, časem rostou. Aktuálně jsou pod úrovní dlouhodobých sazeb, takže se očekává jejich růst – model AR se ale snaží kvantifikovat, o kolik by měly vzrůst.

Třída ARIMA a funkce plot_predict jsou již naimportovány.

Toto cvičení je součástí kurzu

Analýza časových řad v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř instanci třídy ARIMA s názvem mod pomocí ročních dat úrokových sazeb a zvol order odpovídající modelu AR(1).
  • Natrénuj model mod pomocí metody .fit() a výsledek ulož do objektu s výsledky s názvem res.
  • Vykresli data spolu s in-sample a out-of-sample predikcemi pomocí funkce .plot_predict().
    • Prvním argumentem funkce plot_predict() by měl být natrénovaný model.
    • Předej argument start=0, aby in-sample předpověď začínala od začátku, a jako end zvol '2027', aby prognóza sahala několik let do budoucnosti.
    • Všimni si, že argument end s hodnotou 2027 musí být v uvozovkách, protože představuje datum, nikoli celočíselnou pozici.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód