Обсуждение статьи "Инжиниринг признаков для машинного обучения (Часть 3): Временные признаки с учетом торговых сессий на рынке Forex"

 

Опубликована статья Инжиниринг признаков для машинного обучения (Часть 3): Временные признаки с учетом торговых сессий на рынке Forex:

В статье рассматривается потеря временной информации в ML-конвейерах: периодические временные переменные кодируются гармониками Фурье, а структура Forex-сессий добавляется отдельными признаками. Реализуются флаги сессий и перекрытий, лагированная сессионная волатильность и календарные эффекты, после чего признаки отбираются с учетом таймфрейма. Функция get_time_features возвращает выровненный по индексу, готовый для ML набор временных признаков, пригодный для объединения с ценовыми сигналами.

Каждый бар финансового временного ряда несет временную метку. Большинство ML-конвейеров ее отбрасывает. Временная метка преобразуется в целевую метку, задается окно заглядывания вперед, признаки строятся по истории цен и объемов, а datetime-индекс больше не используется. Это существенная потеря информации. Само время кодирует богатую структуру — внутридневный ритм рынка, границы торговых сессий, приближение месячных фиксингов, ритм недельного открытия, — и ничто из этого не видно непосредственно в ряду цен или доходностей.

Сложность заключается в представлении. Сырые целочисленные временные метки бессмысленны для регрессионной или классификационной модели: число 1735689600 (Unix epoch) не передает циклической структуры. Наивный целочисленный столбец часа подразумевает, что час 23 дальше от часа 0, чем от часа 18, что геометрически неверно. Бинарный флаг сессии фиксирует присутствие в сессии, но теряет положение внутри нее. Одна гармоника отражает доминирующий дневной цикл, но пропускает асимметрию между спокойной азиатской сессией и волатильным перекрытием Лондона и Нью-Йорка.

В статье предлагается методически обоснованный подход к построению временных признаков для финансового ML. Рассматриваются теория циклического кодирования по Фурье, структура четырех основных торговых сессий Forex, сессионные признаки волатильности и календарные эффекты, влияющие на институциональный поток ордеров около границ периодов. Реализация — функция get_time_features из библиотеки afml, которая объединяет все компоненты в единый готовый для ML DataFrame признаков. Часть 1 серии была посвящена дробному дифференцированию ценовых признаков; в части 2 этот механизм был развернут в MQL5. Здесь рассматривается ортогональный вопрос: как кодировать временной контекст, в котором возникает ценовое наблюдение.

 Инжиниринг признаков для машинного обучения (Часть 3): Временные признаки с учетом торговых сессий на рынке Forex

Автор: Patrick Murimi Njoroge