как читать опционную цепочку по колонкам
Опционная цепочка показывает все страйки и экспирации для одной акции. Узнайте, что измеряют колонки бид, аск, объём, подразумеваемая волатильность и дельта.
Опционная цепочка — это таблица, которую брокер показывает для одной базовой акции или фонда: все торгуемые даты экспирации, все страйки и строка текущих котировок для колла и пута по каждому страйку. Чтение такой таблицы сводится к пониманию того, что измеряет каждая колонка и как две координаты — экспирация и страйк — определяют конкретный контракт внутри сетки. На этой странице мы разберём реальную цепочку колонка за колонкой на примере отслеживающего S&P 500 фонда SPY по состоянию на 15 июля 2026 года.
Что такое опционная цепочка?
Каждый биржевой опцион определяется четырьмя параметрами: базовый актив, дата экспирации, страйк-цена и тип — колл или пут. Опционная цепочка — это представление этих параметров в виде таблицы. В верхней части расположен селектор для выбора даты экспирации. Страйки располагаются по центру экрана, коллы занимают колонки с одной стороны, путы — с другой. Выбрав одну дату экспирации, вы видите плоский срез таблицы: одна строка на страйк, один набор колонок котировок для каждой стороны.
Колонки описывают конкретный контракт, а не базовую акцию. Один базовый актив может иметь десятки дат экспирации и сотни страйков, поэтому полная цепочка для активно торгуемого инструмента насчитывает тысячи строк. Брокеры по умолчанию скрывают большую их часть и открывают таблицу вблизи денег — области, где страйк наиболее близок к текущей цене акции.
Чтение одного экспирирования, страйк за страйком
Вот реальный срез: коллы и путы на SPY с экспирацией 21 августа 2026 года, оцененные по ценам закрытия 15 июля, по страйкам, охватывающим цену акции.
Точный SQL-код для каждого числа
SELECT toString(toUInt32(strike_price)) AS strike,
round(any(underlying_close), 2) AS underlying_price,
round(maxIf(option_close, option_type = 'C'), 2) AS call_last,
round(maxIf(option_close, option_type = 'P'), 2) AS put_last,
round(maxIf(delta, option_type = 'C'), 2) AS call_delta,
round(minIf(delta, option_type = 'P'), 2) AS put_delta
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = toDate('2026-07-15')
AND expiration_date = toDate('2026-08-21')
AND strike_price BETWEEN 735 AND 770
AND toUInt32(strike_price) % 5 = 0
AND iv_converged
GROUP BY strike_price
HAVING countIf(option_type = 'C') > 0 AND countIf(option_type = 'P') > 0
ORDER BY strike_priceСразу видны две закономерности. Цены коллов падают по мере роста страйка: от $28.82 по страйку $735 до $6.1 по страйку $770: право купить по более низкой цене стоит дороже. Цены путов движутся в противоположном направлении по тем же восьми строкам: от $6.07 до $19.16. Две лестницы пересекаются вблизи цены акции $754.68, и страйк, на котором колл и пут торгуются наиболее близко друг к другу, отмечает точку «около денег».
Колонки дельты описывают эту геометрию в других единицах. Дельта — это изменение цены опциона при изменении базового актива на $1, и она также служит грубой оценкой вероятности того, что контракт окажется в деньгах. По страйку $735 дельта колла составляет 0.73, а дельта пута — -0.26. По страйку $770 дельта колла снижается до 0.34. Колл и пут в одной строке всегда имеют дельты, примерно противоположные по знаку и близкие по модулю — это свойство двух контрактов, покрывающих противоположные половины одного распределения. Остальные колонки чувствительности описаны в разделе объяснение греков опционов.
Бид, аск и почему это не одна цена
В цепочке котировок для каждого контракта указаны две цены. Бид — это самая высокая цена, которую покупатель готов заплатить прямо сейчас. Аск — это самая низкая цена, которую продавец согласен принять. Разница между ними — это спред. Рыночный ордер на покупку исполняется по аску, а рыночный ордер на продажу — по биду, поэтому спред представляет собой реальные издержки, которые платятся при входе и снова при выходе. Цена «последняя сделка», которую показывает цепочка, может быть давностью в несколько минут и находиться где угодно относительно текущей котировки.
Спреды неодинаковы по всей цепочке. Ниже приведены медианные котировки бида и аска для одной и той же даты экспирации по семи страйкам коллов, измеренные в ходе основной сессии 15 июля 2026 года.
Точный SQL-код для каждого числа
SELECT concat('$', toString(toUInt32(toFloat64(toUInt32OrZero(substring(ticker, length(ticker) - 7, 8))) / 1000)), ' call') AS strike,
round(quantileDeterministic(0.5)(toFloat64(bid_price), toUInt64(sip_timestamp)), 2) AS median_bid,
round(quantileDeterministic(0.5)(toFloat64(ask_price), toUInt64(sip_timestamp)), 2) AS median_ask,
round(100 * quantileDeterministic(0.5)(toFloat64(ask_price - bid_price), toUInt64(sip_timestamp)), 1) AS median_spread_cents,
toUInt64(count()) AS quotes_recorded
FROM global_markets.cache_options_quotes
WHERE ticker IN ('O:SPY260821C00740000', 'O:SPY260821C00750000', 'O:SPY260821C00760000',
'O:SPY260821C00770000', 'O:SPY260821C00780000', 'O:SPY260821C00800000',
'O:SPY260821C00820000')
AND sip_timestamp >= '2026-07-15 13:30:00'
AND sip_timestamp < '2026-07-15 20:00:00'
AND bid_price > 0
AND ask_price > bid_price
GROUP BY ticker
ORDER BY toUInt32OrZero(substring(ticker, length(ticker) - 7, 8))Глубокий страйк в деньгах в верхней части панели показал медианный спред в 12 центов при биде в $24.18. Дальний страйк вне денег в нижней части панели показал 1 цента при биде в $0.12. В абсолютном выражении дешевый контракт имеет более узкий спред. В процентах от собственной цены он гораздо шире, и именно этот процент составляет реальную стоимость полного цикла сделки. Механика двусторонней котировки разбирается в спреде бид-аск. Та же панель показывает другую ось, вдоль которой движутся спреды: активные страйки вблизи денег зафиксировали более ста тысяч обновлений котировок за сессию, а дальние — несколько тысяч.
Объем и открытый интерес
Две колонки отражают активность, и читатели постоянно их путают. Объем показывает количество контрактов, проданных за текущую сессию, и обнуляется на следующий день. Открытый интерес показывает количество контрактов, все еще открытых на конец предыдущей сессии, поэтому он обновляется раз в день и описывает накопленную позицию, а не сегодняшний поток. У страйка может быть большой объем при почти нулевом открытом интересе — это происходит, когда трейдеры открывают и закрывают позицию в течение одного дня.
Точный SQL-код для каждого числа
SELECT toString(toUInt32(strike_price)) AS strike,
toUInt64(sumIf(volume, option_type = 'C')) AS call_volume,
toUInt64(sumIf(volume, option_type = 'P')) AS put_volume
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = toDate('2026-07-15')
AND expiration_date = toDate('2026-08-21')
AND strike_price BETWEEN 735 AND 770
AND toUInt32(strike_price) % 5 = 0
AND iv_converged
GROUP BY strike_price
HAVING countIf(option_type = 'C') > 0 AND countIf(option_type = 'P') > 0
ORDER BY strike_priceСкопления объема. На этих восьми страйках объем коллов составил от 81 контрактов на самом низком страйке до 4547 на самом высоком, а объем путов распределился в противоположную сторону. Круглые числа и страйки, близкие к цене акции, привлекают основной поток, а страйк на два-три шага в сторону может нести лишь малую его часть. Там, где в строке цепочки показан широкий спред, тонкий объем в той же строке обычно находится рядом. Объем против открытого интереса измеряет всю ленту по этому пункту.
Подразумеваемая волатильность, страйк за страйком
Колонка подразумеваемой волатильности переводит цену контракта в годовой процент: значение волатильности, при котором модель ценообразования вернет указанную котировку. Это переформулировка цены, а не прогноз. Контракты на один и тот же базовый актив с одной и той же датой экспирации регулярно имеют разную подразумеваемую волатильность на разных страйках, и построение графика этой колонки относительно страйка выявляет форму, известную как улыбка или скос.
Точный SQL-код для каждого числа
SELECT toString(toUInt32(strike_price)) AS strike,
round(100 * avg(implied_volatility), 1) AS implied_vol_pct,
round(100 * (strike_price / any(underlying_close) - 1), 1) AS strike_vs_spot_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = toDate('2026-07-15')
AND expiration_date = toDate('2026-08-21')
AND strike_price BETWEEN 640 AND 840
AND toUInt32(strike_price) % 20 = 0
AND iv_converged
AND implied_volatility BETWEEN 0.02 AND 3
GROUP BY strike_price
ORDER BY strike_priceКривая не является плоской. Самый низкий страйк на панели находится на -15.2% от цены акции и оценен в 23.6%, середина диапазона расположена значительно ниже, а верхний страйк снова поднимается до 12.8%. В опционах на индексы нижнее крыло обычно оценивается выше верхнего — это устойчивая асимметрия, а не ежедневная особенность. Из этого следуют два вывода для любого, кто читает эту колонку. Единое число «IV», указанное для акции, является средним по поверхности, которая не является плоской, и сравнение подразумеваемой волатильности двух страйков имеет смысл только тогда, когда известно их расстояние от цены акции. Подразумеваемая волатильность определяет показатель, а скос волатильности описывает форму.
Чем отличается цепочка с экспирацией в тот же день
Цепочки для контрактов, истекающих в той же торговой сессии — контракты 0DTE — выглядят как любая другая цепочка, но отличаются в одном: всё в них движется быстрее. Временная стоимость тает за часы, а не за месяцы, дельта резко меняется при пересечении ценой акции страйка, а сетка страйков обычно мельче вблизи денег. Состав ленты одного дня показывает, насколько значительная часть активности сейчас сосредоточена там.
Точный SQL-код для каждого числа
WITH dateDiff('day', toDate('2026-07-15'), toDate(concat('20', substring(ticker, length(ticker) - 14, 2), '-', substring(ticker, length(ticker) - 12, 2), '-', substring(ticker, length(ticker) - 10, 2)))) AS dte
SELECT multiIf(dte = 0, 'same day (0DTE)', dte <= 7, '1-7 days', dte <= 30, '8-30 days',
dte <= 90, '31-90 days', 'over 90 days') AS expires_in,
round(sum(volume) / 1e6, 2) AS contracts_m,
round(100 * toFloat64(sum(volume)) / (SELECT toFloat64(sum(volume))
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-07-15 00:00:00' AND window_start < '2026-07-16 00:00:00'
AND substring(ticker, 3, length(ticker) - 17) = 'SPY'), 1) AS pct_of_spy_volume,
toUInt64(uniqExact(ticker)) AS distinct_contracts
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-07-15 00:00:00'
AND window_start < '2026-07-16 00:00:00'
AND substring(ticker, 3, length(ticker) - 17) = 'SPY'
AND dte >= 0
GROUP BY expires_in
ORDER BY min(dte)Контракты, истекающие в тот же день, составили 66.9% объёма опционов на SPY 15 июля 2026 года — 8.48 миллиона контрактов, распределённых всего по 170 различным страйкам. Все контракты со сроком более девяноста дней обеспечили 0.8% объёма, при этом в их списке было 1502 различных контрактов. Эту картину стоит учитывать при открытии любой цепочки: самая широкая часть сетки содержит наименьший объём торгов, а узкий срез того же дня — наибольший. Опционы нулевого дня рассматривают этот срез на его собственных условиях.
Чтение одной строки от начала до конца
Возьмём страйк $755 из первой панели, при SPY на уровне $754.68. Последняя сделка по коллу прошла по $14.03, а по путу — по $11.52; это ближайшая пара на срезе, что указывает на строку «у денег». Дельта колла 0.54 означает, что движение SPY на $1 изменяет цену этого колла примерно на 0.54 доллара, а дельта пута в той же строке составляет -0.46 при том же движении на $1 в противоположную сторону.
Один контракт покрывает 100 акций, поэтому котировка в цепи вида $14.03 даётся за одну акцию, а стоимость контракта составляет примерно 100-кратную величину до вычета комиссий. Множитель — самая частая ошибка при чтении цепи. Всё остальное в строке описывает тот же контракт с другой стороны: спред — это цена сделки, объём — количество участников, подразумеваемая волатильность — заложенное в цену предположение о волатильности. Колл-опционы и пут-опционы раскрывают механику выплат, на которой основана каждая строка.
Часто задаваемые вопросы
Что означают столбцы в опционной цепочке?
Страйк и дата экспирации определяют контракт. Bid и ask — это двусторонняя котировка в реальном времени, last — цена последней сделки, volume — количество контрактов, проданных сегодня, а open interest — количество позиций, оставшихся открытыми после предыдущих торговых сессий. Подразумеваемая волатильность пересчитывает цену в годовой процент, а столбцы греков измеряют чувствительность к цене акции, времени и волатильности.
В чем разница между объемом и открытым интересом?
Объем показывает количество контрактов, проданных в ходе текущей сессии, и каждый день начинается с нуля. Открытый интерес показывает количество контрактов, оставшихся открытыми после завершения предыдущей сессии, то есть он устаревает на один день и меняется только при открытии или закрытии позиций, а не при их передаче между трейдерами.
Почему у двух страйков с одинаковой датой экспирации разная подразумеваемая волатильность?
Опционы с разными страйками охватывают разные участки диапазона возможных будущих цен, и рынок оценивает эти участки по-разному. В примере с SPY выше самый низкий страйк на панели оценивался около 23.6%, в то время как середина диапазона находилась значительно ниже — эту кривую трейдеры называют улыбкой или скосом.
Что означает дельта 0.50 в опционной цепочке?
Дельта 0.50 означает, что цена контракта меняется примерно на 50 центов при движении цены базовой акции на $1, и это часто воспринимается как грубая оценка вероятности того, что контракт окажется в деньгах. Дельта близка к 0.50 для коллов со страйком, ближайшим к текущей цене акции, и падает к нулю для далеких страйков.
Цена в опционной цепочке указана за одну акцию или за один контракт?
Указанная цена — это цена за акцию. Стандартный опцион на акции США покрывает 100 акций, поэтому контракт с котировкой $2.00 стоит около $200 плюс комиссии. Цепочки почти никогда не показывают этот множитель.
Каждый показатель выше получен из сохраненного версионированного запроса к ленте опционов. Разверните любую панель, чтобы прочитать SQL, или запросите ту же цепочку самостоятельно на терминале Strasmore.