Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor · · Updated 2026-09-26

ガンマ・フリップ水準とは?

ガンマ・フリップ水準の意味と、権利行使価格別のガンマや建玉からの計算方法を解説します。推定値を検証するポイントも確認できます。

ガンマ・フリップ水準とは、ディーラーの推定合計ガンマがゼロを横切る原資産価格です。その価格を上回ると、現在のオプション・ブックは値動きに逆らうヘッジフローを示します。下回ると、値動きに追随するフローを示します。この水準は、公開オプションデータに、保有者と保有内容に関する大きな仮定を一つ加えて作るモデル出力です。重要なのは、その構築方法です。

ガンマ・フリップ水準の構成要素

ガンマとは、原資産が動いたときにオプションのデルタが変化する割合です。詳しくはオプションのガンマとはを参照してください。ヘッジ付きのブックを運用するデスクは、デルタの変化に応じて原資産を売買します。その仕組みはデルタヘッジの仕組みで説明しています。ガンマは、値動き一ポイント当たりにヘッジをどれだけ変更する必要があるかを決めます。権利行使価格と満期ごとに、チェーンに含まれる全契約のガンマを符号とウェイト付きで合計すると、ガンマ・エクスポージャー(通常はGEXと表記)になります。フリップとは、この合計値がゼロを通過する原資産価格という、特定の一つの読み方です。

必要な入力は四つです。

  1. 各権利行使価格・満期における契約当たりのガンマ。Black-Scholes計算から取得します。
  2. 符号の定義。通常の構築では、ディーラーがコールをショートし、プットをロングしていると仮定します。そのため、コールのガンマは合計にマイナス、プットのガンマはプラスで入ります。
  3. 契約ごとのウェイト。公表水準では建玉を使います。
  4. スケーリング。100株の契約乗数を掛け、さらに現物価格の二乗と0.01を掛けます。これにより、1%の値動き当たりのデルタ総額をドルで示します。

符号の定義は、もう一度確認する必要があります。逆に、ディーラーがコールをロングし、プットをショートしていると仮定すると、合計値のすべての数字の符号が反転します。ゼロを横切る価格は変わりません。変わるのは、水準のどちら側をプラスと呼ぶかです。

第一段階:権利行使価格ごとの契約当たりガンマ

契約当たりのガンマは、チェーン全体で一定ではありません。アット・ザ・マネー付近で最大となり、そこから上下に離れるほど低下します。下のパネルは、特定の過去の一セッションに固定しています。このデータに収録された2026年6月の最終セッションを対象とし、終値から6%以内の各権利行使価格について、満期まで20~45日の契約当たりガンマを平均しています。

クエリ行使価格別の1契約当たり平均ガンマ、SPY、2026年6月のピン留めされた一セッション
権利行使価格コール・ガンマプット・ガンマ
7050.005230.00512
7100.005750.00589
7150.006530.00678
7200.007660.00776
7250.008440.00888
7300.009460.01002
7350.01070.01137
7400.011980.01239
7450.012680.01344
7500.013770.0142
7550.013790.01446
7600.013640.01404
7650.012530.01204
7700.011180.0112
7750.009290.00957
7800.007450.00814
各数値の背後にある正確なSQL
SELECT
    toString(toInt32(strike_price))                                                AS strike,
    round(avgIf(toFloat64(gamma), lower(substring(option_type, 1, 1)) = 'c'), 5)   AS call_gamma,
    round(avgIf(toFloat64(gamma), lower(substring(option_type, 1, 1)) = 'p'), 5)   AS put_gamma
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
  AND date = (
        SELECT max(date)
        FROM global_markets.options_greeks
        WHERE underlying_symbol = 'SPY'
          AND date <= '2026-06-30'
      )
  AND iv_converged = 1
  AND volume > 0
  AND days_to_expiry BETWEEN 20 AND 45
  AND modulo(toInt32(strike_price), 5) = 0
  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.06
GROUP BY strike_price
HAVING countIf(lower(substring(option_type, 1, 1)) = 'c') > 0
   AND countIf(lower(substring(option_type, 1, 1)) = 'p') > 0
ORDER BY strike_price
自分で実行する

この範囲の最下限の権利行使価格では、平均コール・ガンマは0.00523です。最上限では0.00745で、16個の権利行使価格にわたり、その間に山が形成されています。同じ権利行使価格・満期では、モデル上、コールとプットのガンマは同じ値です。そのため、パネルの二つの系列は重なります。両者を分けるのはガンマではなく、符号の定義です。

第二段階:符号、ウェイト、カーブの転換点

一契約のエクスポージャーは小さいものです。原資産が600ドルのとき、ガンマ0.02で100契約の権利行使価格を考えます。0.02に100契約、100株の契約乗数、600の二乗、0.01を掛けると、1%の値動き当たりおよそ72万ドルのデルタになります。次のパネルは、この単位を百万ドルで示しています。

このパネルは、同じ固定セッションについて、満期45日までの全満期を対象に権利行使価格の並びを示します。各権利行使価格の寄与には、上記の定義に基づく符号を付け、そのセッションの取引契約数量でウェイト付けしています。累積列は、最も低い権利行使価格から上向きに積み上げています。

クエリ行使価格別の符号付きネットガンマと累計、1%変動当たりのデルタ($mm)
権利行使価格権利行使価格別ガンマ MUSD累積ガンマ MUSD
70542.442.4
710130.8173.2
71541214.2
72099.8314
725200.1514.1
730253.4767.5
735442.21209.7
7401162.12371.8
7451536.83908.6
750-4878.8-970.2
755-881.6-1851.8
760-395.7-2247.5
765-115.3-2362.8
770-43.8-2406.6
775-26.8-2433.4
780-14-2447.4
785-5.6-2453
790-2.5-2455.5
各数値の背後にある正確なSQL
SELECT
    strike,
    strike_gamma_musd,
    round(sum(strike_gamma_musd) OVER (ORDER BY strike_num), 1) AS running_gamma_musd
FROM
(
    SELECT
        toInt32(strike_price)           AS strike_num,
        toString(toInt32(strike_price)) AS strike,
        round(sum(multiIf(lower(substring(option_type, 1, 1)) = 'c', -1.0, 1.0)
                  * toFloat64(gamma) * volume * 100
                  * pow(toFloat64(underlying_close), 2) * 0.01) / 1e6, 1) AS strike_gamma_musd
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND date = (
            SELECT max(date)
            FROM global_markets.options_greeks
            WHERE underlying_symbol = 'SPY'
              AND date <= '2026-06-30'
          )
      AND iv_converged = 1
      AND volume > 0
      AND days_to_expiry <= 45
      AND modulo(toInt32(strike_price), 5) = 0
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.06
    GROUP BY strike_price
)
ORDER BY strike_num
自分で実行する

この範囲の最下限の権利行使価格は、1%の値動き当たり42.4百万ドルのデルタを寄与し、最上限は-2.5百万ドルを寄与します。12%の範囲全体では、合計は-2455.5百万ドルです。累積線を左から右へ見てください。プットのウェイトが優勢な権利行使価格では上昇し、コールのウェイトが優勢になって均衡を取ると反転します。この反転する価格がフリップ推定値です。各段階は、読者が手計算で再現できる集計作業にすぎません。そこが重要です。

この水準では分からないこと

この構築方法では、ディーラーを直接観測していません。建玉から分かるのは、契約が存在することだけです。マーケットメーカーがその契約のどちら側を保有しているかは分かりません。オープンソースのGEXダッシュボードのプロジェクトは、READMEでこの限界を明示し、出力を建玉から計算したBlack-Scholes近似として説明しています。

実際のマーケットメーカーのポジションを示すものではない

(プロジェクトREADME、2026年9月時点)

二つ目の不足はカバレッジです。このダッシュボードの基盤となる無料データソースには、現物指数シンボルのオプション・チェーン用エンドポイントがありません。対象はSPX、XSP、NDX、RUT、DJX、VIXです。これらは実務家がフリップ水準を頻繁に参照するシンボルそのものです。これらの水準として公表されたものは、別の場所で、有料のチェーンデータまたはETFプロキシを使って計算されています。SPXとSPYのオプションは同じ指数を追跡しますが、想定元本はおよそ10対1です。一方を基にした水準を他方に適用するには、再スケーリングが必要です。

三つ目はカーブそのものです。適切なフリップ計算では、候補となる原資産価格ごとに全契約のガンマを再評価し、そこから得られる関数のゼロ点を探します。上の権利行使価格ラダーによる近似では、再評価を行いません。一つの終値時点でのブックの需給バランスを読んでいます。ここでのパネルは、建玉ではなく取引数量でウェイト付けしています。この日次ギリシャ指標データでは、契約ごとのウェイトとして取引数量を使っているためです。形状は同じでも、ウェイトは異なります。

同じ指数について二つのベンダーが異なる水準を公表する理由

上記の入力はすべて選択項目です。ベンダーごとに設定が異なります。最も大きな違いは満期の対象範囲です。下のパネルでは、同じセッションについて、満期カレンダーを四つの区分に分けて同じ推定値を再計算しています。

クエリ満期期間別のラダー反転推定値、2026年6月のピン留めされた一セッション
満期までの日数バケットスポット終値フリップ推定値
0 to 1 days746.3745
2 to 7 days746.3744
8 to 30 days746.3746
31 to 90 days746.3745
各数値の背後にある正確なSQL
SELECT
    dte_bucket,
    round(any(spot), 2)               AS spot_close,
    round(argMax(strike, running), 2) AS flip_estimate
FROM
(
    SELECT
        dte_bucket,
        bucket_order,
        spot,
        strike,
        sum(net_gamma) OVER (PARTITION BY dte_bucket ORDER BY strike) AS running
    FROM
    (
        SELECT
            multiIf(days_to_expiry <= 1,  '0 to 1 days',
                    days_to_expiry <= 7,  '2 to 7 days',
                    days_to_expiry <= 30, '8 to 30 days',
                                          '31 to 90 days')  AS dte_bucket,
            multiIf(days_to_expiry <= 1, 1,
                    days_to_expiry <= 7, 2,
                    days_to_expiry <= 30, 3, 4)             AS bucket_order,
            toFloat64(strike_price)                         AS strike,
            any(toFloat64(underlying_close))                AS spot,
            sum(multiIf(lower(substring(option_type, 1, 1)) = 'c', -1.0, 1.0)
                * toFloat64(gamma) * volume * 100)          AS net_gamma
        FROM global_markets.options_greeks
        WHERE underlying_symbol = 'SPY'
          AND date = (
                SELECT max(date)
                FROM global_markets.options_greeks
                WHERE underlying_symbol = 'SPY'
                  AND date <= '2026-06-30'
              )
          AND iv_converged = 1
          AND volume > 0
          AND days_to_expiry <= 90
          AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.15
        GROUP BY dte_bucket, bucket_order, strike
    )
)
GROUP BY dte_bucket, bucket_order
ORDER BY bucket_order
自分で実行する

満期まで0~1日の区分では、終値746.3に対して推定値は745です。満期まで31~90日の区分では、推定値は745です。一つのブック、一つのセッション、一つの計算式でも、答えは四つになります。上場されている全満期を合計するダッシュボードと、最前限月で止めるダッシュボードは、同じ数量を示していません。どちらも間違いではありません。

その他の設定も同様です。

  • ウェイト。前日清算値時点の建玉、日中に更新した建玉、または取引数量。
  • 権利行使価格の範囲。合計に含める範囲を、アウト・オブ・ザ・マネーのどこまで広げるか。
  • 符号の定義。交差点を動かさず、両側の呼び方だけを変えます。
  • スナップショットの時刻。
  • 水準を指数オプションから直接計算するか、再スケーリングしたETFプロキシから計算するか。

水準がセッション中に動く理由

同日満期の建玉は、セッション中に新たに作られ、消滅します。満期まで0~1日の区分はブックの中で最も速く動く部分です。現在では指数オプション取引数量の大きな割合を占めています。詳しくは0DTEオプションとそのリスクを参照してください。米東部時間午前9時45分に計算した水準と、午後2時に計算した同じ水準では、現物価格に近い権利行使価格の建玉が異なります。そこでは契約当たりガンマが最大です。日中に更新するベンダーは、セッション中に動く水準を公表します。前日終値時点で一度だけスナップショットを取るベンダーは、次の更新まで変わらない水準を公表します。

推定値は日々変化するのか

2026年6月の21セッションを通じて、同じラダー推定値は終値との距離を変えながら推移します。

クエリ終値に対する日次ラダー反転推定値、SPY、2026年6月
21 rows (showing 20)
日付セッションラベルスポット終値フリップ推定値
2026-06-01Jun 1756.58757
2026-06-02Jun 2759.63759
2026-06-03Jun 3750.55753
2026-06-04Jun 4754.56756
2026-06-05Jun 5735.36742.5
2026-06-08Jun 8738.72742.5
2026-06-09Jun 9735.7735
2026-06-10Jun 10722.88729
2026-06-11Jun 11739.48730
2026-06-12Jun 12742.45740
2026-06-15Jun 15753.91754
2026-06-16Jun 16750.75751
2026-06-17Jun 17745.6744
2026-06-18Jun 18746.94746
2026-06-22Jun 22743.67745
2026-06-23Jun 23735.02734
2026-06-24Jun 24737.2732
2026-06-25Jun 25732.7735
2026-06-26Jun 26731.2733
2026-06-29Jun 29740.76739
各数値の背後にある正確なSQL
SELECT
    toString(d)                       AS date,
    formatDateTime(d, '%b %e')        AS session_label,
    round(any(spot), 2)               AS spot_close,
    round(argMax(strike, running), 2) AS flip_estimate
FROM
(
    SELECT
        d,
        spot,
        strike,
        sum(net_gamma) OVER (PARTITION BY d ORDER BY strike) AS running
    FROM
    (
        SELECT
            date                              AS d,
            toFloat64(strike_price)           AS strike,
            any(toFloat64(underlying_close))  AS spot,
            sum(multiIf(lower(substring(option_type, 1, 1)) = 'c', -1.0, 1.0)
                * toFloat64(gamma) * volume * 100) AS net_gamma
        FROM global_markets.options_greeks
        WHERE underlying_symbol = 'SPY'
          AND date BETWEEN '2026-06-01' AND '2026-06-30'
          AND iv_converged = 1
          AND volume > 0
          AND days_to_expiry <= 45
          AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.15
        GROUP BY d, strike
    )
)
GROUP BY d
ORDER BY d
自分で実行する

Jun 1には、終値756.58に対して推定値は757となりました。Jun 30には、終値746.3に対して推定値は746となりました。二つの系列が連動するのは、取引数量が集中する場所を基準にした統計値だからです。実際に読むべきなのは、両者の差です。

公表されたフリップ水準の妥当性を確認する方法

  • 対象となる満期と、合計を打ち切るまでにどこまでアウト・オブ・ザ・マネーを含めるかを確認します。
  • どのウェイトを使い、そのウェイトをいつ取得したかを確認します。
  • 指数そのものから計算したのか、ETFプロキシから計算して再スケーリングしたのかを確認します。
  • 同じセッションのラダーを再構築し、転換点が同じ付近になるか確認します。正当な二つの構築方法で30ポイント離れた場合、市場ではなく手法の違いを示しています。
  • 精度の表示を確認します。指数の権利行使価格ラダーは5ポイント以上の間隔で、ギリシャ指標は日次データです。そのため、セント単位で示された水準は、計算の基礎にある情報より細かい精度です。

よくある質問

オプションにおけるガンマ・フリップ水準とは何ですか?

ディーラーの合計ガンマの推定値がゼロを横切る原資産価格です。各契約のガンマに符号を付け、建玉でウェイト付けし、契約乗数でスケーリングしたうえで、チェーン全体を合計して算出します。ディーラーの在庫に関する見解ではなく、公開オプションデータから得られます。

ガンマ・フリップはGEXと同じものですか?

いいえ。GEXは合計ガンマそのもので、通常は1%の値動き当たりのデルタをドルで示します。フリップは、その合計値がゼロを通過する原資産価格です。GEXはカーブであり、フリップはその上の一点です。

同じ指数について二つのダッシュボードが異なるガンマ・フリップ水準を示すのはなぜですか?

満期の対象範囲、権利行使価格の範囲、ウェイトとその取得時刻、符号の定義、指数オプションを使うか再スケーリングしたETFプロキシを使うかが異なるためです。上の満期パネルでは、一つの入力だけを変えることで、同じセッションから四つの異なる推定値が得られます。

ガンマ・フリップ水準は取引時間中に変化しますか?

日中に更新する構築方法では、変化します。同日満期の建玉はセッション中に新たに作られ、消滅します。現物価格に近い権利行使価格ほど、ガンマのウェイトが大きくなります。前日終値時点で一度だけスナップショットを取った水準は、次の更新まで変わりません。


このページの各パネルには、その下に対応するSQLを正確に掲載しています。Strasmore terminalで別のシンボルまたは別のセッションについてラダーを再構築し、転換点がどこに現れるか確認してください。

#gamma#gex#dealer hedging#options#spx