ガンマ・エクスポージャー(GEX)とは?計算とディーラーのヘッジ
ガンマ・エクスポージャー(GEX)の計算方法、前提となる仮定、価格変動に伴うディーラーのヘッジ、無料のGEX数値が異なる理由を解説します。
ガンマ・エクスポージャーは通常GEXと略され、原資産が1%動くごとに、オプション・ディーラーが株式または先物でどれだけヘッジする必要があるかを推定します。これは、建玉、オプション価格モデル、各取引のどちら側に誰が立っているかという大きな仮定の三つから算出するポジショニング指標です。本稿では計算方法を示し、仮定を明確にしたうえで、2026年7月の特定セッションにおける実際の市場データを検証します。
ガンマ・エクスポージャー(GEX)が測定するもの
一段掘り下げます。デルタは、原資産価格に対するオプションの感応度です。デルタが0.40なら、株価が1ドル上昇するごとに、契約価値はおおむね40セント上昇します。ガンマは、デルタ自体が変化する速さです。ガンマが高い契約では、原資産価格が行使価格をまたいで動くと、デルタも急速に変化します。実際の契約でその曲線を確認するには、オプション・ガンマの解説を参照してください。
オプションを売り、ヘッジするディーラーは、原資産のポジションを保有し、価格変動に応じてその規模を調整します。ガンマは、価格が1ドル動くたびに必要となる調整幅を決めます。ガンマ・エクスポージャーは、この1契約当たりの数値を市場全体のドル金額へ拡張したものです。標準的な計算手順は次のとおりです。
- 上場されているすべての行使価格と満期について、未決済の契約数である建玉を取得します。
- 原資産価格、行使価格、満期までの期間、金利、インプライド・ボラティリティを入力し、通常はBlack-Scholesモデルを使って各契約のガンマを算出します。
- ガンマに建玉、100株の契約乗数、原資産価格の二乗を掛け、100で割ります。出力は、原資産が1%動いた場合の株式のドル金額です。
- ディーラーがコールをロングし、プットをショートしているという慣行に基づいて符号を付け、すべての行使価格と満期について合計します。
あくまで仮想的な計算例です。建玉が10,000契約、ガンマが0.05、原資産価格が100ドルの場合、10,000×0.05×100×100の二乗÷100となり、原資産の1%変動当たり500万ドルの株式となります。同じ計算に基づく公表指数レベルの数値は、数十億ドルに達します。
ポジティブ・ガンマとネガティブ・ガンマの局面
数値の意味は符号で決まります。
ポジティブ・ガンマ(ロング・ガンマ)。原資産が上昇するとディーラーのポジションはデルタを増やし、下落するとデルタを減らします。ヘッジをフラットに保つには、上昇局面で株式を売り、下落局面で買う必要があるため、ヘッジフローは値動きと逆方向になります。
ネガティブ・ガンマ(ショート・ガンマ)。原資産が上昇するとポジションはデルタを減らし、下落するとデルタを増やします。ヘッジをフラットに保つには、上昇局面で買い、下落局面で売る必要があるため、ヘッジフローは値動きと同方向になります。
実務家は前者を抑制またはピン留めの状態、後者を加速要因となる状態と呼びます。また、集計値がゼロをまたぐ水準をガンマ・フリップ・ポイントと呼びます。これらはいずれもヘッジのルールを表すもので、予測ではありません。ディーラーのヘッジは、1セッションに数十億株が取引される市場における数多くのフローの一つにすぎず、この推定値で他のフローを捉えることはできません。ヘッジデスクが実際に一日を通じて何をしているかについては、マーケットメーカーの収益の仕組みを参照してください。
契約が実際に集中している場所
契約当たりのガンマはアット・ザ・マネー付近と満期直前に最大となるため、現物価格に最も近い行使価格が計算の大部分を占めます。以下はその集中状況です。2026年7月6日月曜日に取引された同日満期のSPY契約を、行使価格別にまとめ、取引契約数の順位で示しています。
| 行使価格 | コール契約数 千 | プット契約数 千 | 契約数合計 千 |
|---|---|---|---|
| 751 | 1082.3 | 735.2 | 1817.5 |
| 750 | 739.6 | 986.4 | 1725.9 |
| 752 | 911 | 323.4 | 1234.4 |
| 749 | 332 | 627.4 | 959.4 |
| 753 | 587.8 | 74.8 | 662.6 |
| 748 | 107 | 457.4 | 564.4 |
| 747 | 60.2 | 293.3 | 353.5 |
| 746 | 24 | 160.8 | 184.8 |
| 754 | 163.3 | 13.2 | 176.6 |
| 745 | 10.1 | 149.5 | 159.6 |
各数値の背後にある正確なSQL
SELECT strike_label AS strike,
round(sumIf(contracts, opt_type = 'C') / 1e3, 1) AS call_contracts_k,
round(sumIf(contracts, opt_type = 'P') / 1e3, 1) AS put_contracts_k,
round(sum(contracts) / 1e3, 1) AS total_contracts_k
FROM (
SELECT substring(ticker, length(ticker) - 8, 1) AS opt_type,
toUInt32OrZero(substring(ticker, length(ticker) - 7, 8)) AS strike_thousandths,
toString(intDiv(strike_thousandths, 1000)) AS strike_label,
sum(toFloat64(volume)) AS contracts
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-07-06 08:00:00')
AND window_start < toDateTime('2026-07-07 04:00:00')
AND startsWith(ticker, 'O:SPY260706')
GROUP BY ticker, opt_type, strike_thousandths, strike_label
)
GROUP BY strike_label
ORDER BY sum(contracts) DESC
LIMIT 10このセッションで最も取引が活発だった行使価格は$751で、1817.5千契約が取引されました。内訳はコールが1082.3千、プットが735.2千です。次に多かった行使価格は$750で、1725.9千契約でした。10位の行使価格では159.6千契約となっています。数ドルの範囲にある10の行使価格が、700ドル超の銘柄における当日の取引の大部分を占めています。
コールとプットの構成は現物価格を境に反転しており、符号付きGEXが捉えようとする偏りを示しています。現物価格を上回る$753では、コールがプットを587.8千対74.8千で上回りました。現物価格を下回る$748では、プットが優勢で、457.4千対107千でした。
このパネルから確認できる注意点が一つあります。これは売買高、つまり取引された契約数であり、取引終了後も未決済のまま残る建玉ではありません。GEXは後者に基づいて算出されます。両者の違いは、オプション売買高と建玉の違いで説明しています。
期近契約が取引の大部分を占める
| 満期までの日数 | 契約数 百万 | 出来高比率 (%) |
|---|---|---|
| 0 (expires today) | 23.52 | 38.8 |
| 1 day | 2.71 | 4.5 |
| 2-7 days | 12.61 | 20.8 |
| 8-30 days | 10.51 | 17.3 |
| 31+ days | 11.28 | 18.6 |
各数値の背後にある正確なSQL
SELECT multiIf(dte = 0, '0 (expires today)',
dte = 1, '1 day',
dte <= 7, '2-7 days',
dte <= 30, '8-30 days',
'31+ days') AS days_to_expiry,
round(sum(volume) / 1e6, 2) AS contracts_mm,
round(100.0 * sum(volume) / sum(sum(volume)) OVER (), 1) AS pct_of_volume
FROM (
SELECT toFloat64(volume) AS volume,
dateDiff('day',
toDate(toTimeZone(window_start, 'America/New_York')),
toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) AS dte
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-07-06 08:00:00')
AND window_start < toDateTime('2026-07-07 04:00:00')
AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2026-07-06')
)
WHERE dte >= 0
GROUP BY days_to_expiry
ORDER BY min(dte)その日の午後に満期を迎える契約は、このセッションにおける米国オプション売買高の38.8%を占め、契約数は23.52百万でした。1カ月超先の契約は18.6%でした。契約当たりのガンマは、まさにこの期近区分で最大となります。また、建玉の入れ替わりもこの区分が最も速いです。前夜の清算ファイルに基づくGEXは、すでに変化したポジションを示している可能性があります。同日満期契約の詳細は、満期までゼロ日を参照してください。
推定値は少数のプロダクトに集中する
| 原資産 | 満期日当日契約数 百万 | 満期日当日出来高比率 (%) |
|---|---|---|
| SPY | 8.49 | 36.1 |
| QQQ | 4.98 | 21.2 |
| TSLA | 2.81 | 11.9 |
| SPXW | 2.67 | 11.3 |
| NVDA | 1.12 | 4.8 |
| AAPL | 0.9 | 3.8 |
| IWM | 0.81 | 3.5 |
| META | 0.36 | 1.5 |
各数値の背後にある正確なSQL
SELECT root AS underlying,
round(sum(volume) / 1e6, 2) AS zero_dte_contracts_mm,
round(100.0 * sum(volume) / sum(sum(volume)) OVER (), 1) AS pct_of_zero_dte_volume
FROM (
SELECT substring(ticker, 3, length(ticker) - 17) AS root,
toFloat64(volume) AS volume
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-07-06 08:00:00')
AND window_start < toDateTime('2026-07-07 04:00:00')
AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2026-07-06')
AND toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))
)
WHERE root != 'SPCX'
GROUP BY root
ORDER BY sum(volume) DESC
LIMIT 8同日満期のフローは大きく集中しています。SPYが36.1%、QQQが21.2%、週間満期の現金決済S&P 500指数オプションであるSPXWが11.3%を占めました。公表されているGEXの系列も、同じ少数の原資産を対象としています。これらは、行使価格ごとの合計に十分な意味を持たせられるほど、オプションチェーンが厚い銘柄です。売買高の少ないティッカーの個別株GEXは、少数の契約に基づく計算にすぎません。
GEXを支える仮定
建玉には売買サイドの情報がない。取引所は各行使価格の未決済契約数を公表しますが、誰がロングで誰がショートかは公表しません。ディーラーがコールをロングし、プットをショートしているという慣行は、個人投資家がコールを買い、機関投資家がヘッジ目的でプットを買うという一般化に基づいています。これはヒューリスティックにすぎず、個別の行使価格や特定の日には単純に誤っている可能性があります。
ガンマはモデルから算出される。Black-Scholesモデルには、行使価格ごとのインプライド・ボラティリティ、金利、配当の仮定が必要です。ボラティリティ・サーフェスを変えれば、合計に含まれるすべてのガンマが変わります。
建玉は構造的に古い。建玉は取引終了後の清算データから、1セッションに1回だけ公表されます。そのため、日中のGEXの数値は前日のポジションに基づいています。
対象プロダクトの範囲は選択事項である。S&P 500を参照するSPX指数オプション、SPY ETFオプション、E-mini先物オプションは、契約乗数がそれぞれ異なります。いずれかを含めるか除外するかで、合計値は数十億ドル単位で変わります。
二つのGEXの数値が一致しない理由
二つのダッシュボードが同じ市場を見ていても、表示する合計値が大きく異なることがあります。その差の原因はすべて上記の一覧にあります。どのプロダクトを含めたか、モデルにどのボラティリティ・サーフェスを入力したか、1%変動当たりで表示しているか、指数の1ポイント当たりで表示しているか、ディーラーの符号を行使価格ごとに付けたか集計値に対して付けたか、満期日の契約をどのように扱ったか、といった点です。ある提供元の水準を別の提供元が公表した閾値と比較することは、異なる二つの統計を比べることになります。同じ提供元の系列を過去の推移と比較すれば、単位をそろえられます。
隣接する指標、マックス・ペイン
マックス・ペインは、未決済契約の合計ドル価値が最も大きく無価値で満期を迎える行使価格です。建玉だけから算出され、ボラティリティ・モデルもディーラーの売買サイドに関する仮定も使いません。フローの規模ではなく、価格水準を示します。両者は月次満期の前後に並べて引用されますが、答える問いは異なります。マックス・ペインは行使価格を示し、ガンマ・エクスポージャーはヘッジ金額を測定します。実際のSPYチェーンを行使価格ごとに計算し、最終決済値がその水準にどれだけ近かったかを検証した内容は、マックス・ペインの計算方法で確認できます。
実務家が実際に使うもの
オープンソースのGEXやポジショニングのダッシュボードは、コード共有サイトで一般的に見られます。これらを読むことは、こうした仮定を具体的に確認する最も早い方法です。チェーンのスナップショット、モデルの入力値、符号の慣行、集計手順は、数百行程度のコードに収まっています。2026年7月時点では、複数のプロジェクトが活発に保守されています。利用する価値のあるものは、ボラティリティの出所とディーラーの売買サイドに関する慣行を冒頭で明示しています。算出方法が公表されていない数値は検証できません。トレーダーはGEXをフローと併せて読む際、異常なオプション取引や、より広い概念であるオプション・グリークスと組み合わせることがよくあります。
ガンマ・エクスポージャーに関するFAQ
ポジティブ・ガンマ・エクスポージャーとは何ですか?
ポジティブGEXは、原資産が上昇するとデルタを増やし、下落するとデルタを減らすディーラー・ポジションを推定したものです。このポジションをヘッジするには、上昇局面で売り、下落局面で買う必要があります。実務家はこの状態を抑制またはピン留めと表現します。これはヘッジのルールを示すもので、価格予測ではありません。
ガンマ・フリップ・ポイントとは何ですか?
ガンマ・フリップは、GEXモデルの集計推定値がポジティブからネガティブへ転じる原資産価格です。その水準を上回ると、モデル上のヘッジフローは値動きと逆方向になり、下回ると同方向になります。建玉、ボラティリティ・サーフェス、モデルの仮定が変わるたびに水準も変わるため、二つの提供元が同じフリップ水準を示すことはほとんどありません。
GEXの基礎となる建玉はどこから取得されますか?
建玉は、取引終了後の清算データから、取引セッションごとに1回公表されます。各行使価格と満期における未決済契約数です。どの取引相手がロングまたはショートかは示されません。これは、GEX計算における最大の仮定です。
ガンマ・エクスポージャーはガンマ・スクイーズと同じですか?
いいえ。ガンマ・エクスポージャーは、ポジション全体におけるヘッジ感応度を示す継続的な推定値です。ガンマ・スクイーズは、特定銘柄で急速な買いが発生した局面に付けられる説明であり、ヘッジフローはその要因の一つです。GEXは測定の試みであり、スクイーズという呼称は事後的な事象の説明です。
GEXは単一銘柄についても計算できますか?
機械的には可能です。同じ合計計算を、上場されているどのオプションチェーンにも適用できます。ただし、チェーンが薄い場合は、少数の行使価格と広いインプライド・ボラティリティの刻みが合計値を大きく左右するため、推定値は急速に不安定になります。上記の2026年7月のセッションでは、指数関連商品以外の同日満期売買高は、上位数銘柄を過ぎると急速に減少しました。
上記の各パネルは保存済みクエリであり、SQLへワンクリックでアクセスできます。Strasmoreターミナルで、任意のオプションチェーンについて同じスキャンを実行できます。