Кривая ОФЗ
Одним из показателей макроэкономики в стране является кривая безкупонной доходности облигаций федерального займа (ОФЗ БКД) — это аппроксимация доходности государственных облигаций с разными датами погашения, если бы за них не платили купоны.
По форме и крайним значениям кривой можно судить о стабильности экономической ситуации в стране. «Правильная» форма, как на рисунке ниже, свидетельствует о развитии экономики. Краткосрочные облигации имеют небольшую доходность, долгосрочные — высокую. Уровень «плато» долгосрочных облигаций примерно равен инфляции.
Если кривая «инвертируется» или «уплощается», то это свидетельствует о кризисе — инвесторы не верят в долгосрочные вложения в страну.
Мне стало интересно, что же сейчас происходит в стране и я решил сделать небольшой инструмент для мониторинга кривой ОФЗ. Я вдохновлялся работой New York Times о кривой доходности государственных облигаций США и тем, чему научился во время работы над Скайбоднс в Лаборатории данных. Немного рассказываю про этот проект и облигации на кодфесте.
Вот, что у меня получилось:
Видно, что последние 4 года кривая ОФЗ почти всегда инвертированная и коридор доходности между краткосрочными и долгосрочными бумагами небольшой. Это говорит о том, что экономика не стабильна. Однако радует, что сама кривая не ползет вверх. Сейчас центробанк верит, что в стране всё становится лучше и снижает ключевую ставку, за ней следует и кривая, значит инвесторы тоже думают так же, как и центробанк. Это вроде бы неплохо, но инвестор из меня доморощенный, за прогнозы не ручаюсь.
Ещё понравился вот такой вид, когда данные за каждый день представлены по годам слева направо:
Технические особенности
Тот редкий случай, когда 3d в графиках служит на пользу, а не во вред. Чтобы сделать псевдо-3d в Табло использовал преобразования в полярных координаторах, чтобы отрисовать с помощью линий проекцию трехмерного графика. Для этого умножаем каждую координату на сочетание cos() и sin(). Как это делается подсмотрел тут. С осями это выглядит так:
Сделать нормальную анимацию в Табло пока, к сожалению, нельзя, хотя это бывает мощный инструмент визуализации. А в вебе pages вообще не работают. Записал гифку с десктопа, но почему-то она не проигрывается при вставке в блог. Тогда ссылочкой — https://recordit.co/s161XJx5lp
Данные я брал с сайта центробанка, с помощью гугл-таблиц. Оказывается есть замечательные функции IMPORTHTML и IMPORTXML. Сделал гугл-табличку, которая подставляет в урл сайта нужную дату и парсит оттуда данные. Формула такая: IMPORTXML(«https://www.cbr.ru/hd_base/zcyc_params/zcyc/?DateTo=» & Text(A4201,«dd.mm.yyyy»),«//tr[2]»). Выглядит это так:
Поставил гугл-таблицу и Табло обновляться автоматом, в теории дашборд теперь будет автоматом обновляться, посмотрим.