Содержание статьи
- Доказательства и область применения
- Иллюстрация
- Процесс
- Три разных вопроса об объеме
- Согласуйте календарь перед делением
- Расчеты и доступность информации
- Числовой пример и вводящая в заблуждение базовая линия.
- Свяжите RVOL с ценовой моделью и правилом ордера
- Измерьте дополнительную ценность объёма
- Частые ошибки
- Практический список проверки
- Частые вопросы
- Источники исследования
Доказательства и область применения
В документации TradingView представлен относительный объем торгов, совпадающий по времени. В документе ORB используется одна конкретная версия для выбора акций; результат для этой полной стратегии не устанавливает независимое значение порогового значения RVOL. Варианты, основанные на медиане и на бенчмарке, требуют отдельных тестов. [1] [2]
Практическая последовательность действий
- Выберите меруПеред тестированием выберите тип данных: барный, кумулятивный или суточный RVOL.
- Согласуйте сессииИспользуйте правильный календарь, часовой пояс и исторический временной интервал.
- Проверьте исходный уровень.Требуйте достаточную историю данных и корректный положительный знаменатель.
- Дождитесь закрытияЗавершите расчёт признака и добавьте время его доступности.
- Отфильтруйте ценовые кандидатыПримените фиксированный пороговый уровень и сохраните отклоненные кандидаты в журнале.
Три разных вопроса об объеме
RVOL бара измеряет текущий всплеск активности. Накопленный RVOL — участие с начала сессии до текущего момента. Дневной RVOL относится к завершённой сессии. Выбирайте показатель по вопросу исследования: отдельный пробой может использовать бар события, а отбор акций на день — накопленную активность. Не меняйте определение после сравнения результатов.
TradingView описывает историческое среднее значение в соответствующие моменты времени. [1] Медиана за 20 сессий — это предлагаемая альтернатива, предназначенная для уменьшения влияния исключительных наблюдений. Средние значения и медианы могут по-разному ранжировать одни и те же акции, поэтому в каждом сигнале следует записывать как базовую оценку, так и длину выборки.
Высокий объём не определяет направление. Он может сопровождать продолжение движения, отбой, новости или принудительную ликвидацию. Ценовой детектор должен задать расположение и последующую реакцию, различающие эти гипотезы. RVOL не доказывает участие институциональных инвесторов: он измеряет активность, не личность владельца счёта.
Согласуйте календарь перед делением
Для американских акций используйте биржевой календарь и America/New_York, чтобы согласовать интервал 09:30–09:35 между торговыми сессиями. Фиксированный интервал UTC смещается относительно открытия при переходе на летнее время. Разделяйте обычные и расширенные часы, сокращенные сессии и неполные данные. Для непрерывной торговли криптовалютами явно укажите дневную границу. Нормализация по часам недели может быть отдельным экспериментом, если существует достаточное количество полных недель.
Знаменатель содержит только прошлые сессии. Нулевая база или недостаточная корректная история дают insufficient_data, а не произвольно огромный RVOL. Пропуски и подлинные интервалы нулевого объёма — разные состояния. Исследование качества данных [3] обосновывает проверку данных торговой площадки, но не задаёт универсальное исправление для каждой биржи.
Сохраняйте фактический список сессий базы. Если праздник или сбой пропущен, другой исследователь должен восстановить заменившее его наблюдение. Предыдущие 20 корректных сессий отличаются от 20 календарных дней с незаметным удалением пропусков. Оба подхода можно изучать, но с разными идентификаторами конфигурации.
Расчеты и доступность информации
Псевдокод использует среднее за 20 сессий как отдельно заданную базу. Воспроизведение исследования ORB должно сохранить его определение за 14 сессий. [2] Объём формирующегося бара предварительный; окончательное значение недоступно до закрытия. Время доступности, возвращаемое с признаком, — часть результата, не необязательная подпись графика.
Накопленный RVOL — это отношение накопительных величин, а не среднее значение отдельных значений RVOL бара. Эти выражения по-разному взвешивают данные за день. Сначала суммируйте каждую историческую сессию по соответствующему слоту, затем вычислите базовый уровень по всем сессиям. Если выборка знаменателя недействительна, обрабатывайте эту сессию последовательно для всего накопительного наблюдения.
on_closed_bar(d, k):
history = previous_valid_sessions(d, count=20)
if len(history) != 20: return INSUFFICIENT_DATA
if not complete_valid_slots(history + [d], through=k):
return INSUFFICIENT_DATA
assert same_session_slot(history, k)
base = mean(V[j,k] for j in history)
cum_base = mean(sum(V[j,0:k+1]) for j in history)
if base <= 0 or cum_base <= 0: return INSUFFICIENT_DATA
rvol_bar = V[d,k] / base
rvol_cum = sum(V[d,0:k+1]) / cum_base
signal_at = bar_close_time(d,k)
return rvol_bar, rvol_cum, signal_at
Числовой пример и вводящая в заблуждение базовая линия.
Предположим, что исторический объем торгов по 09:30–09:35 в среднем составляет 100,000 акций и сегодня достигает 250,000. Бар RVOL соответствует 2.5. К 10:00 текущий совокупный объем составляет 600,000 по сравнению с историческим базовым совокупным объемом 500,000, поэтому совокупный объем RVOL равен 1.2. Активность снизилась по сравнению с ее обычным уровнем, несмотря на то, что абсолютный совокупный объем продолжает расти.
При среднем дневном объёме 5 миллионов величина 600,000, делённая на 5 миллионов, равна 0.12: проторговано 12% объёма среднего полного дня. Это отличается от RVOL 1.2 по соответствующему времени. В день общерыночного события RVOL акции 2 и RVOL бенчмарка 3 дают разность −1, но отношение примерно 0.667. Вычитание и деление имеют разные смысл и шкалу.
Примером ошибки является поток данных, в котором отсутствует половина исторического объема торгов на открытии. Знаменатель уменьшается с 100,000 до 50,000, а то же самое текущее наблюдение отображается как RVOL 5. Сканер выбрал дефект данных, а не более перспективную возможность. На иллюстрации показана синтетическая серия RVOL, а не серия цен.
Свяжите RVOL с ценовой моделью и правилом ордера
Один предложенный эксперимент задаёт пробой выше наибольшего максимума предыдущих 20 завершённых баров. Когда закрытие превышает зафиксированный уровень, примените RVOL ≥1.5 по тому же времени сессии. Это исследовательский порог. Подавайте ордер при следующей доступной возможности после подтверждающего закрытия; не приписывайте исполнение более раннему касанию пробоя, когда итоговый объём ещё неизвестен.
RVOL не задаёт стоп. Исследование может ставить его под ранее установленным минимумом ретеста, ограничивать риск портфеля и отклонять новый ордер при слишком большом спреде относительно стоп-дистанции. Но стоп-рыночный ордер, уже выставленный до гэпа, должен получить реально доступное исполнение после срабатывания. Итоговый объём не может задним числом удалить убыточную сделку.
Различайте отбор и момент принятия решения. Выбрать акцию в 09:35 по уже завершённому начальному диапазону допустимо для последующих событий. Назвать её акцией с высоким RVOL в 09:31, используя окончательный объём за пять минут, недопустимо. Если система торгует во время формирования начального диапазона, создайте отдельный признак с учётом прошедшего времени и получите внутрибарную историю, позволяющую его воспроизвести.
Измерьте дополнительную ценность объёма
Зафиксируйте один набор ценовых кандидатов и сравните четыре варианта: только цена, RVOL бара, накопленный RVOL и RVOL относительно бенчмарка. При проверке отбора входы, выходы и размер позиции одинаковы. Учитывайте отклонённые возможности вместе с исполненными сделками, иначе скрывается цена упущенных из-за фильтра возможностей.
Оцените отдельные периоды, группы ликвидности и время суток. Сообщите о чистой ожидаемой доходности в единицах риска, количестве сделок, доходности за день, просадке и стоимости исполнения. Фильтр может повысить процент успешных сделок, отсеивая большинство из них и снижая общую эффективность. Зафиксируйте пороговые значения перед финальным тестированием, а затем отслеживайте те же правила с использованием фактических временных меток получения данных.
Полезные проверки реализации включают в себя постоянный исторический базовый уровень, нулевой знаменатель объема, неполную сокращенную сессию и переход на летнее время. Добавляйте будущие сессии к фиксированному историческому префиксу: ранее выданные значения признаков и сигналы должны оставаться неизменными. Также сравните средние и медианные версии на преднамеренно экстремальной предыдущей сессии, чтобы была видна случайная подстановка оценок.
Для ранжирования по поперечному сечению сохраняйте совокупность акций в том виде, в котором она существовала на момент принятия решения, и правило разрешения конфликтов при равенстве RVOL. Не выбирайте фиксированный список сегодняшних ликвидных компаний, сохранивших свои позиции, для представления более ранних рынков. Если только меньшее, чем желаемое количество акций имеет достоверную историю, сохраните этот меньший набор или примените заранее определенное правило распределения; выдумывание недостающей истории скрывает реальное ограничение реализации.
Частые ошибки
Скользящее окно баров не равно одному времени сессии
Скользящее среднее по 78 пятиминутным барам смешивает открытие и середину дня. Считайте его отдельным признаком.
Большой объем означает покупку
RVOL не задаёт направление. По-прежнему нужны ценовой триггер, условие аннулирования и выход.
Очистка выборки по результатам прибыли
Исключения из анализа данных должны быть указаны до начала оценки и не должны зависеть от того, была ли сделка успешной.
Список проверки перед использованием метода
Отмечайте пункты после проверки на своих данных. Прогресс сохраняется в этом браузере и не подтверждает прибыльность стратегии.
Частые вопросы
Какое значение RVOL является допустимым?
Универсального порогового значения не существует. Значение, такое как 1.5, является потенциальным параметром исследования, смысл которого зависит от сессии, рынка, оценщика и затрат.
Можно ли использовать незавершённый бар?
Да, с использованием отдельно определенной характеристики прошедшего времени, сравниваемой с соответствующими историческими данными о прошедшем времени. Для проведения бэктеста необходимы адекватные внутрибарные данные.
Источники исследования
Каждый источник подтверждает указанное рядом определение или доказательство. Псевдокод, искусственные примеры и предлагаемые параметры требуют отдельной проверки.
- Relative Volume at TimeTradingView. Определения обычного и накопленного объёма относительно соответствующего времени прошлых сессий. Проверено: .
- A Profitable Day Trading Strategy For The U.S. Equity MarketZarattini, Barbon, Aziz. Первоисточник для отбора ORB по пятиминутному RVOL с базой за 14 сессий; не проверка предложенных здесь вариантов. Проверено: .
- Crypto Wash TradingNBER. Исследование качества заявленного объёма в исторических выборках бирж; его выводы не переносятся на каждую сегодняшнюю площадку. Проверено: .
Связанные методы
Примечание о рисках
Материал предназначен для обучения и планирования исследований, а не является финансовой рекомендацией. Backtest моделирует прошлые данные, не гарантирует будущую доходность и не совершает реальные сделки. Методы библиотеки не обязательно реализованы в приложении. См. методологию и учебный центр.
Проверьте правила, прежде чем рисковать реальным капиталом
Проверьте возможности приложения, данные и каждую смоделированную сделку; сложные детекторы могут потребовать отдельной реализации.
Скачать Backtest в App Store