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

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

SMB предоставляет обзор сделки CLOV, Alphatrends объясняет AVWAP, а TradingView документирует расчеты. Эти материалы содержат основные идеи и определения, а не подтвержденную доходность предлагаемого алгоритма.

Данные и рынкиВнутридневная торговля акциями с надежными данными об объеме торгов и календарем торговых сессий. Фьючерсам и криптовалютам нужны собственные ориентиры и подтверждение, а не пороговые значения, полученные путем копирования акций.
Таймфреймы исследованияПримеры — одноминутные или пятиминутные бары с VWAP основной сессии. Решения используют завершённые бары; базовая версия закрывает позиции в той же сессии.
Цена движется сверху вниз от VWAP к нулю, кратковременно пробивает его, а затем подтверждает восстановление в рамках ранее выявленного тренда.Открыть иллюстрацию в полном размере
Цена синтетического события за вычетом текущего значения VWAP, с синтетическим объемом. Главная ось — расстояние от скользящей средней, а не абсолютная цена.

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

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

Определите тренд до коррекции

SMB разбирает откат CLOV к VWAP после направленного движения на открытии [1]. Alphatrends обсуждает положение цены и направление AVWAP [2]. Статья переводит идеи в наблюдаемые состояния, не заявляя о воспроизведении всего процесса чтения ленты практикующим трейдером.

VWAP по отдельным сделкам равен Σ(price×quantity)/Σquantity от выбранной точки привязки. По OHLCV типичная цена (H+L+C)/3 даёт баровое приближение [3]. Не называйте его точным средним всех сделок. До сравнения результатов выберите расчёт по сделкам либо барам и сохраните версию.

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

От трендового кандидата к подтверждённому возврату

После как минимум 10 баров от якоря, предлагаемый кандидат c требует C[c]>VWAP[c], VWAP[c]>VWAP[c−5], C[c]>EMA50[c] и RVOL_cum[c]≥1.2. Здесь EMA50 продолжает отображаться на протяжении обычных сессионных баров предыдущих дней, в то время как VWAP сбрасывается в каждой сессии. Заморозьте A=ATR14[c−1], b=max(2 ticks,0.10A) и eps=max(2 ticks,0.15A).

В следующих пяти барах зафиксируйте первый повторный тест r с L[r]≤VWAP[r]+eps и C[r]≥VWAP[r]−eps. Среднее значение RVOL для трех баров, заканчивающихся на r, должно быть ≤0.8. Закрытие ниже VWAP−eps до подтверждения исключает кандидата. Не требуйте, чтобы каждый бар коррекции оставался выше VWAP, поскольку это может исключить изучаемый уровень восстановления.

В три бара после r первое закрытие выше H[r]+b и VWAP[t] даёт сигнал. Ставьте стоп на минимум от r до сигнала включительно минус b и покупайте по более поздней исполнимой котировке. Все длины окон, выбор EMA и пороги — предложения для теста. Непрохождение объёма отклоняет кандидата, не разрешая выбрать более привлекательный r.

Начальная история должна покрывать самую длинную зависимость, не только 10 баров после привязки. При отсутствии EMA50, ATR или истории RVOL для того же времени кандидат получает insufficient_data. Перенос EMA через сессии — заданное правило; ежедневный сброс потребует другой начальной истории и новой версии.

after_candidate_close(c):
  if not full_EMA_ATR_RVOL_history: reject_insufficient_data(); return
  candidate = freeze(ATR_reference,buffers,anchor_id,session_id,
                     cutoff=session_end-5_minutes)
  if received_close_time(c)>=candidate.cutoff: expire(); return
  r = None
  for u in c+1..c+5:
    if changed_anchor_or_session(candidate,u) or received_close_time(u)>=candidate.cutoff:
      expire(); return
    if C[u]<VWAP[u]-eps: cancel(); return
    if L[u]<=VWAP[u]+eps and C[u]>=VWAP[u]-eps:
      r=u; break
  if r is None: expire_no_retest(); return
  if missing_rvol(r-2,r) or mean(RVOL_bar[r-2:r+1])>0.8:
    reject_candidate(); return
  for t in r+1..r+3:
    if changed_anchor_or_session(candidate,t) or received_close_time(t)>=candidate.cutoff:
      expire(); return
    if C[t]<VWAP[t]-eps: cancel(); return
    if C[t]>H[r]+b and C[t]>VWAP[t]:
      stop=min(L[r:t+1])-b
      consume_candidate_then_order_on_next_quote_if_before_cutoff()
      return
  expire_no_confirmation()
# Session-close and anchor-reset events cancel pending candidates immediately.

Привязки и фильтры активности нельзя знать задним числом

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

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

Обзор SMB различает завершённую проверку 15-минутного объёма и информацию, полученную после более раннего входа [1]. Решение в 09:38 не использует объём до 09:45. Либо ждите 09:45, либо определите фильтр, доступный в 09:38. Высокая активность может подтянуть VWAP к цене без крупного отката самой цены; записывайте и ценовой путь, и движущийся ориентир.

Условные сценарии возврата и срыва тренда

При создании кандидата пусть C=102, VWAP=100.80 против 100.40 пять баров назад, EMA50=100.30 и RVOL_cum=1.6. При A=1 и tick=0.01 получаем b=0.10 и eps=0.15. Поздний повторный тест имеет VWAP101.00, минимум 100.95, максимум 101.25 и закрытие 101.05; средний RVOL0.65 за три бара проходит условие.

Два бара спустя, цена закрытия 101.45 превышает 101.35 и текущий VWAP101.08. Покупка исполняется при достижении 101.50. Минимальный минимум от r до подтверждения составляет 100.90, что дает стоп-лосс 100.80, риск 0.70 и целевую цену 2R 102.90. VWAP необходимо пересчитать на основе данных, доступных на каждом баре; в иллюстрации не предполагается, что он остается неизменным.

После входа новая информация может развернуть тренд и дать исполнение стопа по 100.75 с убытком 0.75. Другой повторный тест с закрытием 100.70 ниже VWAP101.00−0.15 отменяет кандидата до входа. Не переносите привязку на минимум 100.70 лишь ради новой средней ниже цены и сохранения исходной метки сигнала.

Вход, выход и стоимость преследования

До отправки ордера после подтверждения оцените риск и оставшуюся прибыль по наблюдаемой котировке. Большой гэп может превысить заданный лимит риска. Ещё не отправленный ордер можно пропустить; заранее размещённый стоп-ордер на вход должен сохранить любое исполнение до отмены. Эти правила исполнения нельзя подменять друг другом.

Базовая версия использует цель 2R, структурный защитный стоп и закрытие позиции до конца сессии. Отдельно можно проверить временной стоп через 20 баров. Внутридневной убыток нельзя незаметно превращать в многодневную свинговую позицию: перенос через ночь требует новой модели гэпа и бюджета.

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

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

Базовый уровень устанавливает пороговое значение для входа за пять минут до запланированного закрытия сессии, включая сокращенные сессии. Каждый кандидат сохраняет свой session_id, а если используется VWAP, то и anchor_id. Достижение порогового значения, смена сессии или сброс якоря завершают ожидающее событие. Котировка после сигнала также должна поступить до порогового значения. Таймер сессии отменяет состояния ожидания, даже если не поступает новых баров; счетчики баров не могут продолжать работу на следующее утро. Это пороговое значение определяется в ходе исследования.

Улучшает ли VWAP результаты обычной коррекции тренда?

Сравните с откатом по локальным экстремумам или EMA при том же ценовом триггере. Затем по одному добавьте положение относительно VWAP, наклон, накопительный RVOL и снижение объёма. Всё сочетание сразу скрывает, какой компонент помогает, а какой лишь уменьшает выборку.

Сгруппируйте результаты по времени суток, наклону VWAP, контексту тренда/диапазона и катализатору, известному до входа. Сообщите количество кандидатов, частоту повторного тестирования, количество исполненных сделок, чистый R, MAE/MFE и упущенные возможности. Используйте выборку на определенный момент времени, а не только известные акции-победители мемов.

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

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

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

Покупка каждого VWAP касания

Без учета трендового контекста и подтверждения стратегия сочетает в себе различные режимы.

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

Выбранная задним числом привязка создаёт поддержку, которой не было на момент решения.

Использование будущих объемов

Условие по 15 минутам не позволяет выбрать вход на восьмой минуте.

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

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

0/7 пунктов

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

Гарантирует ли восходящий сигнал VWAP поддержку?

Нет. Он суммирует завершенные транзакции; новые потоки могут немедленно изменить тенденцию.

Можно ли привязать VWAP к публикации новости?

Да, если время известно и остается неизменным. Это отдельный вариант для сравнения с сессией VWAP.

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

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

  1. How to use VWAP to buy a Pullback in a Meme StockSMB Capital. Прочитана исходная стенограмма CLOV от 29 июня 2021; полной выписки счёта стратегии нет. Проверено: .
  2. Anchored VWAP explainedBrian Shannon / Alphatrends. Прочитано общедоступное объяснение привязки, положения цены и направления, не полная платная книга. Проверено: .
  3. Volume Weighted Average PriceTradingView. Изучены расчёт типичной цены и настройки привязки. Проверено: .

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

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

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

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

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

Скачать Backtest в App Store