Обсуждение статьи "Анализ CSV-данных (Часть 6): Нормализация результатов по нескольким брокерам и сверка CSV между платформами"

 

Опубликована статья Анализ CSV-данных (Часть 6): Нормализация результатов по нескольким брокерам и сверка CSV между платформами:

В статье представлен фреймворк нормализации CSV-данных от нескольких брокеров. Подключаемый файл MQL5 дополняет экспорт брокерскими метаданными. Модуль Python устраняет расхождения схем — различия в разрядности котирования и соглашениях о пунктах, вариантах названий символов, временных смещениях, моделях комиссий и валютах счёта и валютах, в которых выражена прибыль — и формирует единый канонический набор данных. Сравнительные визуализации распределений проскальзывания и результатов после учёта издержек позволяют надёжно сопоставлять результаты стратегии между разными брокерскими средами без незаметного искажения данных.

В предыдущих статьях этой серии мы построили конвейер экспорта и анализа на основе единого единого соглашения о структуре данных: один советник, один брокер, одна схема. На практике профессиональная разработка стратегий редко ограничивается этими рамками. Оцениваемая стратегия может одновременно работать на реальном счёте у одного брокера и на демосчёте у другого для сравнения качества исполнения сделок. В ходе оптимизации одни и те же параметры могут перебираться в средах двух брокеров, чтобы выявить зависимость результатов от брокера. Портфель стратегий может быть распределён между несколькими брокерами для диверсификации контрагентского риска, причём каждый счёт формирует отдельный CSV-экспорт для единого слоя сводной отчётности.

Если CSV-экспорты разных брокеров без предварительной обработки загрузить в один и тот же конвейер Python, анализ может быть незаметно искажён. Два брокера, использующие разные форматы котирования EURUSD, будут показывать показатели прибыли, различающиеся в десять раз. Если один брокер записывает комиссию в отдельное поле DEAL_COMMISSION, распределение прибыли будет отличаться от результатов брокера, включающего комиссию в спред. Брокер с часовым поясом UTC+2 и брокер с UTC+3 сформируют последовательности временных меток со смещением на один час при совместном отображении, из-за чего временной анализ ошибочно отнесёт сделки к неверным торговым сессиям.

Ни одно из этих расхождений не вызывает сообщения об ошибке. Данные загружаются без проблем, графики строятся без предупреждений, однако аналитические выводы оказываются неверными. Описанный в статье слой нормализации служит системной защитой от подобных скрытых искажений данных.


Автор: Ushana Kevin Iorkumbul