Prognozowanie stóp procentowych
Teraz wykorzystasz techniki prognozowania poznane w poprzednim ćwiczeniu i zastosujesz je do rzeczywistych danych. Wrócimy do zbioru danych z pierwszego rozdziału: rocznych danych dotyczących 10-letnich stóp procentowych z ostatnich 56 lat, zapisanych w serii interest_rate_data. Umiejętność prognozowania stóp procentowych ma ogromne znaczenie – nie tylko dla inwestorów obligacyjnych, ale też dla osób takich jak nowi właściciele domów, którzy muszą wybrać między kredytem o stałym a zmiennym oprocentowaniu.
W pierwszym rozdziale zauważyłeś(-aś), że stopy procentowe wykazują pewną tendencję do powrotu do średniej w długim horyzoncie czasowym. Innymi słowy, gdy stopy są wysokie, mają tendencję do spadku, a gdy są niskie – do wzrostu. Obecnie kształtują się poniżej długoterminowych poziomów, więc oczekuje się ich wzrostu. Model AR pozwala jednak skwantyfikować, jak duży wzrost jest spodziewany.
Klasa ARIMA oraz funkcja plot_predict zostały już zaimportowane.
To ćwiczenie jest częścią kursu
Analiza szeregów czasowych w Pythonie
Instrukcje do ćwiczenia
- Utwórz instancję klasy
ARIMAo nazwiemod, używając rocznych danych o stopach procentowych i wybierając parametrorderodpowiedni dla modelu AR(1). - Dopasuj model
modza pomocą metody.fit()i zapisz wynik w obiekcie wynikowym o nazwieres. - Wykreśl dane oraz prognozy wewnątrz- i pozapróbkowe, korzystając z funkcji
plot_predict().- Pierwszym argumentem
plot_predict()powinien być dopasowany model. - Przekaż argument
start=0, aby prognoza wewnątrzpróbkowa zaczynała się od początku, oraz ustawendna '2027', aby prognozować kilka lat w przyszłość. - Zwróć uwagę, że argument
endo wartości 2027 musi być ujęty w cudzysłów, ponieważ reprezentuje datę, a nie pozycję całkowitoliczbową.
- Pierwszym argumentem
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()