банер

03 мая 2026

🔍 Очистка исторических данных: как мы нашли и устранили артефакты в валютных рядах

Квантовый анализ временных рядов | Метод бэк‑нормализации с округлением до степени 10

📌 Проблема: рывки на порядки в котировках

При анализе долгосрочных исторических данных (с 1996 года) для 85 валютных пар проекта Abscur мы обнаружили аномалии: в некоторые дни цена закрытия изменялась в 100 и более раз. Это не могло быть следствием реальных рыночных движений, так как даже при гиперинфляции дневные изменения редко превышают 50%. Пример — пара JPY/SEK (японская иена / шведская крона) в 2016–2017 годах демонстрировала вертикальные «ступеньки» с коэффициентами 0,01 и 100. Такие скачки делают любой статистический анализ (корреляции, волатильность, расчет абсолютных курсов) бессмысленным.

Рис.1. Исходный ряд JPY/SEK с разрывами (слева) и после нормализации (справа). Логарифмическая доходность до/после.

🧠 Природа артефактов: смена базы котировок

Поставщики финансовых данных (Yahoo Finance, AlphaVantage) иногда меняют масштаб представления валютной пары: вместо прямой котировки (1 JPY = 0,058 SEK) используют 100 JPY как единицу (5,8 SEK). При склейке таких рядов возникают скачки в 100 раз. Также возможна подмена прямой и обратной котировки. В нашем наборе данных артефакты обнаружены не только в JPY/SEK, но и в 11 других парах, преимущественно с экзотическими валютами (колумбийское песо, вьетнамский донг, пакистанская рупия и др.).

⚙️ Метод обнаружения и нормализации

Для каждой пары вычислялась логарифмическая доходность:

r(t) = ln(Close(t) / Close(t-1))

Дни с |r(t)| > 1,5 признавались кандидатами. Затем для каждого такого дня определялся коэффициент k = Close(t)/Close(t-1), округлялся до ближайшей степени 10 (10^round(log10(k))) и выполнялась бэк‑нормализация (от настоящего к прошлому): все цены до даты скачка умножались на округлённый коэффициент. Это сшивает ряд, устраняя ложную доходность, но сохраняя реальную динамику.

Алгоритм реализован в ETL-тетрадке abscur2, а отдельный ноутбук currency-jump-detection позволяет визуализировать процесс.

📊 Результаты скрининга 85 пар

После применения метода из 85 пар нормализация потребовалась для 12. Общее количество устранённых скачков — 74. Ниже приведена таблица пар с артефактами и итоговая статистика логарифмической доходности после очистки (нормальный диапазон для валют — до ±0,7).

ПараКол-во артефактовmin log_returnmax log_return
CHFHKD2-0.09160.1749
GBPRUB4-0.42350.4278
USDPKR6-0.69390.6912
USDRUB4-0.65110.6468
USDIDR4-0.21950.2122
USDCOP18-0.66120.6535
USDISK7-0.60920.7369
USDTWD4-0.48480.5137
USDCLP4-0.28330.2833
JPYSEK5-0.08900.0677
USDVND14-0.42200.4214
CHFAUD2-0.09550.1664

💡 Значение для поиска «Альфы»

«Чистые» временные ряды — фундамент любой количественной стратегии. Теперь мы можем с уверенностью рассчитывать абсолютные курсы, корреляции и скользящие волатильности без искажений, вызванных техническими артефактами. Это открывает дорогу к созданию динамических портфелей с контролируемой просадкой — именно то, что мы называем «скрытой альфой» на валютном рынке.

В следующих публикациях мы применим очищенные данные к методу главных компонент (PCA) и построим карту скрытых факторов, управляющих глобальными валютными потоками.

📁 Где взять данные и код?

Подписывайтесь на обновления проекта в Telegram и VK. Ежедневные расчёты абсолютных курсов — ваш компас в мире валют.