Опционы на акции: что изменилось в 2026 и работает ли «запас» между стоком и опционом

Собрано 20 августа 2026. Рыночная часть — по первичным нотисам Cboe, релизам SEC/FINRA и квартальным отчётам Cboe. Исследовательская часть — собственный бэктест на 5158 наблюдениях: 21 имён из GTH-списка, 2025-08-18 — 2026-08-18, исполнимые NBBO по обеим опционным ногам и по акции.

Короткий вердикт

1. Хронология: что именно изменилось в 2026

Пять событий, три из которых уже действуют, и одно — главный риск для овернайт-стратегий.

26 янв
Mon/Wed экспирации на одиночные акции
8 имён (Mag7 + AVGO) плюс IBIT. Поток дошёл до ~3 млн контрактов в день, TSLA и NVDA — больше половины. Tue/Thu 0DTE на акциях по-прежнему нет.
14 апр
SEC одобрил отмену PDT
Обозначение «pattern day trader» и порог $25K убраны из FINRA Rule 4210. Вместо них — интрадей-маржа по фактической экспозиции.
28 мая
SEC одобрил расширенные часы по опционам на акции
Cboe C1: премаркет 07:30–09:25 ET и Curb 16:00–16:15 ET. Старт планировали на 13 июля.
4 июн
Отмена PDT вступила в силу
Фазировка у брокеров до 2027 года. В Q2 заметно выросла активность счетов меньше $25K.
17 авг
GTH и Curb по 21 имени — фактический запуск
Сдвинуто с 13 июля. Очередь заявок с 07:15. Market и stop/stop-limit ордера в GTH запрещены. Сессия открывается не по часам, а по гейту: нужен первый round-lot принт в акции и двусторонний бид/аск.
6 дек (цель)
23×5 по акциям
Nasdaq целится на 6 декабря: две непрерывные сессии 04:00–20:00 и 21:00–04:00. Cboe EDGX — 23×5 в декабре же. Зависит от готовности SIP и клиринга DTCC 24/5.

2. Куда реально идут объёмы

Общий ADV в Q2 2026 — 72.8 млн контрактов, +19%% год к году; в Q1 было 68.6 млн против 60.4 млн годом ранее. Но разложение по сегментам показывает, что «объёмы растут» — это не про опционы на акции.

Рост ADV год к году, % (Q1 2026)0%6%12%18%25%ETFИндексныеНа акцииADV, млн контрактов в день09172634ETFИндексныеНа акции
>20 млн
0DTE-контрактов в день, +46% с начала года
50–63%
доля 0DTE в объёме SPX
1.9 млн
FLEX ADV, +36% г/г
~3 млн
поток Mon/Wed экспираций на 8 именах

Читается так: бум — в индексах, ETF и однодневках. Опционы на отдельные акции остаются 74% equity-объёма, но растут почти плоско (+3%). Если ждать, что новая ликвидность сама придёт в single-name премаркет, — ждать придётся долго.

3. Новая сессия: точная механика и где она попадает в твои часы

00020406081012141618202224Акции сейчасОпционы на акции — до 17 авгОпционы на акции — с 17 авгИндексные опционы (SPX/VIX/XSP/RUT)Акции с декабря (план 23×5)pm_moo 9:10замер 15:55AMC10 18:00MOC→19:00
премаркет/постмаркет акцийосновная сессияGTH опционовCurb опционов

Пунктиры — сигнальные времена твоих стратегий. Зелёные попадают в новое окно, красные нет. Ключевой вывод: 18:00 ET у AMC10 и 19:00 у MOC→19:00 не покрываются вообще — Curb закрывается в 16:15. Из твоих часов в новое окно попадает только утро pm_moo.

Кто в списке (21 имя, обновление раз в полгода)

AAPLAMDAMZNAVGOBABABACGOOGGOOGLHOODINTCMETAMSFTMUNFLXNOKNVDAORCLPFEPLTRTSLATSM

Критерий допуска за 6 месяцев: опционный ADV ≥ 150 тыс. контрактов, капитализация ≥ $50 млрд, ADV акции ≥ 10 млн шаров. Пересечение с твоим юниверсом ADV 2M+ (1836 тикеров) — это 21 мега-кап, то есть именно те имена, которые почти никогда не дают гэп ±10% на отчёте.

Механика, которая ломает наивные ожидания

4. Реальность данных: сессия запущена, а истории нет

Прежде чем строить что-либо на премаркетных опционах, я проверил, есть ли они в данных. Зонд по NVDA/TSLA/AAPL/AMD/PLTR/META/MSFT/AMZN/MU/AVGO за 17–20 августа:

ПроверкаРезультат
Двусторонние котировки до 09:30нет — только 0/0 в 08:00, 08:05, 08:10 … 08:30, 09:00
Первый реальный квот, NVDA ATM 19 авг09:30:00.089
Минутные бары в окне 07:15–09:300 баров по всем 20 контрактам
Дневной объём против суммы минуток RTHсовпадает (разница −2.0% — артефакт агрегации, не внешний объём)
Объём в окне 16:00–16:15только бар 16:00; TSLA 15 и 8 контрактов
/v3/trades по опционам403 NOT_AUTHORIZED — принты вне тарифа

Что это значит практически

Вендор в блоге заявил, что расширенные часы приходят в те же trades/quotes эндпоинты «без изменений в коде» с 17 августа. В исторической ленте REST этого пока не видно. Отсюда два следствия. Первое: любой бэктест премаркетной опционной сессии сегодня строится на воздухе — не на малом N, а на нулевом. Второе: когда данные включат, твои существующие опционные и интрадей-агрегаты начнут втягивать GTH-принты, если фильтр 09:30–16:00 не выставлен явно. Дневные бары останутся RTH-only, а минутные — нет.

5. Логика «запаса»: что это за величина и из чего она состоит

Опцион не имеет своей «цены акции» — но её можно из него достать. Пут-колл паритет говорит, что колл минус пут плюс дисконтированный страйк должны равняться цене акции. Отсюда синтетическая цена:

synth = C − P + K·e−rT + PV(дивиденды до экспирации)
запас = synth − цена акции

Если запас положительный — колл дорог относительно пута, рынок опционов «оценивает» акцию выше. Отрицательный — путы дороги, что классически означает дорогой borrow: шортисты не могут занять бумагу и покупают путы вместо шорта. Именно поэтому запас нельзя брать сырым. Он состоит из четырёх слоёв, и торговый сигнал — только в четвёртом:

СлойПриродаМасштаб в наших данныхСигнал?
Стоимость borrowпостоянный уровень именимедиана 1.6 bps по книгенет — это уровень
Дивиденд до экспирациискачок в конкретные датыдо $0.85 на MSFT — в 4 раза больше порога $0.20нет
Право раннего исполнениясмещение американского путаединицы центов на ATM, DTE 5нет
Квантование спредомкотировки дискретныширина синтетики 20.2 bpsнет
Асинхронность часовноги замерены в разные мгновения81% всей дисперсиинет, и это главная ловушка
Информированный потоккто-то знает и торгует опциономто, что осталосьтолько это

Отсюда и метод: сначала выровнять часы, потом снять с имени его собственный постоянный уровень (скользящая медиана 20 дней, строго со сдвигом), и только остаток проверять как сигнал.

6. Дефект замера, который я нашёл в собственном первом заходе

Первый прогон брал опционные котировки на 15:55:00, а цену акции — как close минутного бара 15:55, то есть примерно 15:55:59. Рассинхрон до 60 секунд. На бумаге за $200 минута движения — это $0.10–0.20, ровно тот масштаб, который мы ищем. Замер измерял не разницу цен, а дрейф.

Распределение запаса, bps-60-40-200204060несинхронно (бар vs котировка)синхронно (NBBO vs NBBO)bps от цены акции
18.48.0
sd запаса, bps: несинхронно → синхронно
81%
дисперсии оказалось часовым скосом
46% → 10.6%
дней со «сигналом» |запас| > $0.20
$0.327
средний |скос| bar-close против синхронного NBBO
1.8 с
медианная свежесть худшей из трёх ног

И направление ошибки не безобидное: на несинхронных данных правило показывало -7.01 bps при t=-1.17 — то есть уверенный минус, которого в реальности нет. Построил бы на этом «инверсию сигнала» — торговал бы шум.

7. Бэктест: 21 имя, 12 месяцев, исполнимые котировки

Замер в 15:55 ET — последняя минута, когда оба рынка точно открыты. Ближайшая недельная экспирация с DTE 3–11, страйк ближайший к цене. Вход по цене акции в момент замера, выход — аукцион открытия следующего дня. Все три ноги — «последняя двусторонняя котировка на момент или раньше», свежесть каждой записана. Раскрытие: это ровно то же построение, что просил вопрос, но на инструменте и в часах, где данные существуют.

Первый тест: есть ли там вообще что снять

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

2.8 bps
медиана |запаса|
20.2 bps
ширина полосы синтетики
2.3%
дней с расхождением полос (свежие ноги)
$0.022
медиана «свободных денег» на акцию
$0.113
лучший случай за год, свежие ноги
$0.013
стоимость двух опционных лег на акцию

Запас в семь раз меньше полосы, внутри которой он измеряется. То, что остаётся, не покрывает даже комиссию: медиана $0.022 минус $0.013 = $0.009 на акцию, или $0.85 на бокс из 100 акций — и это требует одновременного исполнения трёх лег по касанию против маркет-мейкера.

Второй тест: предсказывает ли запас направление к открытию

ПравилоNлонг/шортavg, bpsмедианаWR, %t
как задано: |запас| > $0.20 (несинхронно)23771367 / 1010-7.01-10.7545.6-1.17
как задано: |запас| > $0.20 (синхронно)548385 / 163+11.28+10.3253.5+1.03
|запас| > $0.1014731031 / 442+11.33+6.7853.0+1.92
|запас| > 10 bps437319 / 118-1.71+5.6651.3-0.13
|запас| > 20 bps12492 / 32-21.23-1.3350.0-0.96
нормированный |z| > 1.01373669 / 704-3.38+1.9850.5-0.49
нормированный |z| > 1.5702351 / 351-0.27-6.2848.3-0.03
нормированный |z| > 2.0374196 / 178-11.11-10.5846.3-0.89

Порог не даёт монотонности: жёстче условие — хуже результат (>10 bps даёт -1.7, >20 bps даёт -21.2). Это подпись шума, а не эджа. Нормировка на собственный уровень имени тоже ничего не вытаскивает.

Выходы: может, дело в точке выхода

ВыходNavg, bpsмедианаWR, %t
премаркет 09:29545+11.63+12.2153.8+1.05
открытие (аукцион)548+11.28+10.3253.5+1.03
следующие 11:00548+6.59+8.5551.3+0.49
следующий клоуз548+12.89+2.7450.7+0.86

Выход в премаркет 09:29 практически совпадает с аукционом: к моменту открытия гэп уже сформирован в премаркете. Это, кстати, самостоятельно полезный факт — переносить выход с аукциона на премаркет почти ничего не меняет.

Устойчивость по месяцам и против случайного знака

Средний результат по месяцам, bps-47-5+36+77+11808091011120102030405060708правило |запас|>$0.20просто держать овернайт

Правило в плюсе 8 месяцев из 13 — но амплитуда от -47 до +118 bps при N от 16 до 90 сделок в месяц. Это не режимность, это разброс.

Перестановочный тест: 4000 случайных знаков против наблюдённогоobserved +11.3-36-15+6+27+49

Наблюдённые +11.28 bps попадают ровно в тело случайного распределения: p = 0.31. Отдельно смотрю разложение по дрейфу — из +11.28 bps +6.01 bps приходит просто из того, что лонгов 385, а шортов 163, а безусловный овернайт-дрейф на этих именах равен +14.82 bps (t=+4.23). Собственный вклад сигнала: +5.28 bps.

Итог по запрошенной стратегии

Правило «расхождение больше $0.20 с выходом на открытии» на 21 самом ликвидном имени рынка за 12 месяцев не имеет эджа: p=0.31, вклад сигнала +5.28 bps, книга по правилу Sharpe 0.92 против 2.09 у бессмысленного «держать всё вдолгую овернайт». Арбитражной версии тоже нет — запас в 7 раз уже спреда. Причина не в реализации, а в том, что величина, которую правило ловит, на 81% состоит из рассинхронизации часов.

8. Свип порогов: в каких координатах эта сделка вообще живёт

Возражение по делу: 0.2% могло быть просто неудачным числом, и редкость сама по себе не приговор. Поэтому здесь свип по трём разным координатам, и в каждой строке — сумма за весь год в долларах, а не средний результат на наблюдение. Стратегия, срабатывающая четыре раза в год, вполне годится, если эти четыре раза платят.

Но сначала — откуда берутся деньги в сырых данных

Прежде чем свипать, надо было посмотреть на распределение. Всего исполнимых случаев 46 на общую сумму $606, но медиана — $40.72. Значит сумму делают единицы.

Тикердата$ на размеркрай, bpsполоса, bpsсвежесть котировки, сконтрактов
BAC2026-06-0256.905.4211.41.420
TSM2025-09-1546.471.7811.52.010
BAC2025-11-2640.847.7020.70.810
AMZN2026-02-0640.603.8415.10.65
TSLA2025-12-2940.112.184.31.44
NVDA2025-12-3033.821.641.60.611

Строки с устаревшей ногой несут 0.0% всей суммы. Шесть из восьми крупнейших «возможностей» — один день, и свежесть котировок там 20–76 секунд. Квот, не обновлявшийся минуту, — не цена, которую можно взять. Поэтому всё дальше считается только там, где все три ноги проквотированы в пределах 2 секунд: 2729 строк из 2729.

Координата 1: порог в процентах от цены — то, что предлагалось

порог, bps от ценыNсигналов в деньполоса, bpsдо экспирации, bpsположительных, %случаев с деньгами$ медиана$ за год
54941.9839.7-17.223.417$10.75$305
101230.4968.2-24.984.15$40.60$148
20200.0898.6-31.7710.02$21.25$43
3050.02105.3-42.4220.01$1.67$2

На синхронных котировках эта координата не просто не работает — она ухудшается с ужесточением порога, и выборка исчезает.

Координата 2: порог в долях ширины рынка — то же самое, но нормированно

порог, базис / полполосыNсигналов в деньполоса, bpsдо экспирации, bpsположительных, %случаев с деньгами$ медиана$ за год
0.505752.3110.3-3.498.046$9.41$606
0.802270.917.3-0.9720.346$9.41$606
11200.485.9-0.1238.346$9.41$606
1.20620.254.5+0.6372.645$9.63$605
1.50360.144.1+1.2694.434$10.09$528
2170.072.9+1.94100.017$13.62$337
320.011.9+1.44100.02$29.29$59

Выше 1.0 исполнимый край положителен по построению. Именно здесь сделка и живёт.

Порог в долях полполосы: результат (bps) и доля плюсовых (%/10)-3.5-0.1+3.3+6.6+10.00.50.81.01.21.52.03.0до экспирации, bpsположительных / 10

Вот это — настоящий результат: при пороге 1.5×полполосы положительных 94.4% и запертый край +1.26 bps, при 100% и +1.94 bps. Сделка верифицирована. Но посмотри на последний столбец: годовая сумма при этом падает с $528 до $337, потому что событий становится меньше, а размер одного не растёт пропорционально.

Координата 3: сам исполнимый край — фронтир

порог, чистый край в bpsNсигналов в деньполоса, bpsдо экспирации, bpsположительных, %случаев с деньгами$ медиана$ за год
0460.185.4+1.15100.046$9.41$606
0.25360.144.6+1.43100.036$10.98$579
0.50280.114.2+1.72100.028$11.66$501
1170.074.3+2.40100.017$19.47$404
260.0213.3+4.34100.06$40.36$194
520.0116.1+6.56100.02$48.87$98

Здесь доля положительных равна 100% по построению — фильтр и есть условие положительности. Смотреть надо на последний столбец.

Ужесточаем порог: размер сделки растёт, годовая сумма падает015304561>0.00>0.25>0.50>1.00>2.00>5.00$ за сделку$ за год / 10

Прямой ответ на «даже если редко — это хорошо»

В принципе — да, но здесь редкость не помогает. Ужесточая порог, ты поднимаешь размер одной сделки с $9.41 до $48.87, а годовая сумма при этом сползает с $606 до $98. Ограничение — не твоя избирательность, а размер самого множества возможностей: их столько, сколько есть, и порог их только отсекает.

И почему координата в процентах от цены обречена

базис >полосаNдо экспирации, bps
5 bps<107+1.00
5 bps<2087-2.38
5 bps<40250-7.67
5 bpsлюбая494-17.22
10 bps<100
10 bps<204+2.22
10 bps<4019-4.38
10 bpsлюбая123-24.98
20 bps<100
20 bps<200
20 bps<401+7.70
20 bpsлюбая20-31.77
30 bps<100
30 bps<200
30 bps<400
30 bpsлюбая5-42.42

Два условия взаимно исключающие: «базис больше 20 bps» и «полоса меньше 20 bps» вместе дают N=0. Широкий базис и узкий рынок не встречаются одновременно — потому что широкий базис и есть следствие широкого рынка.

Возражение, которое пришлось проверять отдельно: частота

Всё выше построено на одном замере в день, в 15:55. Арбитражное окно живёт секунды, и снимок раз в сессию его в принципе не видит. Поэтому — тиковый прогон: полный поток NBBO по обеим опционным ногам и по акции, склеенный в одну временную линию, край считается на каждом обновлении. 3 имён × 3 сессии × 30 минут.

194
окон найдено за 9 получасов
46 / год
сколько давал один замер в день — на 21 имени
7 мс
медианная длительность окна
20.6%
окон, стоящих дольше 0.5 с
0.29 bps
медианный край окна
3.61 bps
лучший край за всю выборку

Частота действительно на порядки выше, чем показывал дневной замер. Это подтверждается. Но длительность убивает: медиана 7 миллисекунд, и лишь 20.6% окон стоят дольше половины секунды.

Фильтроконвсего $медиана $окон на имя за 30 мин
любое окно194$5219.59$1.4721.56
стоит ≥ 100 мс60$2185.88$4.066.67
стоит ≥ 0.5 с40$1503.98$10.114.44
≥ 0.5 с И ≥ 0.5 bps17$1117.54$37.991.89
≥ 1 с И ≥ 1 bps5$503.45$51.910.56

Но вся выборка — это один день

Из 194 окон 190 приходится на 2026-08-11, и $5174 из $5220. Достижимых окон (стоят ≥ 0.5 с и дают ≥ 0.5 bps) всего 17, и вне того дня их ноль.

При этом 2026-08-11 — не сбой данных, а быстрый рынок: обновлений 17 717 против 9 582 и 8 865, медианная свежесть котировки 0.81 с против 1.5–1.7 с в другие дни, полоса уже. То есть окна открываются именно тогда, когда рынок быстро идёт — экономически это осмысленно, но означает, что поток событий крайне неровный.

Отсюда я не буду экстраполировать годовую цифру. Наивное масштабирование этих $1118 на полную сессию и год даёт шестизначное число, и оно было бы построено на одном получасе одного дня. При N=1 дне отличить «так бывает на каждом пятом дне» от «так случилось один раз» невозможно.

Как выглядят достижимые окна поштучно

Тикердатадлительность, скрай, bpsконтрактов$ на размерполоса, bps
AAPL2026-08-1114.491.29150$288.373.0
AAPL2026-08-1117.840.63113$136.493.3
AAPL2026-08-1183.460.96113$134.434.6
AAPL2026-08-111.880.6369$132.654.3
NVDA2026-08-116.871.8529$116.422.3
AAPL2026-08-110.790.6343$82.674.3
AAPL2026-08-113.661.6127$51.913.6
AAPL2026-08-115.300.6320$38.453.8

Это выглядит как настоящие сделки: окна по 2–83 секунды, 11–150 контрактов на тонкой ноге, $9–288 каждое. Но одна оговорка, которую данные не покрывают: выставленный размер взят по консолидированному NBBO, а лучший бид на колле и лучший аск на путе могут стоять на разных биржах из восемнадцати. Реальный филл требует одновременной маршрутизации в три места и очереди в каждом, так что «размер на NBBO» — это верхняя оценка, а не то, что достанется.

9. Арбитражная версия: 0.2% и две ноги

Это уже не направленная ставка, а классическая конверсия. Если синтетика дороже акции — продаём синтетику (продать колл, купить пут) и покупаем акцию; если дешевле — обратное, реверсал. Позиция дельта-нейтральна по построению, поэтому вопрос не «куда пойдёт цена», а сойдётся ли базис и хватит ли его на пересечение спредов. N=4627, имён 21, вход 15:55 ET.

базис B = synth − stock,  synth = C − P + K·e−rT + PV(div)
synth_sell = c_bid − p_ask + K·DF + PV(div) — за сколько продаёшь синтетику
synth_buy  = c_ask − p_bid + K·DF + PV(div) — за сколько покупаешь

Сначала — во что это обходится ещё до всякой прибыли

18.7 bps
ширина рынка синтетики (buy − sell)
9.4 bps
стоимость ОДНОГО входа
40.9 bps
та же ширина в 09:31 — вдвое хуже
1.90 bps
спред самой акции
0.53 bps
комиссия двух опционных лег

Главное: порог 0.2% отбирает не расхождения, а широкие рынки

Порог, bpsNдоля дней, %ширина рынка на входе, bpsона же в 09:31|базис|, bpsбазис / полполосы
04627100.0018.740.92.70.29
5101221.8738.583.77.90.46
103407.3560.7111.414.50.50
151553.3579.3125.820.50.53
20861.8696.1147.125.50.57
30330.71126.0274.642.20.74
Ширина рынка синтетики против удвоенного базиса, bps03163941260510152030ширина рынка2 × |базис|

Читается так. Медианная ширина рынка синтетики — 18.7 bps. Но среди дней, где базис превысил 20 bps, она уже 96.1 bps, то есть в пять раз шире. Причина механическая: mid может отойти от справедливой цены на 20 bps только если рынок достаточно широкий, чтобы это позволить. На NVDA с полосой 8.8 bps отклонение mid на 20 bps физически почти невозможно.

Условие сигнала = условие неисполнимости

Последний столбец — отношение базиса к половине полосы, то есть к стоимости одного входа. Оно нигде не доходит до единицы: 0.57 при пороге 20 bps и 0.74 при 30 bps. Значит видимый край не покрывает даже одну сторону входа, не говоря про round-trip. Фильтр «базис больше 0.2%» находит не мисприсинг, а моменты, когда опцион почти не квотируется — ровно те, в которые его нельзя взять.

При этом сама идея верна: базис действительно сходится

Куда сдвинулся базис за ночь, по децилям входа-136…-4 bps+7.05 bps из -8.8 → -1.8-4…-2 bps+2.02 bps из -2.6 → -0.6-2…-0 bps+2.12 bps из -0.9 → +1.2-0…1 bps-0.81 bps из +0.3 → -0.51…2 bps-0.53 bps из +1.2 → +0.72…2 bps-1.35 bps из +2.0 → +0.62…3 bps-2.14 bps из +2.7 → +0.63…4 bps-3.06 bps из +3.6 → +0.64…6 bps-5.07 bps из +5.1 → +0.16…99 bps-14.09 bps из +13.6 → -0.5

В хвостах базис откатывает к нулю на 80–90%, корреляция входа с выходом 0.049 — то есть это не случайное блуждание, величина действительно схлопывается. Экономика идеи правильная. Но sd базиса на входе 7.3 bps, а в 09:31 уже 30.8 bps: сразу после открытия само измерение становится шумнее, чем то, что мы ловим.

P&L: четыре выхода, включая запрошенный MOO

ПорогNдо экспирацииразгрузка 09:31MOO акция + 09:31 опционследующие 15:55
10 bps340-27.1 WR 11%-124.5 WR 2%-116.2 WR 10%-90.9 WR 0%
15 bps155-34.4 WR 17%-156.6 WR 5%-147.0 WR 10%-127.0 WR 0%
20 bps86-42.1 WR 22%-197.3 WR 7%-189.9 WR 7%-143.2 WR 0%
30 bps33-59.9 WR 33%-287.5 WR 6%-278.6 WR 6%-182.7 WR 0%

В каждой ячейке средний результат в bps и рядом WR. Все выходы отрицательные, и что важно — разгрузка около открытия хуже всего (−197 bps при пороге 20), потому что в 09:31 опционные спреды вдвое шире обычных. Сам выход «MOO» вообще невозможен как одна сделка: опционы не участвуют в аукционе, акция уходит в 09:30:00, а опцион — только когда возобновится квотирование. Первый двусторонний квот я замерил на 09:30:00.089, то есть ногу закрыть можно почти сразу, но одновременности нет.

Держать до экспирации — единственный вариант, который вообще арбитраж

Тут разгружаться не нужно: паритет на экспирации точный, базис сходится к нулю сам. P&L зафиксирован на входе и равен запертому базису.

ПорогNсредний, bpsположительных, %средний у выигрышных, bps
0 bps4627-12.32.23+5.5
10 bps340-27.110.88+13.8
20 bps86-42.122.09+22.3
30 bps33-59.933.33+28.8
50 bps14-86.335.71+39.1

Обрати внимание на форму: чем жёстче порог, тем хуже средний (−27 → −86 bps), хотя доля положительных растёт. Это подпись отбора по широкому спреду — редкие крупные попадания не компенсируют того, что типичная сделка входит глубоко внутрь чужого спреда.

А кто вообще попадает в выборку при 0.2%

Тикерсигналовценаширина рынка, bpsсредний, bps
NOK438.32124-78.8
PFE1024.9550+16.2
HOOD5126.61118-39.8
INTC546.6199-34.6
MU5225.1671-11.1
BAC452.3826+2.7
AMZN2238.2244-0.4
AVGO2418.9578-18.7
PLTR2148.1134+6.8
TSM2428.5674-16.1
GOOG1319.106+15.9
GOOGL1319.2311+14.0
META1614.763+20.5
NFLX175.70133-40.1
NVDA1182.798+35.7
TSLA1419.326+37.2

Половина всех сигналов — NOK: акция за $8.32 с полосой синтетики 124 bps. Порог в процентах на таком имени срабатывает постоянно и означает ровно одно — опцион там почти не торгуется. А если требовать синхронные котировки с обоих концов, сигнал почти исчезает: 7 из 1850 строк.

Контрфакт: а если не пересекать спред вообще

Выставить лимит по mid на обеих опционных ногах и держать до экспирации — тогда запертый P&L равен самому mid-базису минус комиссия. Это сторона маркет-мейкера в той же самой сделке.

ПорогNвход по mid (мейкер), bpsвход с пересечением (тейкер), bpsспред стоит, bps
10 bps340+14.4-27.141.5
20 bps86+26.8-42.168.8
30 bps33+43.1-59.9103.1
Один и тот же базис: мейкер против тейкера, bps-60-34-8+17+4310 bps20 bps30 bpsфил по midпересечение спреда

Вот и весь спор. При пороге 20 bps мейкерская сторона даёт +26.8 bps, тейкерская — -42.1 bps, а разница 68.8 bps и есть спред. Про направление базиса спорить не о чем: он сходится, и сходится ровно на ту величину, которую ты видишь. Спор только о том, кто получает половину спреда.

Оговорка, без которой мейкерская колонка вводит в заблуждение: пассивный лимит по mid исполняется не всегда, а выборочно — тебя наливают именно тогда, когда контрагент знает, куда базис поедет дальше. Плюс +26.8 bps — это плата за этот риск, а не бесплатные деньги. Замерить adverse selection на этих данных нельзя: у меня нет истории собственных заявок.

Правильный скрин — и сколько он стоит в деньгах

Арбитраж есть тогда, когда бид синтетики перебивает аск акции или наоборот. Вот на это и надо фильтровать, а не на mid. Считаю по исполнимым ценам, минус комиссия двух опционных лег, только на свежих котировках.

46 / 2729
случаев за 12 месяцев (1.69% дней)
5.4 bps
ширина рынка у них — УЗКАЯ
+0.59 bps
медианный чистый край
$1.45
на бокс из 100 акций
6
контрактов стоит на узкой ноге
$9.41
P&L на весь выставленный размер
$130365
капитала под это связано
$606
ИТОГО за год, если поймать всё

Вердикт по арбитражной версии

Настоящий арбитраж существует — но живёт он в противоположном режиме от того, куда указывает фильтр 0.2%: у этих случаев полоса 5 bps, то есть рынок узкий, а не широкий. И размер: 46 случаев за год на 21 самом ликвидном опционном имени США, медиана $9.41 на сделку при связанном капитале $130365. Итого $606 за двенадцать месяцев, если стоять первым в очереди во всех 46 случаях.

Это не стратегия, это работа маркет-мейкера. Как тейкер ты структурно платишь половину полосы на входе и половину на выходе; зарабатывает тот, кто эту полосу выставляет.

10. NVDA в деталях — прямой ответ на вопрос

$0.037
медиана |запаса| (1.9 bps)
$0.180
ширина рынка синтетики (8.8 bps)
$0.010
спред NBBO самой акции
1 / 247
дней с |запасом| > $0.20
0 / 165
то же, только свежие котировки
112 / 247
сколько «увидел бы» несинхронный замер

Вот это и есть ответ. На NVDA расхождение между стоком и опционом при корректном замере имеет медиану 3.7 цента — в пять раз меньше, чем ширина собственного рынка опциона (18 центов). Порог $0.20 — это 3.0 стандартных отклонений запаса; за год он сработал один раз, и то на несвежих котировках. Если в терминале видно «запас $0.20 на NVDA» — почти наверняка сравниваются цены из разных мгновений, либо котировка опциона старая.

Формальная конверсия на NVDA возникала 33 дней (на свежих ногах 24), медиана $0.022, максимум $0.081 на акцию. После двух опционных лег остаётся меньше цента на акцию — и это в имени с самым узким опционным рынком из всех 21.

Все 21 имя: где запас велик, а где просто спред широк

ТикерNцена|запас| med, bpssd, bpsполоса, bpsсвежесть, с&gt;$0.20, %конверсия, %дрейф, bps
AAPL250270.022.02.911.11.92.47.2+3.4
MSFT248449.622.23.013.91.715.72.4+3.5
GOOGL250315.632.23.314.61.64.82.8+9.4
GOOG249315.402.33.517.31.38.00.8+8.1
TSLA250409.092.03.69.01.25.65.2+2.0
NVDA247187.941.93.68.81.50.413.4+17.8
AMZN249232.452.23.812.41.72.44.8+14.4
AMD249232.822.43.919.01.112.90.8+36.6
META247644.262.54.015.81.538.11.2-3.5
PLTR250155.502.54.016.61.61.21.2+10.3
NFLX24993.122.64.116.42.015.74.0-42.6
BAC24452.702.45.413.04.00.06.6+9.3
BABA250140.273.65.528.82.52.80.8+1.2
TSM250340.264.36.038.41.730.82.0+30.0
AVGO247353.343.56.437.01.828.30.4+34.5
ORCL250187.243.36.429.41.010.00.4+18.3
MU248397.053.86.736.81.436.30.8+67.3
INTC24645.833.67.033.61.61.20.4+48.1
HOOD250102.484.17.438.11.83.20.0+6.8
PFE25025.644.217.227.912.00.811.2+4.8
NOK1858.8613.126.586.938.70.00.0+38.3

NOK и PFE — наглядная иллюстрация, почему порог в долларах бессмысленен: на NOK за $8.86 полоса синтетики 87 bps и свежесть 39 секунд, то есть опцион почти не квотируется, а $0.20 там — 226 bps, недостижимая величина. На META за $644 те же $0.20 — это 3 bps, то есть шум внутри спреда, и порог срабатывает в 38% дней. Порог обязан быть в bps и с поправкой на ширину рынка имени.

11. Как это выглядит на барах

Крупнейшие по |запасу| события — вход в 15:55, выход на аукционе открытия. Красная линия — цена входа, зелёная — цена выхода.

NVDA 2025-11-24 → 2025-11-25запас -0.751 $ (-41.1 bps) · полоса 0.150 $ · свежесть 78.3 сSHORT · вход 182.79 → выход 174.91 · +431 bps
TSLA 2025-11-24 → 2025-11-25запас +1.708 $ (+40.7 bps) · полоса 0.250 $ · свежесть 53.6 сLONG · вход 419.32 → выход 414.42 · -117 bps
META 2025-11-24 → 2025-11-25запас +1.500 $ (+24.4 bps) · полоса 0.200 $ · свежесть 75.7 сLONG · вход 614.76 → выход 624.00 · +150 bps
AMD 2026-06-05 → 2026-06-08запас +0.790 $ (+16.8 bps) · полоса 3.450 $ · свежесть 1.9 сLONG · вход 471.25 → выход 485.00 · +292 bps

Обрати внимание на свежесть в подписях: у самых больших «запасов» котировка одной из ног устаревшая. Это не сделка, это устаревший квот.

12. Что опционы всё-таки предсказывают

Направление — нет. Масштаб — да, и уверенно. ATM-стрэддл, приведённый к одному календарному дню, против реализованного гэпа к открытию:

Бакет по подразумеваемому движениюNподразум., bpsреализовано, bpsотношениедрейф, bpsWR вверх, %
186097360.37+2.652.6
2860125490.40-6.652.2
3859154730.47+13.452.6
4860193960.50+25.755.3
58592431260.52+22.853.6
68603321710.52+31.052.4
Подразумеваемое движение против реализованного гэпа, bps08316624933297125154193243332подразумеваемоереализованный |гэп|

Корреляция 0.33, монотонность по всем шести бакетам. Отношение реализованного к подразумеваемому — 0.37…0.52, то есть овернайт-опциональность систематически дороже того, что случается. Важная оговорка: я делю стрэддл на √DTE, а это предполагает равномерную дисперсию по календарным дням; реально ночь несёт лишь часть дневной дисперсии, поэтому отношение ниже единицы частично просто это и отражает, а не только премию за риск. Правильный ответ даёт настоящий P&L продажи стрэддла — ниже.

Второй столбец, на который стоит посмотреть: дрейф растёт вместе с подразумеваемым движением (+2.6 → +31.0 bps). Ночи, за которые опционы просят дорого, в среднем и уходят вверх сильнее. Для книги это довод сайзить овернайт-лонг по подразумеваемому движению, а не равным весом.

13. Похожие короткие стратегии

Проверено здесь же: продажа овернайт-стрэддла

Продать ATM-стрэддл в 15:55 по бидам, откупить в 09:31 по аскам. Обе опционные ноги оплачены по касанию в обе стороны — то есть это исполнимый P&L, а не mid-фантазия. N=4627, 21 имён.

-53.67 bps
по касанию, на сделку (в % от цены акции)
17.9%
WR по касанию
-29.48
t-статистика
-6.80 bps
то же по mid — «оптимистичный» бэктест
46.87 bps
цена двух round-trip по спредам
-22.44
Sharpe книги (по дням, ×√252)

Вердикт по стрэддлу

Не работает, и не близко. По касанию -53.67 bps на сделку, WR 17.9%, t=-29.48 — то есть проигрыш настолько систематический, что значим в обратную сторону. В процентах от проданной премии это -13.2% за ночь.

Причина видна из сравнения. По mid тот же тест даёт -6.80 bps при WR 62.8% и медиане -28.32 — типичный профиль продажи волатильности: выигрывает часто, проигрывает крупно, и средняя уже отрицательна из-за хвоста. А сверху ложится 47 bps стоимости двух round-trip по опционным спредам. Именно это число, а не направление, делает любые короткие идеи на опционах отдельных акций неисполнимыми для тейкера. И оно подсказывает, чего ждать от GTH: там спреды шире, а обязательств квотить нет вовсе.

Обрати внимание на порядок имён в таблице ниже: наименее убыточные — NVDA и TSLA, у которых самый узкий опционный рынок; катастрофа — NOK, где премия $0.57 при полосе синтетики 87 bps. Ранжирование идёт строго по ширине спреда, а не по волатильности. Это ещё одно подтверждение, что мы смотрим на транзакционные издержки, а не на риск-премию.

ТикерNпо касанию, bpsWR, %премия стрэддла, $
NOK141-304.230.70.57
ORCL69-111.791.410.15
BABA58-98.808.66.07
INTC246-96.549.33.30
MU248-91.003.627.70
PFE148-87.131.40.59
HOOD250-86.843.26.55
TSM242-65.930.814.10
AMD249-64.8626.514.15
AVGO247-60.036.114.40
BAC242-49.103.71.39
NFLX248-37.064.83.29
GOOG249-28.5023.310.00
META247-28.1118.217.75
GOOGL250-27.9026.88.35
PLTR250-24.7619.68.05
MSFT247-21.7622.79.90
AMZN249-18.2634.96.31
AAPL250-11.4832.85.87
TSLA250-8.5145.215.35
NVDA247-3.8148.66.40
Продажа овернайт-стрэддла по месяцам, bps по касанию-79-59-39-20+008091011120102030405060708

Что ещё стоит проверить, и что для этого нужно

ИдеяМеханикаДанныеГотовностьОжидание
Подразумеваемое движение как сайзервес овернайт-позиции ∝ стрэддл/√DTE; из таблицы выше дрейф растёт с подразумеваемымуже собраноможно считать сегодняулучшение Sharpe книги без нового сигнала
Опционный borrow как шорт-сигналзапас на 30–60 DTE = подразумеваемая стоимость borrow; всплеск = дорогой шортсобрано: 556 сигналов AMC10ПРОВЕРЕНО — не работаетспред делится на тенор → полоса ±11% годовых, раздел 12
0DTE Mon/Wed на 8 именахпродажа ATM-стрэддла в день экспирации 09:35 → 15:55есть с 26 января 20261 пул, ~15 минкороткий горизонт, N около 130 дней на имя
Пут вместо шорта в AMC10заменить шортовую ногу длинным путом: снимает locate и recallопционы у 21 имени, но гэпы ±10% там редкинет пересечения с сигналомborrow не исчезает — сидит в цене пута через паритет
Baseline «сколько гэпа до открытия»frac(t) = доля овернайт-мува, реализованная к моменту tсобрано: 30 021 событие, 490 сессийСДЕЛАНО — раздел 13к 09:25 уже 100%; смотреть в декабре на frac(04:00)
GTH-запас 07:30–09:25исходная идея вопроса — запас в премаркетной опционной сессиисессия с 17 августа, в ленте вендора нетзаблокировано даннымивернуться, когда появится 3–6 месяцев истории
Ночной хедж книги на SPX GTHкорректировать хедж овернайт-книги с 20:15 ET вместо слепого SPXLиндексы у вендора отдают 403 — нужен другой источникнужен фид по SPXединственный пункт, который бьёт в текущую боль напрямую

14. Проверено: опционный borrow на именах AMC10

Это была самая перспективная из «похожих» идей: запас на длинном тенорe даёт подразумеваемую стоимость borrow, а всплеск дорогого borrow — документированный шорт-сигнал. Проверял не на абстрактном универсе, а на том, что книга реально шортит: 750 сигналов AMC10 за 24 месяца, оценено 556 (74%), 321 имён. Тенор 44 DTE, замер в 15:55 дня отчёта — то есть до появления сигнала в 18:00, без лукахеда.

b = −ln(synth / S) / T
подразумеваемая ставка borrow, годовая

И тут ломается всё, причём об арифметику, а не о рынок. Спред делится на тенор. Медианный опционный спред на этих именах — 132 bps от цены; при теноре 0.12 года это ±11% годовых неопределённости в оценке ставки.

22.9 п.п.
медиана полосы неопределённости
2.33%
медиана |самой ставки|
8.6×
во сколько полоса шире ставки
99.6%
строк, где полоса шире ставки
79.3%
строк с полосой больше 10 п.п.
30 / 556
строк с полосой ≤ 5 п.п. и свежими ногами

Полоса шире самой величины в 99.6% строк. Пригодных к измерению — 30 из 556, то есть 4% исходных сигналов, и на этом огрызке подразумеваемый borrow равен -0.55%, то есть нулю: выживают именно те имена, которые легко занять.

И даже если бы измерялся — за одну ночь это неважно

ВеличинаЗначение
Медианный ход AMC10 по SHORT-ноге (N=256)+163 bps
Подразумеваемый borrow, медиана-0.58% годовых
То же за одну ночь-0.16 bps
Подразумеваемый borrow, p906.70% годовых
То же за одну ночь1.84 bps
Доля эджа, которую съедает borrow в худшем случае1.1%

Вопрос к портфельному бэктесту AMC10

Если овернайт-финансирование стоит -0.2–1.8 bps против эджа 163 bps, то «borrow 80 bps срезает ⅔ денег» не может быть годовой ставкой фондирования — 80 bps годовых за одну ночь это 0.22 bps. Значит в том расчёте под «borrow» лежит что-то другое: haircut за сделку, отказы locate, более широкие филлы. Это стоит разобрать отдельно — от ответа зависит, ⅔ денег теряются или проценты.

Предсказательной силы тоже нет

Квинтиль по borrowNborrow, %ход AMC10, bpsWR, %
1112-6.7+21960.7
2111-1.8+12564.9
3111-0.2+5855.0
41111.5+19265.8
51116.5+11454.1

Верхний квинтиль против нижнего: разница -111 bps при t=-1.22, и немонотонно. Закрыто по двум независимым причинам — величина неизмерима, и даже будь она измерима, за одну ночь она экономически пренебрежима. Возвращаться стоит только с источником реальных borrow-ставок, не выведенных из опционов.

15. Baseline до 23×5: сколько гэпа съедается ещё в премаркете

Замер нужен именно сейчас. Все овернайт-эджи книги платятся разрывом между вчерашним клоузом и сегодняшним открытием. Если в декабре появится ликвидная ночная сессия, разрыв начнёт закрываться до 09:30, и отличить сдвиг от смены режима будет уже нечем. Определение зафиксировано, чтобы повтор был сравним:

ov_move = open / prev_close − 1
frac(t) = (pxt / prev_close − 1) / ov_move
доля овернайт-мува, уже реализованная к моменту t; считается только при |ov_move| ≥ 100 bps

Юниверс по стоячему правилу: медианный дневной объём ≥ 2 млн шаров, цена ≥ $5. Окно 2024-04-17 — 2026-03-31: 490 сессий, 334 тикеров, N=30021 событий. Открытие берётся из бара 09:30, а не из daily open — там премаркет.

Доля овернайт-мува, реализованная к моменту (медиана)04:0066.4% N=1532105:0072.2% N=2022606:0075.8% N=2160107:0075.8% N=2383607:3078.6% N=2476308:0079.9% N=2681008:3087.7% N=2760309:0092.6% N=2811809:1595.1% N=2832509:25100.0% N=28762
ВремяNпокрытие, %медиана fracp25p75доля ≥80%не та сторона, %
04:001532151.00.6640.2431.00040.512.9
05:002022667.40.7220.3011.00344.511.7
06:002160172.00.7580.3441.01046.810.3
07:002383679.40.7580.3891.00046.48.5
07:302476382.50.7860.4321.00048.76.8
08:002681089.30.7990.4251.00549.88.5
08:302760391.90.8770.5781.03057.84.9
09:002811893.70.9260.6801.04865.03.2
09:152832594.40.9510.7321.05069.42.6
09:252876295.81.0000.9151.04084.81.0

Главное число

К 09:25 премаркет уже отдал 100% овернайт-мува. Аукциону остаётся 14.7 bps по медиане (p75 39.9 bps). То есть выходы MOO ловят не аукционную премию, а премаркет — и это подтверждается независимо: в разделе 7 выход в 09:29 дал практически тот же результат, что выход на аукционе.

Следствие: в декабре смотреть надо не на аукцион — там уже ноль, ломаться нечему. Смотреть надо на то, насколько раньше завершается мув, то есть на frac(04:00) и frac(07:00).

Механизм, по которому 23×5 ударит — он уже виден в данных

frac по квартилям премаркетного объёма, %025507499q1q2q3q4в 04:00в 07:00в 09:00
Квартиль PM-объёмаNдоля объёма04:0007:0008:0009:0009:25
q175060.0000.4440.6090.6540.8000.957
q275050.0040.5830.6620.6950.8710.999
q375050.0170.6240.7500.8000.9311.000
q475050.0650.7390.8730.9200.9931.000

Зависимость монотонная и сильная: у квартиля с наименьшим премаркетным объёмом к 04:00 реализовано 44.4% мува, у наибольшего — 73.9%. Механизм прямой: больше объёма раньше — мув завершается раньше. Ночная сессия добавляет ровно объём. Вот это и поедет.

Не сдвинулось ли уже

Пятиминутный бэкфилл кончается 31 марта, поэтому четыре последних месяца там не покрыты. Кросс-чек на 21 имени GTH-списка по минуткам:

ОкноN04:0007:0008:0009:0009:25
A 2025-08..2026-0312160.5510.7540.7660.9370.970
B 2026-04..2026-089750.5570.7600.8410.8950.943

Средний |дрейф| по отметкам 0.031 — сдвига пока нет. Порог тревоги я бы поставил на 0.06.

16. Что уже поправлено в коде

Premarket-сессия по опционам существует с 17 августа, а в ленте вендора её ещё нет. В тот момент, когда её включат, тихо поедут все опционные выборки, где «данные = RTH» подразумевалось, а не проверялось. Поэтому защита поставлена не в отдельные скрипты, а в примитивы tools/options_lab/massive_options.py, чтобы её унаследовали все вызывающие — включая те, которые я не нашёл.

ЧтоБылоСтало
contract_bars(timespan='minute')отдавал всё, что пришло с фидапараметр session='rth' по умолчанию; проверено — 348 баров 09:30–15:59 вместо всего дня
contract_quotes()нули 0/0 попадали в выборку, mid обнулялсяслужебные двунулевые котировки отбрасываются, session='rth' по умолчанию; проверено — 0 нулей осталось
quote_at()лестница lookback до 120 мин могла перешагнуть через открытиеокно клампится границей своей сессии: в 09:31 берёт котировку 09:30:59, в 09:25 честно отдаёт None вместо премаркетной
новоеsession_of(ts) и таблица SESSIONS — GTH 07:15–09:25, RTH 09:30–16:00, Curb 16:00–16:15

Выбранные значения по умолчанию совпадают с тем, что эти вызовы фактически возвращали до 17 августа, поэтому сегодняшнее поведение не меняется — меняется только то, что произойдёт после включения данных. Кто хочет GTH явно, передаёт session='gth' или 'any'.

Проверенные вызывающие: engine.py, friction_map.py, vol_regime.py метятся в 11:00/14:00/15:55 — были и остаются в RTH. earnings_straddle_overnight.py метится в 09:31/09:35/09:55 с lookback 20 мин — вот он и был под реальным риском получить премаркетную котировку как цену выхода; теперь закрыт клампом. Совпадения слова minute в research_results/ — это офсеты по акциям, к OPRA отношения не имеют.

17. Что делать дальше

Данные и воспроизводимость. Пул: tools/synth_gap/pull_synth.py (замер), pull_stockq.py (синхронный NBBO акции), pull_exit.py (утренний выход). Анализ: analyze3.py, analyze4.py. Данные: enrichment_data/synth_gap/. Все результаты — raw P&L без проскальзывания, опционные ноги по NBBO, ставка 4.3%, дивиденды из reference-эндпоинта.

Границы. Опционный NBBO у вендора начинается в 2022 — глубже исполнимый бэктест не строится. Исторической IV нет, только live snapshot. Индексные опционы отдают 403, поэтому SPX-версия ночного хеджа здесь не проверена. Принты по опционам сейчас 403 — использованы котировки и бары. Овернайт-дрейф +14.82 bps посчитан на 21 мега-капе за один год сильного тренда и является бенчмарком, а не самостоятельной стратегией.

Источники рыночной части: Cboe notice 61230 · одобрение SEC, 28 мая · Cboe Q1 2026 · Cboe Q2 2026 · FINRA 26-10 (PDT) · Massive: extended hours OPRA · Nasdaq 23×5