Вы строите конвейер данных по фондовому рынку США. Соединение WebSocket с вашим API рыночных данных в реальном времени установлено, тики текут, и панель мониторинга выглядит живой. Итак, вы переходите к следующему заданию. Через неделю вы видите одноминутную свечу...
Вы строите конвейер данных по фондовому рынку США. Соединение WebSocket с вашим API рыночных данных в реальном времени установлено, тики текут, и панель мониторинга выглядит живой. Итак, вы переходите к следующему заданию. Неделю спустя вы видите одноминутную свечу с невозможным пиком. Это классический признак того, что вы пропустили проверку данных.
Проблема: сырые клещи не чистые.
Рыночные данные в реальном времени ведут себя иначе, чем исторический ответ API. Это непрерывный поток, который может содержать скачки цен, изменения временных меток, повторяющиеся записи и отсутствующие поля. Если эти аномалии войдут в ваши расчеты K-линии или индикатора, ваши результаты будут неправильными.
Вот наиболее распространенные аномалии, с которыми я столкнулся, работая исследователем:
Тип
Типичное поведение
Ценовая аномалия
Цена резко отклоняется в течение очень короткого периода
Аномалия временной метки
Временные метки тиков приходят не по порядку
Аномалия объема
Заявленный объем явно противоречив
Дублирующиеся данные
Один и тот же клещ попадает в вашу систему более одного раза
Опрос REST против потоковой передачи через WebSocket
Прежде чем приступить к кодированию, подумайте об источнике данных. Опрос REST легко реализовать, но он осуществляет выборку через фиксированные интервалы. Вы не можете обнаружить быстрый всплеск, который происходит.
