QQQ · Call или Put перед закрытием: сторона по RSI
Копия теста «Call + Put перед закрытием», которая каждую сессию покупает только одну сторону. В выбранную минуту между 15:30 и 15:50 по Нью-Йорку страница берёт RSI выбранного таймфрейма и длины: выше верхнего порога покупается одна сторона, ниже нижнего — другая («разворот» — Put при высоком RSI и Call при низком, «тренд» — наоборот); между порогами сессия пропускается или покупаются обе. Опционы истекают в тот же день; выход — продажа по bid в 16:10 или внутренняя стоимость в 17:25. Любая настройка пересчитывается в браузере по сохранённым котировкам за 2022–2026 годы.
Сохранённый архив NBBO: 2022-03-07 — 2026-09-23, сессий: 1142 · RSI по минутным данным проекта по 2026-09-24 · время Нью-Йорка · выгрузка 2026-09-24.
По годам
Все комбинации входа и страйка
Накопленный результат
Кривая начинается с нуля в первый день периода; дни без входа её не меняют. Это сумма P&L сделок, а не баланс счёта. Точки между панелями — дни, когда после закрытия отчитывалась компания из корзины ниже. Наведите курсор или выберите график и листайте дни стрелками; клик открывает день в таблице.
Все торговые дни
Как считается
- RSI. RSI Уайлдера по свечам основной сессии выбранного размера из минутных данных проекта (с сентября 2021 года, так что к 2022 году любая длина «разогрета»); свечи выровнены по 09:30, часовая свеча — 09:30–10:30 … 15:30–16:00, закрытие свечи — её последняя минута. В минуту входа RSI учитывает все свечи, закончившиеся к этому времени, и текущую свечу с ценой минуты перед входом вместо закрытия — так его показывает живой график: дневная свеча всегда текущая, 5-минутная свеча, закончившаяся ровно в минуту входа, считается завершённой. Правило сравнивает RSI с двумя порогами, границы включительно: на верхнем пороге и выше — одна сторона, на нижнем и ниже — другая, между ними — выбор в форме. Сессии без RSI (сокращённые дни) пропускаются.
- Вариант по умолчанию и перебор. Каждое из 2 744 правил RSI (4 таймфрейма × 7 длин × 2 направления × 25 пар порогов × пропуск или обе стороны между ними) проверено при 160 настройках сделки (минута входа, шаг OTM, выход и фиксация, фильтры) на QQQ, SPY и IWM — 439 040 вариантов на фонд. Вариант по умолчанию — вариант QQQ с наибольшим итогом без трёх лучших дней на 2022–2024 годах, усреднённым с соседями (длина на шаг в каждую сторону, каждый порог на 10 пунктов), чтобы не выиграла одна удачная клетка; 2025–2026 — проверка. При выборе на трёх фондах вместе ни одно правило не зарабатывает на 2022–2024; правило, выбранное на QQQ, теряет на SPY и IWM. Подробности — в разделе 19 docs/QQQ_CALL_PUT_CLOSE_RESULTS.md.
- Данные. Минутные снимки NBBO и полный поток котировок 0DTE-опционов QQQ из архива проекта; цена QQQ — последняя завершённая минута.
- Страйк. Выбирается по цене QQQ в минуту входа. OTM: Call — ближайший страйк строго выше цены, Put — строго ниже; ITM — наоборот. «+N шагов» — на N страйков дальше в ту же сторону (шаг $1).
- Вход. Покупка по ask из снимка на минуту входа. Котировка должна быть действительной, ask не ниже $0,01, на ask хотя бы один контракт, а возраст котировки не больше выбранного порога. Правило проекта — 15 с; дальние OTM-котировки часто стоят без изменений дольше, поэтому по умолчанию разрешено до 5 минут.
- Выход в 16:10. Продажа по bid не старше 15 с. Если такого нет — первый положительный bid до 16:15. Контракты, на которые не хватило объёма bid, оцениваются по внутренней стоимости по цене QQQ в 16:15.
- Выход в 17:25. Внутренняя стоимость по цене QQQ в 17:25 (минута не старше 4 минут). Предполагается исполнение опциона до 17:30 и закрытие позиции в акциях по этой цене. Это не наблюдаемая сделка.
- Фиксация прибыли. С минуты после входа и до планового выхода страница каждую минуту проверяет цену QQQ. Как только внутренняя стоимость всей позиции достигает выбранного кратного вложенного (с комиссиями), позиция закрывается по этой цене: до 16:15 продажей опционов, позже сделкой с акциями QQQ после закрытия и исполнением опционов — так фиксируется как минимум внутренняя стоимость. Иначе действует плановый выход. Нога без внутренней стоимости в эту минуту считается закрытой по $0 — осторожное допущение, её остаточная стоимость не учитывается. Минутные закрытия — цены сделок, а не исполнимые котировки; торговля после закрытия и сроки исполнения зависят от брокера.
- Способ фиксации. «Закрыть позицию» — как описано выше. «Хедж акциями»: опционы остаются до 17:25, а в минуту фиксации каждая нога в деньгах хеджируется 100 акциями QQQ на контракт (Call — продажей акций, Put — покупкой): её внутренняя стоимость на эту минуту сохраняется, а если QQQ вернётся за страйк, снова зарабатывает другая сторона позиции. Это то же самое, что купить глубокий опцион в деньгах другого типа, но без оплаты его спреда. «Дельта-хедж»: в минуту фиксации каждая нога хеджируется акциями на величину дельты по Блэку–Шоулзу (волатильность — из средней цены на входе, время — до 17:30), и хедж пересчитывается в каждую минуту, когда дельта сдвинулась на 0,05; если волатильность из цены не выводится, для ноги используется простой хедж акциями. Акции закрываются по цене 17:25. Издержки: $1 на 100 акций для хеджа акциями и 1 цент за акцию в каждой сделке дельта-хеджа. Оба хеджа работают только при выходе в 17:25: им нужны минуты после закрытия. Сравнение всех способов, включая вертикальный спред и покупку опциона в деньгах.
- Устойчивость. Кроме итога страница показывает, сколько календарных месяцев закончились в плюсе, в какой доле сессий накопленный итог был выше нуля, каждый год под графиком и каждый год рядом с парой и с каждой стороной отдельно при тех же настройках.
- $1000 в день. Страница открывается с опционами на $1000 в день. При дневном бюджете она показывает и доходность к капиталу: бюджет плюс наибольшая просадка, через которую прошло правило, и тот же результат в пересчёте на 252 сессии в году без сложного процента.
- Издержки. Сделки с акциями после закрытия стоят в модели 1 цент за акцию ($1 на 100 акций для хеджа акциями); форма может увеличить это вдвое или втрое — на случай более широкого спреда после закрытия — и добавить 1–2 цента к цене каждого покупаемого контракта.
- SPY и IWM. Та же страница и модель работают на их собственных снимках из того же архива. Корзина дней отчётов та же; фильтр волатильности за 30 минут есть только у QQQ, потому что его пороги — квартили QQQ.
- Минимум за ордер с акциями. Некоторые брокеры берут за ордер с акциями не меньше $0,35 или $1,00. В издержках на акции выше уже заложено $0,0035 за акцию, поэтому каждый ордер добавляет только то, чего ему не хватает до минимума. Хедж акциями и закрытие после 16:15 торгуют по 100 акций на контракт и почти не затронуты; дельта-хедж много раз торгует мелкими лотами, поэтому минимум сильнее всего бьёт по нему при одном контракте и слабее — при нескольких.
- Дни отчётов. Корзина из исследования проекта: AAPL, MSFT, NVDA, AMZN, META, Alphabet, TSLA, AVGO, AMD, MU. Все они публикуют результаты после закрытия; даты взяты из календаря Nasdaq, сохранённого в проекте (сессий за период: 137). Самые крупные поздние движения приходятся на эти дни, и фиксация может их обрезать: режим «держать» отключает фиксацию только в дни отчётов.
- Исполнение хеджа. Фиксация решается по цене закрытия минуты, которой к этому моменту уже нет. По умолчанию каждая сделка хеджа с акциями исполняется по открытию первой минуты после сигнала (проверенные минутные свечи архива); «по цене минуты сигнала» — прежняя, оптимистичная модель. Нашёл аудит исполнения в research/qqq_call_put_close_2026-09-24.
- Страйк по дельте, спред и VIX. Страйк по дельте: из четырёх шагов OTM берётся тот, у которого дельта по Блэку–Шоулзу на входе (волатильность из середины котировки, до 17:30) ближе всего к цели, поэтому «насколько далеко» следует за ценой и волатильностью года. Минимальная цена в % цены ETF — то же для цены опциона. Спред: суммарный спред bid/ask пары на входе к её суммарному ask. VIX: закрытие Cboe в прошлую сессию (data/vix_prices_v1.json). Всё это известно до входа.
- Фильтры. Активность: размах QQQ (максимум минус минимум к первой цене) по закрытиям минут за 15 минут до входа — не меньше фиксированного процента или доли медианного размаха 15:30–15:45 за 20 прошлых сессий. Минимальная цена: оба опциона на входе стоят не меньше этой суммы; очень дешёвые опционы означают спокойную сессию и в основном состоят из комиссии. Вечера: средний размах после закрытия (16:15–17:25) за 10 прошлых сессий; 0,19% и 0,25% — медиана и верхняя треть января–июня. Каждый фильтр использует только данные, известные до входа. Как фильтры проверялись.
- Волатильность за 30 минут. Из исследования research/qqq_late_move_2026-09-24: 100 × корень из суммы квадратов минутных доходностей QQQ с 15:15 до входа. Группы заданы квартилями 2023–2024 годов: низкая ≤ 0,122%, высокая ≥ 0,218%, так что 2026 год их не видел. Окну нужны цены QQQ с 15:15, поэтому фильтр работает для входов с 15:45. Как он сработал на этой паре.
- Комиссия берётся за каждый купленный и проданный контракт. Если внутренняя стоимость не покрывает комиссию, опцион не исполняется и выход ничего не стоит.
- Несколько контрактов на ногу покупаются по тому же ask; при учёте объёма нога получает не больше объёма, показанного на ask при входе. Всё остальное, включая комиссии и хедж акциями, масштабируется вместе с числом контрактов.
- Бюджет делится поровну между выбранными ногами. Контрактов на ногу = бюджет ноги ÷ (ask × 100 + комиссия), с округлением вниз. При учёте объёма покупка ограничена объёмом на ask, а продажа в 16:10 — объёмом на bid.
- Ограничения. Котировки не доказывают исполнение; задержка, очередь заявок и проскальзывание не учтены. Вариант по умолчанию выбран среди множества вариантов на 2022–2024 годах, поэтому вне выборки только его результат 2025–2026, да и он следует за выбором из нескольких способов отбора; правило, которое работает на QQQ, но не на SPY и IWM, может быть удачей. Надёжная проверка — будущие сессии с заранее зафиксированным правилом.
- Воспроизведение. Котировки — снимки страницы call-put-close (
python -m scripts.build_qqq_call_put_page), RSI —python -m scripts.build_call_put_close_rsi --symbol QQQ, перебор —research/qqq_call_put_close_rsi_2026-09-25. Страница считает моделью исходного теста, которая совпадает до цента с независимым расчётом на Python.