Содержание статьи

Доказательства и область применения

Официальные материалы Джона Боллинджера подтверждают формулу диапазона и терминологию Squeeze. Триггер процентиля, замороженные границы и правила исполнения здесь являются предложениями по исследованиям, а не заявлениями о прибыли из книги или недавно проведенного бэктеста.

Данные и рынкиИспользуйте положительные цены закрытия и OHLCV достаточно активно торгуемого инструмента. Деление ширины полос на среднюю цену требует особых правил, если средняя цена нулевая, отрицательная или близка к нулю.
Таймфреймы исследованияКонфигурации H=1 и дневные бары имеют разные окна истории и экономический смысл. Предложенные процентили, буферы и сроки ожидания нужно проверять отдельно.
BandWidth снижается до малого разброса цен и затем растёт; само сжатие не определяет, пойдёт ли цена вверх или вниз.Открыть иллюстрацию в полном размере
Авторские синтетические значения BandWidth и объёма. Вертикальная ось — ширина полос в процентах, не цена. Выбранный порог и последующее расширение иллюстрируют смену состояния, не доказывая направление пробоя или прибыльность.

Практическая последовательность действий

Порядок действий: Сжатие полос Боллинджера: фиксированные границы и проверка пробоя
Все шаги подробно описаны ниже. На каждом этапе нужно записывать причину отклонения при нехватке данных или невыполнении условий.
  1. Рассчитайте прошлые диапазоныЗаранее задайте окно истории и стандартное отклонение генеральной совокупности.
  2. Измерение сокращенияСравните ширину со строго более ранним эталонным значением в процентилях.
  3. Зафиксируйте кандидатаСохраните U, L, ATR и крайний срок.
  4. Дождитесь направления пробояТребуется закрытие за пределами границы плюс буферная зона.
  5. Проверьте дополнительную пользуСравните с прорывом, который не требует сжатия.

Сжатие указывает на рассеивание, а не на направление.

Джон Боллинджер описывает полосы, основанные на скользящем среднем и стандартном отклонении генеральной совокупности, с привычными значениями по умолчанию для периода 20 и стандартного отклонения 2 ([1]). В официальном обзоре методов представлено приложение для прорыва волатильности, называемое Squeeze ([2]). Эти источники устанавливают терминологию, а не проверенный процент выигрышных сделок для конфигурации, описанной в данной статье.

Малое значение BandWidth не показывает, выйдет ли цена вверх, вниз или останется спокойной. Немедленная покупка при узких полосах и покупка после последующего пробоя — разные гипотезы. Базовый вариант ждёт закрытия за пределами заранее зафиксированных границ.

Относительное сжатие отличается от небольшого абсолютного движения. У волатильного инструмента BandWidth может находиться в самом низком историческом процентиле, хотя движение цены всё ещё намного больше, чем у спокойного инструмента. Сохраняйте и процентильный ранг, и абсолютную ширину либо ширину, нормированную на ATR, чтобы не путать необычное состояние с низким риском исполнения сделок.

Вычислите опорное значение без использования триггера.

По 20 ценам закрытия, заканчивая t−1, вычислите mu=mean(C), sigma=sqrt(mean((C−mu)²)), U=mu+2sigma, L=mu−2sigma и BW=(U−L)/mu. Предлагаемое условие сжатия: BW[t−1]≤ 20-го процентиля предыдущих 100 значений ширины за t−101 … t−2. До теста зафиксируйте способ выбора ближайшего ранга либо интерполяции.

При первом сжатии, удовлетворяющем условию, зафиксируйте U, L и ATR_ref для кандидата на пять проверяемых баров. Последовательные сжатия не продлевают срок. Для длинной позиции нужно закрытие выше U+buffer, для короткой — ниже L−buffer. 20-й процентиль, сравнение со 100 наблюдениями и срок пять баров — исследовательские параметры.

Базовый вариант исключает цену закрытия сигнального бара из расчёта зафиксированных полос. Непрерывно обновляемые полосы с этой ценой закрытия отвечают на другой вопрос: сам пробой меняет среднее и разброс. Храните band_used и опорное окно у каждого сигнала для сравнения реализаций по событиям.

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

if no_candidate and BW[t-1] <= quantile(BW[t-101:t-1], 0.20):
    candidate = freeze(U[t-1], L[t-1], ATR[t-1], expires=t+4)
if candidate:
    b = max(2*tick, 0.1*candidate.ATR)
    if t > candidate.expires: expire()
    elif C[t] > candidate.upper+b: emit_long(t)
    elif C[t] < candidate.lower-b: emit_short(t)
# At most one signal per candidate; orders follow the close.

Численное сжатие, успешный путь и обманный маневр

Синтетические mu=100 и sigma=0.5 дают U=101, L=99 и BW=2%. Если ранее установленный пороговый уровень в процентилях равен 2.4%, то сжатие считается допустимым. При наличии буфера 0.1, последующее закрытие 101.3 запускает открытие длинной позиции. Вход 101.4 и стоп 98.9 подразумевают 2.5 пунктов ценового риска, с предполагаемой целевой ценой 2R, равной 106.4.

Синтетический путь, достигающий 106.4 до срабатывания стоп-лосса, считается успешным по этому правилу. В случае неудачного пробоя цена возвращается к 100, а затем падает до 98.8. И сжатие, и прорыв были обоснованными наблюдениями, однако сделка оказалась убыточной. Именно поэтому правильная классификация детектора должна оставаться отдельной от результата стратегии.

Если закрытие равно 100.9 при максимуме 101.5, базовый вариант с подтверждением закрытием не даёт сигнала длинной позиции. Нельзя задним числом менять трактовку на вход стоп-заявкой только из-за последующего выгодного движения. Версию с заранее выставленной стоп-заявкой на вход проверяют отдельно, сохраняя её исполнения и неудачи.

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

Пробой требует полных правил выхода и выставления ордеров

Предлагаемый базовый вариант входит на последующем открытии, где исполнение возможно, ставит стоп за противоположной зафиксированной границей и выходит по времени через 20 баров. Цель A=2R можно заменить трейлинг-стопом лишь в отдельном зарегистрированном эксперименте. Если доступная котировка делает риск неприемлемым до отправки ордера, применяется заранее заданное правило отказа; уже случившееся исполнение удалять нельзя.

Правила Боллинджера отличают касание полосы от торгового сигнала и отмечают, что тренды могут продолжаться вдоль полосы [3]. Поэтому система прорыва не должна внезапно открывать противоположную сделку по возврату к среднему значению только потому, что цена достигает верхней полосы. Четко определите состояние стратегии и любую политику разворота.

Кандидат сохраняет исходные границы, пока общий индикатор продолжает обновляться для следующих кандидатов. После исполнения храните моменты активации цели, стопа и выхода по времени. Если стоп и цель достигаются в одном OHLC-баре, нужны более подробные данные или заранее объявленный неблагоприятный порядок исполнения.

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

Добавьте торговый объём как проверяемый признак

Один эксперимент требует RVOL≥1.5 на баре пробоя: используйте базу для того же времени внутри сессии или медиану 20 предыдущих дневных сессий. Другой проверяет снижение активности во время сжатия. Это предложенные признаки; проверяйте их отдельно, прежде чем приписывать улучшение сочетанию.

Правила автора рекомендуют избегать избыточных индикаторов [3]. На практике объем может по-прежнему сильно коррелировать с ценовым диапазоном. Сравнивайте данные внутри групп с аналогичной волатильностью, чтобы понять, добавляет ли это информацию, а не просто выбираете более широкие бары пробоя.

Сжатие цен в неактивном инструменте может отражать застоявшиеся цены, а не существенное сжатие. Храните долларовый объем и спред независимо от сигнала сжатия. Узкий канал, ширина которого сопоставима со спредом между ценой покупки и продажи, может оказаться нерентабельным, даже если итоговое общее движение выглядит значительным.

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

Отделите значение сжатия от значения пробоя

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

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

Официальные правила не позволяют интерпретировать ±2sigma как гарантированный диапазон 95% для следующей цены [3]. Зависимость между финансовыми доходностями и форма их распределения отличаются от предположений простого нормального интервала. Полосы — это правило построения индикатора, а не утверждение о достоверности прогноза следующей сделки.

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

Частые ошибки

Определение направления по узким полосам

Показатель «сокращение» описывает прошедшее рассеивание и не определяет направление следующего прорыва.

Смешивание полос от t и t−1

Они создают различные наборы сигналов; запишите точный снимок, который использовался.

Рассматривать цены неактивных активов как возможность для торговли посредством сжатия

Узкий наблюдаемый диапазон может сочетаться со слишком широким спредом для этой стратегии.

Список проверки перед использованием метода

Отмечайте пункты после проверки на своих данных. Прогресс сохраняется в этом браузере и не подтверждает прибыльность стратегии.

0/8 пунктов

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

Это то же самое, что и полосы Боллинджера внутри каналов Келтнера?

Нет. Это другое определение сжатия, отличное от исторического процентиля BandWidth; ему нужны отдельная версия и оценка.

Следует ли немедленно открывать короткую позицию при прорыве вверх, за которым следует возврат внутрь?

Только по отдельно заданной стратегии ложного пробоя. Исходная длинная позиция всё равно управляется и учитывается по своим правилам выхода.

Источники исследования

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

  1. A complete explanation of Bollinger BandsJohn Bollinger. Прочитано официальное объяснение формулы; полная платная книга не прочитана. Проверено: .
  2. Methods ExplanationBollinger Bands. Прочитан обзор методов I–IV; из него не выводился результат бэктеста. Проверено: .
  3. Bollinger Bands RulesJohn Bollinger. Прочитаны правила о касании полос, сочетании индикаторов и статистических ограничениях. Проверено: .

Связанные методы

Примечание о рисках

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

Проверьте правила, прежде чем рисковать реальным капиталом

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

Скачать Backtest в App Store