О проекте
Что показывает Rateflow, откуда берёт данные и как считает точность прогнозов
Что это
Rateflow показывает курсы доллара, евро, юаня и фунта к рублю сразу из нескольких независимых источников — и следит за тем, чьи предсказания сбываются. Можно посмотреть, как курс менялся за последние дни или за много лет, сравнить цифры разных источников между собой и пересчитать сумму по нужному курсу.
Главное отличие от обычных сервисов с курсами — старые прогнозы здесь не стираются. Каждый раз, когда прогноз обновляется, прежняя версия сохраняется целиком. Поэтому видно не только то, что обещают сегодня, но и то, что обещали неделю или месяц назад, как предсказание менялось со временем и насколько оно в итоге оказалось верным.
Откуда данные
| Источник | Сайт | Что берём | Глубина истории |
|---|---|---|---|
| Банк России | cbr.ru | Официальный курс рубля — им же проверяем, сбылись ли прогнозы | с 1999 года |
| open.er-api.com | open.er-api.com | Международная сводка курсов на сегодня | только текущий день |
| Currency API | github.com/fawazahmed0 | Ещё одна международная сводка, умеет отдавать курс на выбранную дату | последние два года |
| АПЭКОН | apecon.ru | Котировка на сегодня и прогноз по месяцам вперёд | прогноз вперёд, без архива |
У источников разная глубина истории — это нормально и так и задумано. Банк России хранит архив за десятилетия, международные сводки живут «здесь и сейчас», а АПЭКОН смотрит вперёд. Вместе они дают и длинную историю, и несколько независимых мнений о сегодняшнем дне.
Как обновляется
Данные обновляются автоматически, несколько раз в сутки — вручную ничего нажимать не нужно. Источники опрашиваются по очереди, а не все разом: так мы не создаём лишнюю нагрузку на чужие сайты, которыми пользуемся бесплатно.
Каждое обращение к каждому источнику записывается в журнал: когда, к кому, сколько заняло, что ответили. Журнал открыт целиком — его видно на странице «Источники».
Если какой-то источник не отвечает, остальные всё равно отрабатывают: одна неудача не останавливает обновление. В таком случае сайт показывает последние сохранённые данные и честно пишет их дату — ничего не выдумывает и не подставляет вместо пропуска соседнее значение.
Про прогнозы
Прогнозов на сайте два. Первый — от АПЭКОН: это внешний источник, он публикует ожидаемый курс по месяцам вперёд. Второй — собственная модель Rateflow: она продолжает график на неделю вперёд, беря среднее значение курса за последние семь дней. Модель нарочно простая, она нужна как точка отсчёта: с чем-то же надо сравнивать чужие прогнозы.
Каждое обновление прогноза сохраняется отдельным снимком. Благодаря этому на странице «Прогнозы» можно проиграть историю как запись, посмотреть все версии сразу — веером — и увидеть, как менялось предсказание на одну конкретную дату по мере того, как она приближалась.
Как считается точность
Берём только те прогнозы, срок которых уже наступил: если предсказание было на 1 июня, а первое июня давно прошло, его есть с чем сравнить. Сравниваем с фактическим курсом Банка России на тот же день и смотрим, насколько разошлись цифры. Прогнозы, которым ещё предстоит сбыться, в счёт не идут.
Почему числа разбиты по горизонтам. Предсказать курс на завтра гораздо легче, чем на год вперёд, и ошибка на длинном сроке всегда будет больше — у любой модели. Поэтому результаты разложены по группам: до недели, до месяца, дальше месяца. Сравнивать имеет смысл только внутри одной группы; общая средняя ошибка «за всё сразу» смешала бы лёгкую задачу с трудной и никому ничего бы не сказала.
Чем отличается измерение у двух источников. У АПЭКОН считаются настоящие, когда-то опубликованные прогнозы — мы сохраняли их по мере появления. У собственной модели цифры получены иначе: она прогоняется по прошлым данным задним числом, день за днём, и на каждый день видит только то, что было известно к тому моменту. Это честный расчёт, но всё же пересчёт по истории, а не публичное обещание, данное заранее. Прямо сравнивать две колонки поэтому не стоит.
Важно
Сайт сделан для наглядности и обучения. Это не инвестиционная рекомендация: принимать по нему решения о деньгах не стоит. Данные могут запаздывать, содержать ошибки или расходиться с тем, что показывает ваш банк, а любой прогноз — включая те, что здесь показаны, — может не сбыться.
Как сделано
Это открытый учебный проект: он сделан, чтобы разобраться самому и показать другим, как устроены данные о курсах. Написан на Ruby on Rails, графики нарисованы библиотекой Chart.js.
Исходный код можно посмотреть целиком: github.com/RisaGithub/Rateflow.
Контакты
Нашли ошибку или хотите что-то предложить — напишите: rateflow.app@proton.me.