SPY · Deep ITM 0DTE: лимитная заявка по формуле 09:35–10:00, продажа в 16:10 или исполнение в 17:25
Тот же тест, что с покупкой в 09:35, но не по ask: в 09:35 по Нью-Йорку робот выставляет заявку на покупку опциона SPY в деньгах с экспирацией в этот день по самой формуле — цена SPY минус страйк (у Put: страйк минус цена SPY) — и переставляет её при каждом движении SPY до 10:00. Заявка исполняется, только когда продавец опускается до неё, поэтому опцион покупается примерно по внутренней стоимости, а не по ask, который выше на полспреда. Всё решает скорость робота — через сколько он узнаёт цену SPY (0,1–1 с): медленную заявку исполняют в основном тогда, когда SPY только что ушёл против неё. Исполнение проверяется по каждой котировке опциона и SPY (тики, до миллисекунды). Закрывается позиция в тот же день: продажа по bid в 16:10 или исполнение в 17:25 по внутренней стоимости от цены SPY в этот момент. Около $10 000 в день. Любая настройка ниже пересчитывается в браузере по сохранённым исполнениям.
SPY · 2024: данных пока нет
Сессии SPY за 2024 год ещё собираются, или снимок страницы за этот год ещё не собран. Как только он будет готов, расчёт появится здесь.
Как считается
- Лимитная заявка. В 09:35:00 робот выставляет заявку на покупку опциона, выбранного ниже, по формуле: цена SPY минус страйк у Call, страйк минус цена SPY у Put, округлённая вверх до цента, плюс запас 0, 1, 2 или 5 центов на акцию. Цена SPY — середина её котировки NBBO. При каждом изменении этой середины робот переставляет заявку, но узнаёт о нём с задержкой 0,1, 0,25, 0,5 или 1 секунда. Как считать исполнение — поле формы: когда ask опциона в NBBO не выше заявки (по цене заявки, если ask опустился до стоящей заявки, и по ask, если заявка поднялась до стоящего ask или была выставлена на него); или ещё когда обычная сделка по одному опциону прошла по цене заявки или ниже, пока заявка — лучший bid (по умолчанию: продавцов, которые продают сразу в bid, в котировках не видно, а продали бы они сначала нашей заявке); или строго — только когда ask или такая сделка ушли ниже цены заявки (по той же цене перед ней могут стоять другие). Кроссы, сделки в зале и сделки-связки не считаются; перекрещённая котировка (ask ниже bid) рынком не считается. Заявка ждёт до 10:00:00; неисполненная снимается, и сессия пропускается, или, по выбору, опцион покупается по ask котировки в 10:00. Переплата, плечо и сравнение с акциями считаются от цены SPY в момент исполнения.
- Данные. Для каждой сессии с экспирацией в тот же день — все изменения котировки NBBO и все сделки выбранных опционов с 09:34 до 10:00 и все котировки SPY с 09:34 до 10:01, до наносекунды (Massive, история /v3/quotes; у SPY сохранены только моменты, когда меняется середина). Выбор страйка — по котировкам NBBO в 09:35:00 всех страйков в деньгах до глубины 5%, которые хранит режим с покупкой в 09:35, и середине котировки SPY в 09:35:00. Котировки продажи и цены в 16:10 и 17:25 — из того же режима. Пока собран только QQQ за 2026 год.
- Выбор страйка. В 09:35 для каждой стороны берётся опцион в деньгах, у которого страйк ± середина котировки ближе всего к цене SPY (при равенстве — ближайший к деньгам); или, по выбору, ближайший к деньгам, самый дешёвый, то есть с наибольшим плечом, из тех, у кого разница не больше 0,01% цены. Котировка шире $0,50 или без bid не используется.
- Экспирация. В ту же сессию: 0DTE. Сессия без экспирации в тот же день (по списку контрактов поставщика) не торгуется и в таблицу не попадает. У SPY экспирации каждую сессию с конца 2022 года, до этого — по понедельникам, средам и пятницам.
- Плечо = цена SPY в момент исполнения ÷ цена покупки: на сколько долларов акций движется один доллар премии.
- Продажа в 16:10. По bid котировки NBBO, действующей в эту минуту, если ей не больше 5 минут и bid покрывает комиссию. Акции перестают торговаться в 16:00, а опционы на SPY — в 16:15, поэтому в 16:10 у опциона ещё есть рынок. Bid глубокого ITM-опциона часто ниже его внутренней стоимости (цена минус страйк у Call, страйк минус цена у Put): поле «Если bid ниже внутренней стоимости» либо всё равно продаёт по bid (по умолчанию), либо исполняет опцион (они американские) по внутренней стоимости от цены SPY в эту минуту. Контракты, не проданные по bid, исполняются по внутренней стоимости, если она покрывает комиссию; иначе считаются по $0 без комиссии. Если у поставщика нет ни одной котировки опциона с 15:00, сессия не оценивается и не входит в итог.
- Исполнение в 17:25. До 17:30 по Нью-Йорку владелец истекающего опциона решает, исполнять ли его, независимо от цены в 16:00. Страница исполняет опцион в 17:25, если внутренняя стоимость от цены SPY в этот момент (последняя сделка до 17:25, на вечерней сессии) покрывает комиссию, и засчитывает эту стоимость: полученные по страйку акции считаются проданными (у Put — откупленными) по этой цене, без спреда и комиссий по акциям. Если в 17:25 опцион вне денег, он истекает по $0, и премия теряется.
- Бюджет делится поровну между выбранными ногами: при Call + Put — половина дневного бюджета на ногу; нужны обе ноги, сессия без любой из них пропускается. Контрактов на ногу — столько, чтобы стоимость (ask × 100 + комиссия за каждый) была ближе всего к бюджету ноги, больше или меньше его; при учёте объёма — не больше объёма на ask. Сессия, в которую даже один контракт дороже двух бюджетов ноги, пропускается. Страница открывается с бюджетом $10 000 в день и показывает доходность к капиталу: бюджет плюс наибольшая просадка.
- Комиссия берётся за каждый купленный и проданный (или исполненный) контракт; по умолчанию $0,65.
- То же в акциях. Для сравнения — столько акций, сколько покрывают опционы (100 на контракт; для Put — продажа в шорт), купленных по цене в 09:35 и проданных по цене минуты выхода, без комиссий и спреда. Разница с опционами — это то, во что обошлись или что принесли переплата, спреды, комиссии и ограниченный премией убыток.
- Лучший вариант. Страница открывается на лучшем варианте за весь год при $10 000 в день, комиссии $0,65, без учёта объёма, со страйком ближе всего к формуле и без покупки в сессии без подходящего страйка: среди вариантов (сторона × выход × цена в формуле × допуск, а для продажи по bid — продавать или исполнять, если bid ниже внутренней стоимости), которые торгуют хотя бы в половине сессий с экспирацией в тот же день, — тот, у которого больше всего итог без трёх лучших сессий, чтобы вариант не выигрывал на нескольких скачках; при равенстве — больший итог. Кнопка «Лучший вариант» ищет заново среди опционов, выбранных в форме, при текущих настройках. Все они подобраны на тех же сессиях, на которых показан результат, поэтому он завышен.
- Ограничения. Известны только котировки. Исполнение засчитывается, когда ask доходит до заявки, но очередь перед заявкой по этой цене, объём за ask и влияние самой заявки на рынок (видимая заявка по формуле может изменить котировки маркет-мейкеров) неизвестны; как и время на отправку и изменение заявок сверх задержки робота. Поэтому на деле исполнение может прийти позже или не прийти, а быстрый робот — это сервер рядом с биржей с живыми котировками SPY или тип заявки, которую двигает сам брокер (у Interactive Brokers — «Pegged to Stock» с дельтой 100%); его скорость надо проверить на одном контракте. Лучший вариант подобран на том же году.
- Воспроизведение. Тики собирает, после сессий режима с покупкой в 09:35,
python -B scripts/collect_deep_itm_0dte.py --limit --symbols SPY --from 2024-01-01, а снимок страницы проигрывает на них заявку (app/deep_itm_0dte/limit.py) без новых запросов:python -B scripts/build_deep_itm_0dte_page.py --limit --symbols SPY --years 2024. Каждую настройку браузер считает моделью public/static/deep-itm-0dte-model.js; деньги считаются в сотых долях цента.