ПочатиПочніть безкоштовно

Спробуймо спрогнозувати відсоткові ставки

Тепер ви застосуєте прийоми прогнозування, які вивчили у попередній вправі, до реальних даних, а не змодельованих. Ви знову повернетеся до набору даних із першого розділу: річні дані про 10-річні відсоткові ставки за останні 56 років, що зберігаються в Series під назвою interest_rate_data. Уміння прогнозувати відсоткові ставки має величезне значення не лише для інвесторів в облігації, а й для людей, наприклад нових власників житла, яким потрібно обирати між іпотекою з фіксованою чи плаваючою ставкою.

У першому розділі ви бачили, що на довгих горизонтах у відсоткових ставках є певне повернення до середнього. Тобто коли ставки високі, вони мають тенденцію знижуватися, а коли низькі — підвищуватися з часом. Наразі вони нижчі за довгострокові рівні, тож очікується зростання, але модель AR намагається кількісно оцінити, наскільки саме вони мають зрости.

Клас ARIMA та функцію plot_predict уже імпортовано.

Ця вправа є частиною курсу

Аналіз часових рядів у Python

Переглянути курс

Інструкції до вправи

  • Створіть екземпляр класу ARIMA під назвою mod, використавши річні дані відсоткових ставок і вибравши order для моделі AR(1).
  • Навчіть модель mod за допомогою методу .fit() і збережіть результат у об'єкті результатів під назвою res.
  • Побудуйте графік даних та внутрішньовибіркових і позавибіркових прогнозів за допомогою функції .plot_predict().
    • Першим аргументом plot_predict() має бути навчена модель.
    • Передайте аргументи start=0, щоб почати внутрішньовибірковий прогноз з початку, і задайте end як '2027', щоб спрогнозувати на кілька років уперед.
    • Зверніть увагу: аргумент end 2027 тут має бути в лапках, адже це дата, а не індекс за номером.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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()
Редагувати та запускати код