Серфим по волнам ставки ЦБ РФ
Сегодня 13 февраля 2026 состоится очередное заседание умных голов для обсуждения ключевой ставки Центрального банка РФ.
Чем это важно для инвестора? Чем ниже ставка - ниже ставка вкладов и ниже доходности ОФЗ; ставка RUONIA привязана к ставке ЦБ и следует за ней - чем она ниже, тем ниже и облигации-флоатеры, следующие за этим показателем.
Банки сейчас активно предлагают вклады с привязкой к ставке ЦБ - для них это "субпродукт" между облигациями-флоатерами и привычными всем депозитами. Ко всему их проще сопровождать, оценивать и рекомендовать населению особенно на волнах хайпа по ИскИнам.
Мы же попробуем спрогнозировать, какой будет ставка ЦБ дальше и для этого напишем свою программу на R с блекджеком и куртизанками!
Сначала заберем данные с сайта ЦБ РФ (я это уже сделал и оформил в виде CSV-файла INF_F17_09_2013_T12_02_2026.csv).
Весь код с файлом можно забрать из моего GitHub
В работе будем использовать библиотеки:
📦 tsibble
Назначение: Временные ряды в tidy-стиле (temporal tibble)
Что делает:
- Превращает обычный data.frame в tsibble — специальный формат для временных рядов
- Требует явно указать индекс (дату) и ключи (группы)
- Понимает временную периодичность (месяц, квартал, год)
- Умеет работать с пропусками во времени
- Интегрирован с пакетами прогнозирования
Зачем здесь: as_tsibble(index = Дата) — делает данные "понятными" для fable, позволяет использовать new_data(), lag(), и другие временные функции.
📦 fable
Назначение: Прогнозирование временных рядов (Forecasting)
Что делает:
- model() — спецификация и обучение моделей
- TSLM() — временная линейная регрессия
- forecast() — генерация прогнозов
- report() — вывод статистики модели
- accuracy() — оценка качества
- Поддержка ARIMA, ETS, NNAR, VAR и др.
Зачем здесь: Это сердце анализа. Мы строим модель TSLM(Ставка ~ Инфляция + trend()), обучаем её и получаем прогноз.
📦 feasts
Назначение: Анализ и визуализация временных рядов (Feature Extraction And Statistics)
Что делает:
- autoplot(), gg_season(), gg_subseries() — визуализация
- ACF(), PACF() — автокорреляция
- STL() — декомпозиция ряда
- features() — извлечение признаков (тренд, сезонность, пики)
Зачем здесь: Хотя в текущем коде feasts не вызывается явно, он часто используется вместе с fable для диагностики модели и анализа остатков. Полезен для проверки: есть ли автокорреляция в остатках, нужна ли сезонность.
Пишем код на R
Загружаем данные из файла
Немного магии преобразований чисел в нужный нам формат и фильтрация по полю "Ставка":
Будем использовать общепринятый формат tsibble для работы с TimeSeries.
Также в R есть замечательный инструмент %>% - называется "пайп" или pipe, позволяющие производить быстрые преобразования.
select - выбираем наши данные, filter - фильтруем. Особенность пайпов - это работа кода справа налево - сначала преобразование данных в тип tsibble, затем фильтрация, затем выборка select, затем применение изменений через mutate.
Проверяем, что всё выглядит как нужно и значения не потеряны:
Всё цифры на месте, даты тоже выглядят как даты.
Строим график, посмотрим как это всё выглядит:
Построение модели для прогнозирования
Классически, для обучения ИИ на фондовых рынках используют методы, которые используют все нейросети, в том числе LSTM - создание набора данных, обучающей выборки и тренировка модели.
Поскольку нам не нужна супер-точность, мы же не ЦБ РФ - используем метод TSLM (Time Series Linear Model) — метод линейной регрессии для временных рядов из пакета fable.
📌 Суть метода:
Обычная линейная регрессия, но с учётом временной структуры данных. Оценивается МНК (метод наименьших квадратов).
📐 Формула:
y_t = β₀ + β₁·x₁ + β₂·x₂ + … + ε_t
У метода много минусов, но и много плюсов - в нашем случае - хорошая прогнозируемость и простота применения.
Смотрим в результаты:
Теперь посмотрим, какая ставка ЦБ будет в марте 2026г:
Построим график, чтобы было наглядно:
Итоги
Наш вердикт как профессионального серфера по волнам биржевых котировок - ставка останется на текущем уровне в 16%
Хотите знать больше?
ВАЖНО! Не является инвестиционной или финансовой рекомендацией. Все описанное - только отражение личного опыта автора и его размышления. Я никого не убеждаю и не побуждаю к действиям. Любые инвестиции это только Ваш выбор.