Справочные курсы USD/PLN: почему NBP и ЕЦБ расходятся на одной дате
250 общих дат 2025 года: сравнение справочных курсов USD/PLN, месячные результаты, точные расчеты и ограничения.
Объединение официальных публикаций по одинаковой дате дает 250 общих наблюдений за 2025 год. Средняя разность со знаком равна −0,931 базисного пункта, а среднее абсолютных разностей — 16,815 базисного пункта. Положительные и отрицательные значения в среднем со знаком в значительной мере компенсируются.
Медиана со знаком составляет −1,047 б.п.; медиана модулей — 12,083 б.п. Минимальная разность со знаком равна −66,406 б.п. 11 апреля 2025 года. Максимальная разность со знаком и максимальный модуль равны 72,769 б.п. 8 апреля 2025 года. На 122 датах курс NBP выше, на 128 — ниже; равных наблюдений нет.
Метод: сначала приведите курсы к одной единице
Таблица A NBP дает PLN за USD. ЕЦБ публикует PLN за EUR и USD за EUR; деление первого курса на второй дает PLN за USD. Для каждой общей даты вычисляем 10 000 × (NBP_PLN_per_USD × ECB_USD_per_EUR / ECB_PLN_per_EUR − 1). Положительный результат означает, что значение NBP выше производного значения ЕЦБ.
Единица результата — базисный пункт относительной разности: 1 б.п. = 0,01 процентного пункта. Это не пипс валютной пары и не спред. Используем только совпадающие даты публикации, без интерполяции и переноса предыдущего курса на отсутствующую дату. Все 250 дневных расчетов и 12 месячных агрегатов отдельно пересчитаны с точной рациональной арифметикой.
У NBP 251 дата публикации, у ЕЦБ — 255. Только у NBP есть 18 апреля; только у ЕЦБ — 6 января, 19 июня, 15 августа, 11 ноября и 24 декабря. Это наблюдаемые различия календарей в снимке. Поэтому объединение по номеру строки вместо даты может сопоставить разные дни.
Интерпретация и ограничения
NBP указывает окно публикации таблицы A 11:45–12:15. ЕЦБ с июля 2016 года публикует справочные курсы примерно в 16:00 CET. Расписание не является точным временем каждого наблюдения 2025 года. При сравнении с UTC нельзя навязывать один сдвиг на весь год: нужно учитывать летнее время.
Одинаковая дата не означает одновременную фиксацию цены. Мы не приписываем каждую разность только прошедшему времени: методика и округление также могут различаться. Точная методика фиксации NBP на каждом участке 2025 года здесь полностью не аудировалась.
Это справочные курсы, а не исполнимые предложения Bid/Ask. Разности не доказывают возможность арбитража, величину спреда, расходы у брокера или результат сделки. Практический вывод для работы с данными: источник и согласование календарей имеют значение, а среднее со знаком не описывает обычный размер расхождения между двумя значениями.
Происхождение данных
Снимки загружены 7 октября 2026 года. URL, точные исходные времена загрузки, размеры и SHA-256 перечислены в файле источников. При подготовке этой версии четыре исторических ответа API NBP были прочитаны повторно и совпали с закрепленными файлами по байтам; это отдельная проверка текущей выдачи, а не доказательство версии, доступной в момент событий 2025 года. Исходный снимок не заменялся.
Публичный CSV содержит только месячные агрегаты. Исходники NBP и дневное объединение остаются вне распространяемого ZIP. Программа получает NBP непосредственно из официального API для локального пересчета и останавливается при несовпадении закрепленных хешей. Источники — NBP и ECB statistics; производные результаты являются нашими расчетами, а не статистикой, опубликованной банками.
Месячные результаты
| Месяц | Общие даты | Среднее со знаком, б.п. | Среднее модулей, б.п. |
|---|---|---|---|
| 2025-01 | 21 | -4,836 | 20,695 |
| 2025-02 | 20 | 4,019 | 21,589 |
| 2025-03 | 21 | 0,138 | 21,363 |
| 2025-04 | 20 | 0,116 | 25,123 |
| 2025-05 | 21 | -4,235 | 16,812 |
| 2025-06 | 20 | -2,437 | 14,519 |
| 2025-07 | 23 | -8,152 | 16,273 |
| 2025-08 | 20 | 6,657 | 16,993 |
| 2025-09 | 22 | -2,630 | 9,659 |
| 2025-10 | 23 | -7,649 | 13,985 |
| 2025-11 | 19 | 6,331 | 14,800 |
| 2025-12 | 20 | 4,431 | 10,668 |
Условный пример: ноль в среднем не означает совпадение
Полностью гипотетические данные, не реальные даты или котировки исследования. Пусть для двух условных записей ЕЦБ дает 1,25 USD за EUR и 5,00 PLN за EUR. Производный курс равен 5,00 / 1,25 = 4,00 PLN за USD. В первой условной записи зададим NBP 4,0080, во второй — 3,9920 PLN за USD.
Формула дает соответственно +20 и −20 б.п. Среднее со знаком: (+20 − 20) / 2 = 0 б.п. Среднее модулей: (20 + 20) / 2 = 20 б.п. В обеих записях курсы различаются, хотя среднее со знаком равно нулю. Перед выводом «источники почти совпадают» посмотрите также модуль разностей, медиану и отдельные даты. Эти условные числа не задают исполнимые цены или торговую прибыль.
Воспроизведение и файлы
- Месячные агрегаты (CSV)
- Только исследование A: код, неизмененный XML ЕЦБ и русская инструкция (ZIP; без исходников NBP)
- Итоги исследования A и явно условный пример (JSON)
- Источники, исходные времена загрузки и SHA-256 (JSON)
- Инструкция и расшифровка полей (TXT)
Распакуйте пакет в отдельную папку. Команда python reproduce.py --download-nbp получает четыре закрепленных исторических ответа непосредственно из NBP и пересчитывает результаты. Если соответствующие файлы уже доступны локально в private-nbp/, команда python reproduce.py работает без сети. Нужен Python 3.10 или новее, сторонних библиотек нет. Английские имена полей CSV сохранены для машинного сравнения; русское пояснение есть в TXT.
Документация NBP API поясняет поля и ограничения запросов. Исходники NBP и дневное объединение не включены в наш ZIP; наличие открытого API само по себе не устанавливает право повторно размещать его базу. XML ЕЦБ предоставлен неизмененным с указанием ECB statistics и условий повторного использования. Банки не одобряли и не проверяли эту редакционную публикацию.
При подготовке расчетов, кода и текста использовался ИИ. Повторный расчет и автоматические проверки не заменяют отдельную экспертизу методологии. Результат относится к указанным снимкам и выбранным общим датам; он не доказывает доступность сайтов в прошлом, отсутствие пересмотров или качество торгового исполнения.