Skip to content
Все руководства по опционам и фьючерсам
Отделите условие запуска события от метки его исхода12 минут чтения

Метод трёх барьеров: разметка финансовых событий

Разберитесь, как горизонтальные барьеры прибыли и убытка вместе с временным ограничением задают метки событий, и как обрабатывать неоднозначность цен и перекрывающиеся исходы.

В этом руководствеТри условия задают разметку одного события

Краткое резюме

Метод трёх барьеров помечает финансовое событие по первому из трёх условий, достигнутому после его начала: верхнему уровню прибыли, нижнему уровню убытка или предельному сроку удержания. Для каждого события уровни рассчитываются относительно начальной цены P₀ и масштаба волатильности σᵢ, известного уже в момент старта. В этом руководстве касание верхнего барьера означает +1, нижнего −1, а истечение срока без касания обоих — 0. Некоторые реализации вместо этого определяют метку по знаку доходности на сроке; исследование должно явно зафиксировать выбранное правило.

Три условия задают разметку одного события

Для события i запишите время начала tᵢ, цену P₀ и оценку масштаба доходности σᵢ. Затем выберите множители m_PT и m_SL и максимальный срок удержания Tᵢ. При простой доходности верхний ценовой порог равен P₀ × (1 + m_PT σᵢ), а нижний — P₀ × (1 − m_SL σᵢ). Первые два условия — горизонтальные барьеры; третий, срок Tᵢ, — вертикальный барьер.

Например, при m_PT = 2 верхняя цель находится на двух единицах масштаба выше начальной цены. При m_SL = 1,5 стоп-уровень отстоит вниз на полторы единицы. Если один из горизонтальных уровней достигнут раньше времени Tᵢ, именно он завершает событие и определяет его метку. Если до срока не достигнут ни один из них, событие заканчивается у вертикального барьера.

Границы можно задавать через простую или логарифмическую доходность, но эти варианты не полностью совпадают при крупных движениях. Выберите конвенцию для расчёта доходности и цен барьеров и используйте её последовательно для построения целевых значений и исполнения. В главе 3 книги «Advances in Financial Machine Learning» описываются событийная разметка и барьеры с волатильностным масштабом.

Волатильность должна быть известна при запуске

Масштаб σᵢ связывает расстояние до барьера с ожидаемой изменчивостью инструмента для конкретного события. Его можно оценить по прошлым доходностям или другой заранее определённой модели, но в расчёт должны входить только данные, доступные не позднее момента tᵢ. Если использовать волатильность, рассчитанную с включением будущего периода, пороги будут содержать информацию о будущем даже при аккуратном построении признаков.

Фиксированные уровни в процентах проще интерпретировать, но могут быть слишком близкими в спокойный период и чрезмерно далёкими в бурный. Волатильностный масштаб позволяет менять дистанцию вместе с текущим режимом. Однако он не превращает σᵢ в гарантию или точный прогноз будущей волатильности: это часть заранее заданного правила разметки.

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

Сигнал события и метка отвечают на разные вопросы

Триггер определяет, когда начинать наблюдение. Например, фильтр CUSUM может создавать событие, когда накопленное движение цены превышает заданный порог, а не просто при каждом новом баре. Триггер отвечает на вопрос «когда появился повод сформировать пример?», тогда как трёхбарьерное правило отвечает «какой исход первым наступил после этого момента?».

Не путайте этот триггер с меткой или торговым сигналом. Барьерная разметка использует последующий путь цен, чтобы создать целевую переменную y. Это допустимо при обучении, поскольку исход становится известен позже, но все признаки и σᵢ для события должны быть построены из информации, доступной в начале. Такое разделение описывается в документации mlfinpy по разметке и отражено в реализации трёх барьеров.

Пример показывает роль каждого барьера

Пусть P₀ = $100, σᵢ = 2%, верхний множитель m_PT = 2, нижний m_SL = 1,5, а вертикальный барьер истекает в конце третьего будущего бара. При конвенции простой доходности уровни составляют $104 и $97.

  • Путь $100 → $104,50 касается верхнего уровня на первом будущем баре. Метка — +1, даже если далее цена могла бы развернуться.
  • Путь $100 → $96,50 касается нижнего уровня на первом будущем баре, до срока. Метка — −1.
  • Путь $100 → $101 → $102 → $101,50 не касается горизонтальных уровней. В конце третьего будущего бара наступает срок, поэтому по принятому здесь правилу метка — 0, хотя итоговая доходность равна +1,5%.

Последний пример подчёркивает, что ноль здесь означает «ни один горизонтальный барьер не был достигнут до истечения срока», а не «доходность равна нулю». В некоторых вариантах разметки срок служит только границей наблюдения, а исход на нём классифицируется как положительный или отрицательный по знаку доходности. Это другое правило: зафиксируйте его в документации и не смешивайте метки, созданные разными конвенциями.

Три траектории цены без подписей: одна пересекает верхнюю границу, другая нижнюю, третья заканчивается между ними на временном пределе
Концептуальная схема первого касания верхней, нижней или временной границы; траектории иллюстративны и не являются рыночными данными

Направленная разметка отличается от мета-разметки

В направленной задаче метки +1 и −1 сообщают, в какую сторону цена первой достигла выбранного порога, а 0 в этой статье обозначает истечение срока. Модель может предсказывать этот класс по признакам, известным на старте события. Такое определение описывает результат относительно барьеров, но не говорит само по себе о вероятности прибыли после затрат.

В мета-разметке отдельная первичная модель уже предлагает сторону позиции, например длинную или короткую. Для нового события барьеры применяются к доходности с учётом этой предложенной стороны, а вторичная модель оценивает, следует ли принимать сигнал. Поэтому смысл меток и порогов зависит от того, учитывает ли расчёт сторону позиции. Описывайте её в данных явно; нельзя считать любую метку +1 универсальным советом купить.

Рыночные данные могут скрывать порядок касаний

Данные только по ценам закрытия могут пропустить внутрибараное касание барьера: максимум или минимум мог пересечь уровень до закрытия. Свеча OHLC, в которой максимум пересёк верхний барьер, а минимум — нижний, не показывает, какой уровень цена коснулась первым. Нельзя надёжно выбрать победивший барьер только по этим четырём значениям.

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

Также уточните, что считается касанием: сделка, котировка, цена закрытия или цена исполнения. Разрывы через уровень, спред и задержка исполнения могут сделать наблюдаемый ценовой порог недостижимым для реальной позиции.

Перекрывающиеся события требуют проверки разбиений

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

Подход к такой защите описан в руководстве о purged cross-validation и embargo для финансовых временных рядов. Purging устраняет часть утечки через пересекающиеся метки, но не исправляет признаки с будущими данными, повторный подбор модели или выбор нереалистичных цен исполнения.

Затраты меняют смысл исхода

Путь через барьеры обычно основан на движении базовой цены. Реальный результат сделки зависит также от спреда, комиссий, проскальзывания, финансирования бессрочного контракта, стоимости займа и правил исполнения. Если задача — классифицировать чистый исход, включите эти факторы в определение целевой доходности и реалистичные предположения об исполнении до расчёта меток.

Даже чистая положительная метка не обещает прибыльности стратегии. Результаты зависят от частоты событий, модели, рынка, размера позиции и качества исполнения, а историческая разметка сама по себе не даёт торговой рекомендации.

Зафиксируйте конвенции до обучения

Опишите, как формируются события, откуда берутся P₀ и σᵢ, какие множители и срок используются, какой ценовой поток определяет касание и что происходит при двойном касании. Укажите, получает ли истечение всегда метку 0 или классифицируется по конечной доходности, и вычисляется ли результат до или после затрат.

Такая запись делает датасет проверяемым и сопоставимым. Разные параметры создают разные задачи прогнозирования, даже если исходные данные совпадают.

Частые вопросы

Q1Обязательно ли метка при истечении срока должна быть равна нулю?

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

Q2В чём разница между триггером события и тремя барьерами?

Триггер, например CUSUM, задаёт время начала примера. Три барьера определяют, какое условие исхода наступит первым после начала. Это отдельные этапы построения обучающей выборки.

Q3Гарантирует ли метка +1 положительную прибыль после издержек?

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

Источники и дополнительное чтение

Сообщить о проблеме

Мы подготовим письмо со ссылкой на эту статью. Mark получит сообщение только после отправки

Быстрая проверка

Прочитали руководство? Проверьте себя в 3 вопросах

Вопрос 1 / 3

Вопрос 01

Какую метку получает событие, если верхний барьер достигнут на первом будущем баре, раньше нижнего и истечения срока?

Выберите ответ, чтобы увидеть объяснение

Словарь опционов

Проверка моделей на финансовых временных рядахPurged cross-validation и embargo: как предотвратить утечку меток в торговых моделяхУзнайте, как исключать пересекающиеся интервалы будущей доходности и чем различаются purging, embargo, walk-forward, TimeSeriesSplit и CPCV.Как часто лидер бэктеста оказывается ниже медианы группыВероятность переобучения бэктеста (PBO) и CSCVУзнайте, как комбинаторная симметричная перекрёстная проверка оценивает PBO, превращает ранги OOS в логиты и почему это не прогноз будущих убытковВыбирайте моменты наблюдения по накопленному движению ценыФильтр CUSUM: выборка финансовых событийКак симметричный CUSUM-фильтр выбирает события по логарифмической доходности, как избежать заглядывания вперёд и чем фильтр отличается от теста стабильности регрессии.Механика опционовЧто такое назначение опциона?Разберитесь, как проданный опцион может создать обязанность передать или купить акции до даты экспирации или в неёРазрешённое количество контрактов — не то же самое, что бюджет рискаЛимиты позиции по опционам и лимиты исполнения: объяснениеУзнайте, чем лимиты позиции по биржевым опционам отличаются от лимитов исполнения, почему важны агрегация одной стороны и отчётность и почему маржа или покупательная способность не показывают, разрешено ли количество