Strasmore Research
Lernen Matt ConnorVon Matt Connor

Put/Call-Ratio berechnen: Formel und normale Werte

So wird die Put/Call-Ratio berechnet: Formeln für Handelsvolumen und Open Interest, höhere Indexwerte sowie die Frage, welcher Wert 2026 als normal gilt.

Die Put/Call-Ratio wird berechnet, indem die Zahl der gehandelten Put-Kontrakte durch die Zahl der gehandelten Call-Kontrakte im selben Zeitraum geteilt wird. Wechseln in einer Handelssitzung 250.000 Puts und 500.000 Calls den Besitzer, beträgt die Ratio 0,50. Jede Diskussion über den Indikator – Handelsvolumen gegenüber Open Interest sowie Einzelaktien gegenüber Indizes – geht letztlich darauf zurück, was auf jeder Seite dieser Division gezählt wurde. Für die einfache Definition beginnen Sie mit der Put/Call-Ratio. Diese Seite führt die Berechnung durch.

Die Formel für die Put/Call-Ratio, Schritt für Schritt

Die Formel hat zwei Eingaben und eine Rechenoperation: Zählen Sie die gehandelten Puts, zählen Sie die gehandelten Calls und teilen Sie die erste Zahl durch die zweite. Ein Put ist ein Kontrakt, der seinem Inhaber das Recht gibt, 100 Aktien des Basiswerts zu einem festen Ausübungspreis am oder vor dem Verfall zu verkaufen. Ein Call gibt das Recht, zu einem festen Ausübungspreis zu kaufen. Das Volumen zählt die Kontrakte, die während der Sitzung den Besitzer gewechselt haben. Zur nächsten Eröffnung wird es auf null zurückgesetzt.

Bei dieser Zählung wird nichts gewichtet. Ein Kontrakt in einem weit aus dem Geld liegenden Weekly zählt genauso viel wie ein Kontrakt am meistgehandelten Strike im Orderbuch. Auch wird keiner der beiden Kontrakte anhand des eingesetzten Risikos skaliert. Die Ratio ist eine Kontraktzählung.

Die Entscheidung, welche Kontrakte gezählt werden, verändert das Ergebnis. Die folgende Übersicht führt für acht liquide Titel über einen vollständigen Monat dieselbe Berechnung durch.

AbfragePut- und Call-Volumen für acht bekannte Unternehmen, Juli 2026
Das exakte SQL hinter jeder Zahl
SELECT
    underlying_symbol                 AS symbol,
    sumIf(volume, right_letter = 'P') AS put_volume,
    sumIf(volume, right_letter = 'C') AS call_volume,
    round(toFloat64(sumIf(volume, right_letter = 'P'))
        / toFloat64(sumIf(volume, right_letter = 'C')), 2) AS put_call_ratio
FROM
(
    SELECT
        underlying_symbol,
        volume,
        substring(ticker, length(ticker) - 8, 1) AS right_letter
    FROM global_markets.options_greeks
    WHERE date >= '2026-07-01'
      AND date <  '2026-08-01'
      AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'AAPL', 'MSFT', 'NVDA', 'TSLA', 'KO')
      AND volume > 0
)
GROUP BY symbol
HAVING call_volume > 0 AND put_volume > 0
ORDER BY put_call_ratio DESC
Run this yourself

Im Juli 2026 wies IWM mit 3.11 Puts je Call die höchste Ratio der acht Titel auf. MSFT hatte mit 0.38 die niedrigste. Eine Formel, ein Monat und eine Spanne zwischen dem Titel mit dem höchsten und dem mit dem niedrigsten Wert, die deutlich größer ist als die tägliche Schwankung, über die häufig berichtet wird. Eine Ratio ohne Angabe ihrer Kategorie enthält nahezu keine Information.

Volumen- oder Open-Interest-basiert

Zähler und Nenner können auf zwei unterschiedlichen Größen beruhen.

Bei der volumenbasierten Variante werden die innerhalb des Zeitfensters gehandelten Kontrakte gezählt. Es handelt sich um eine Flow-Kennzahl, die in jeder Sitzung bei null beginnt und abbildet, was an diesem Tag gehandelt wurde. Dieses Verhältnis wird in der Marktberichterstattung standardmäßig verwendet.

Bei der Open-Interest-Variante wird das ausstehende Put-Volumen durch das ausstehende Call-Volumen geteilt. Das Open Interest entspricht der Zahl der Kontrakte, die eröffnet, aber noch nicht geschlossen, ausgeübt oder verfallen sind. Es handelt sich um eine Bestandsgröße. Sie beschreibt die kumulierte Position und nicht die Aktivität des Tages und verändert sich nur langsam. Wenn in einer Sitzung 30.000 Puts zwischen zwei bestehenden Haltern den Besitzer wechseln, steigt das Volumen um 30.000, während das Open Interest unverändert bleibt. Optionsvolumen im Vergleich zum Open Interest erläutert die Verbuchung.

Nehmen wir einen hypothetischen Wert, der den Dienstag mit 40.000 ausstehenden Puts und 50.000 ausstehenden Calls beendet. Das Open-Interest-Verhältnis beträgt 0,80. Am Mittwoch werden 30.000 Puts und 10.000 Calls gehandelt. Das Volumenverhältnis beträgt somit 3,00. Beide Zahlen beschreiben am selben Tag dieselbe Optionskette. Sie weichen um nahezu den Faktor vier voneinander ab, und beide sind korrekt. Open-Interest-Verhältnisse bilden außerdem die Grundlage für die Max-Pain-Berechnung. Dabei werden die Strikes nach der Zahl der ausstehenden Kontrakte gewichtet und nicht nach der Zahl der gehandelten Kontrakte.

Flow-Kennzahlen schwanken stark. Nachfolgend ist das tägliche Volumenverhältnis für einen ETF und eine Einzelaktie im selben Monat dargestellt.

AbfrageTägliches Put/Call-Volumenverhältnis: SPY im Vergleich zu AAPL, Juli 2026
Das exakte SQL hinter jeder Zahl
SELECT
    toString(d)                                                 AS session_date,
    concat(formatDateTime(d, '%b '), toString(toDayOfMonth(d))) AS day_label,
    round(toFloat64(sumIf(volume, sym = 'SPY' AND right_letter = 'P'))
        / toFloat64(sumIf(volume, sym = 'SPY' AND right_letter = 'C')), 2)  AS spy_put_call_ratio,
    round(toFloat64(sumIf(volume, sym = 'AAPL' AND right_letter = 'P'))
        / toFloat64(sumIf(volume, sym = 'AAPL' AND right_letter = 'C')), 2) AS aapl_put_call_ratio
FROM
(
    SELECT
        date                                     AS d,
        underlying_symbol                        AS sym,
        volume,
        substring(ticker, length(ticker) - 8, 1) AS right_letter
    FROM global_markets.options_greeks
    WHERE date >= '2026-07-01'
      AND date <  '2026-08-01'
      AND underlying_symbol IN ('SPY', 'AAPL')
      AND volume > 0
)
GROUP BY d
HAVING countIf(sym = 'SPY' AND right_letter = 'C') > 0
   AND countIf(sym = 'AAPL' AND right_letter = 'C') > 0
ORDER BY d
Run this yourself

Am Jul 1 wurden bei SPY 1.1 gegenüber 0.49 bei AAPL gehandelt. Bis Jul 31 lagen die beiden Werte bei 2 und 0.55. Über 22 Sitzungen schwanken die täglichen Handelsdaten deutlich, und die beiden Reihen liegen im Chart auf unterschiedlichen Niveaus. Der Niveauunterschied ist die nützlichere der beiden Informationen.

Aktien-, Index-, ETP- und Gesamtwert: vier Cboe-Verhältniszahlen

Die als „Put/Call-Ratio“ bezeichnete Kennzahl stammt aus den täglichen Marktstatistiken der Cboe. Dort werden mehrere solcher Kennzahlen veröffentlicht. Die Kategorien heißen bei der Cboe:

  • Put/Call-Ratio für Aktien: Optionen auf einzelne Aktien.
  • Put/Call-Ratio für Indizes: Optionen auf Indizes, darunter SPX und VIX.
  • Put/Call-Ratio für börsengehandelte Produkte: Optionen auf ETFs, darunter SPY, QQQ und IWM.
  • Gesamt-Put/Call-Ratio: alle Kategorien zusammen.

Alle Kennzahlen werden auf dieselbe Weise berechnet: die Gesamtzahl der Puts geteilt durch die Gesamtzahl der Calls innerhalb der jeweiligen Kategorie. Die Werte unterscheiden sich daher nur durch die Instrumente in der jeweiligen Gruppe. Die Gruppen sind nicht austauschbar.

Indexoptionen sind das Standardinstrument, um ein gesamtes Portfolio mit einer einzigen Transaktion abzusichern. Ein Fonds mit einem breit diversifizierten Aktienportfolio kauft dagegen Index-Puts. Es gibt für ihn keinen entsprechenden Grund, Index-Calls zu kaufen. Diese Nachfrage ist einseitig und fließt vollständig in den Zähler der Indexkategorie ein. Bei Einzelaktien ist die Struktur umgekehrt: Der Kauf von Calls auf einzelne Titel macht einen großen und anhaltenden Teil des Volumens aus. Die beiden Kategorien liegen daher strukturell auf unterschiedlichen Niveaus. Der häufigste Fehler bei diesem Indikator besteht darin, einen Wert aus der einen Kategorie mit einem Referenzwert aus der anderen zu vergleichen.

Breit gefasste Markt-ETFs erfüllen bei der Absicherung eine ähnliche Funktion wie Indexoptionen. Sie werden jedoch in der Kategorie der börsengehandelten Produkte erfasst. Die folgende Grafik zeigt für beide Seiten dieser Aufteilung den monatlichen Median.

AbfrageMonatlicher Median des Put/Call-Verhältnisses: breit aufgestellte ETFs im Vergleich zu Einzelaktien
Das exakte SQL hinter jeder Zahl
WITH
    daily AS
    (
        SELECT
            d,
            toFloat64(sumIf(volume, right_letter = 'P' AND sym IN ('SPY', 'QQQ', 'IWM')))
                / toFloat64(sumIf(volume, right_letter = 'C' AND sym IN ('SPY', 'QQQ', 'IWM')))     AS etf_ratio,
            toFloat64(sumIf(volume, right_letter = 'P' AND sym NOT IN ('SPY', 'QQQ', 'IWM')))
                / toFloat64(sumIf(volume, right_letter = 'C' AND sym NOT IN ('SPY', 'QQQ', 'IWM'))) AS stock_ratio
        FROM
        (
            SELECT
                date                                     AS d,
                underlying_symbol                        AS sym,
                volume,
                substring(ticker, length(ticker) - 8, 1) AS right_letter
            FROM global_markets.options_greeks
            WHERE date >= '2025-08-01'
              AND date <  '2026-08-01'
              AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'AAPL', 'MSFT', 'NVDA', 'TSLA', 'KO')
              AND volume > 0
        )
        GROUP BY d
        HAVING countIf(right_letter = 'C' AND sym IN ('SPY', 'QQQ', 'IWM')) > 0
           AND countIf(right_letter = 'C' AND sym NOT IN ('SPY', 'QQQ', 'IWM')) > 0
    )
SELECT
    toString(toStartOfMonth(d))                AS month,
    formatDateTime(toStartOfMonth(d), '%b %Y') AS month_label,
    round(quantileExact(0.5)(etf_ratio), 2)    AS etf_median_ratio,
    round(quantileExact(0.5)(stock_ratio), 2)  AS stock_median_ratio
FROM daily
GROUP BY month, month_label
ORDER BY month
Run this yourself

Die Grafik reicht von Aug 2025 bis Jul 2026. An beiden Enden lag der Median der täglichen Ratio des ETF-Korbs bei etwa 1,0 oder darüber: im ersten Monat bei 1.52 und im letzten bei 1.49. Der Korb mit Einzelaktien blieb an beiden Enden unter 1,0, und zwar bei 0.6 und 0.56. Das galt über alle 12 Monate der Grafik. Diese dauerhafte Lücke zeigt, warum ein Referenzwert seine Kategorie nennen muss, bevor er aussagekräftig ist.

Was gilt als ein normaler Put/Call-Ratio?

„Normal“ bezeichnet eine Bandbreite. Diese Bandbreite gehört zur jeweiligen Kategorie und nicht zum Indikator selbst. Die folgende Übersicht berücksichtigt jede Handelssitzung der vergangenen zwölf Monate und weist für jeden Korb das tägliche Medianverhältnis aus, ergänzt um die Grenzen des 10. und 90. Perzentils.

AbfrageWo das tägliche Verhältnis tatsächlich liegt: zwölf Monate Handelssitzungen
Das exakte SQL hinter jeder Zahl
WITH
    daily AS
    (
        SELECT
            d,
            toFloat64(sumIf(volume, right_letter = 'P' AND sym IN ('SPY', 'QQQ', 'IWM')))
                / toFloat64(sumIf(volume, right_letter = 'C' AND sym IN ('SPY', 'QQQ', 'IWM')))     AS etf_ratio,
            toFloat64(sumIf(volume, right_letter = 'P' AND sym NOT IN ('SPY', 'QQQ', 'IWM')))
                / toFloat64(sumIf(volume, right_letter = 'C' AND sym NOT IN ('SPY', 'QQQ', 'IWM'))) AS stock_ratio,
            toFloat64(sumIf(volume, right_letter = 'P'))
                / toFloat64(sumIf(volume, right_letter = 'C'))                                      AS all_ratio
        FROM
        (
            SELECT
                date                                     AS d,
                underlying_symbol                        AS sym,
                volume,
                substring(ticker, length(ticker) - 8, 1) AS right_letter
            FROM global_markets.options_greeks
            WHERE date >= '2025-08-01'
              AND date <  '2026-08-01'
              AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'AAPL', 'MSFT', 'NVDA', 'TSLA', 'KO')
              AND volume > 0
        )
        GROUP BY d
        HAVING countIf(right_letter = 'C' AND sym IN ('SPY', 'QQQ', 'IWM')) > 0
           AND countIf(right_letter = 'C' AND sym NOT IN ('SPY', 'QQQ', 'IWM')) > 0
    )
SELECT
    p.2                                  AS category,
    round(quantileExact(0.1)(p.3), 2)    AS p10_ratio,
    round(quantileExact(0.5)(p.3), 2)    AS median_ratio,
    round(quantileExact(0.9)(p.3), 2)    AS p90_ratio
FROM
(
    SELECT arrayJoin([
        tuple(1, 'Broad market ETFs', etf_ratio),
        tuple(2, 'Single stocks',     stock_ratio),
        tuple(3, 'All eight names',   all_ratio)
    ]) AS p
    FROM daily
)
GROUP BY p.1, p.2
ORDER BY p.1
Run this yourself

Beim Korb der Einzelaktien lag das Medianverhältnis einer Sitzung bei 0.58. Das 10. Perzentil lag bei 0.45, das 90. Perzentil bei 0.76. Der Korb der breit gefassten Markt-ETFs lag über die gesamte Verteilung hinweg höher: Der Median betrug 1.54, bei Grenzen von 1.25 und 1.86.

Ist 1,20 also hoch? Im Vergleich zum Korb der Einzelaktien liegt ein Print von 1,20 oberhalb des 90. Perzentils von 0.76 und ist damit ungewöhnlich. Im Vergleich zum ETF-Korb liegt der Wert nahe am üblichen Bereich. Für die Indexkategorie, in der sich der oben beschriebene Absicherungsflow konzentriert, muss derselbe Wert erneut anhand anderer Niveaus beurteilt werden. Eine Zahl allein reicht nicht aus. Die Kategorie entscheidet über das Ergebnis, bevor die Interpretation beginnt.

Auch diese Bandbreiten verändern sich im Zeitverlauf. Perzentile auf Basis der vergangenen zwölf Monate beschreiben die vergangenen zwölf Monate. Eine Referenzbandbreite aus einem vor zehn Jahren veröffentlichten Artikel beschreibt dagegen einen Markt mit einer anderen Zusammensetzung der Kontrakte und nahezu keinem Handel mit Optionen mit Verfall am selben Tag. Die Perzentile über ein aktuelles Zeitfenster neu zu berechnen, ist die einzige belastbare Grundlage dafür, einen Wert als hoch oder niedrig zu bezeichnen.

Die Interpretation ist eine andere Aufgabe als die Berechnung. Manche werten einen hohen Wert als bärische Positionierung. Contrarian-Investoren sehen darin eine überfüllte Absicherung. Die Frage, ob ein hoher Put/Call-Ratio bullisch ist, setzt sich mit diesem Argument systematisch auseinander.

Warum der gleitende 21-Tage-Durchschnitt

Das Verhältnis einer einzelnen Sitzung ist nur eine kleine Stichprobe aus einer schwankungsanfälligen Zeitreihe. Deshalb wird die veröffentlichte Kennzahl üblicherweise geglättet. Verbreitet ist ein gleitender Durchschnitt über 21 Sitzungen, also ungefähr einen Handelsmonat: Addieren Sie die täglichen Verhältnisse der vergangenen 21 Sitzungen, teilen Sie die Summe durch 21 und verschieben Sie das Zeitfenster anschließend um eine Sitzung. Es gibt auch Varianten über zehn und fünfzig Sitzungen. Die gewählte Länge bestimmt, wie stark eine Spitze aus einem einzelnen Handelstag im Ergebnis erhalten bleibt.

Zwei Details sind wichtig. Der Durchschnitt aus 21 täglichen Verhältnissen wird nicht auf dieselbe Weise berechnet wie das Put-Volumen eines Monats geteilt durch das Call-Volumen eines Monats. Bei der ersten Methode wird jede Sitzung gleich gewichtet. Bei der zweiten fallen Sitzungen mit hohem Handelsvolumen stärker ins Gewicht. Außerdem wurde ein geglätteter Wert an einem Extrem über die Sitzungen eines Monats hinweg gebildet. Deshalb verlässt er dieses Extrem ebenfalls nur langsam.

AbfrageTägliches Put/Call-Verhältnis einer Einzelaktie im Vergleich zu ihrem 21-Sitzungen-Durchschnitt
Das exakte SQL hinter jeder Zahl
WITH
    daily AS
    (
        SELECT
            d,
            toFloat64(sumIf(volume, right_letter = 'P'))
                / toFloat64(sumIf(volume, right_letter = 'C')) AS raw_ratio
        FROM
        (
            SELECT
                date                                     AS d,
                volume,
                substring(ticker, length(ticker) - 8, 1) AS right_letter
            FROM global_markets.options_greeks
            WHERE date >= '2026-01-02'
              AND date <  '2026-08-01'
              AND underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'TSLA', 'KO')
              AND volume > 0
        )
        GROUP BY d
        HAVING countIf(right_letter = 'C') > 0
    )
SELECT
    session_date,
    day_label,
    daily_ratio,
    ma21_ratio
FROM
(
    SELECT
        d,
        toString(d)                                                 AS session_date,
        concat(formatDateTime(d, '%b '), toString(toDayOfMonth(d))) AS day_label,
        round(raw_ratio, 2)                                         AS daily_ratio,
        round(avg(raw_ratio) OVER (ORDER BY d ROWS BETWEEN 20 PRECEDING AND CURRENT ROW), 2) AS ma21_ratio
    FROM daily
)
WHERE d >= '2026-04-01'
ORDER BY d
Run this yourself

Die gezackte Linie zeigt das tägliche Verhältnis für den Korb aus Einzelaktien. Die glatte Linie zeigt den gleitenden Durchschnitt über 21 Sitzungen. In der ersten dargestellten Sitzung, Apr 1, lag der tägliche Wert bei 1.04. Der geglättete Wert betrug 0.81. Am Jul 31 lagen die beiden Werte bei 0.56 und 0.58. Über 84 Sitzungen legt der Durchschnitt nur einen Bruchteil der Strecke zurück, die die Rohdatenreihe abdeckt. Genau deshalb wird die geglättete Kennzahl angegeben.

So werden diese Panels berechnet

Der Kontrakttyp ergibt sich direkt aus dem Optionssymbol. Der Buchstabe vor dem achtstelligen Ausübungspreiscode ist C für eine Call-Option und P für eine Put-Option. In die Zählung gehen nur Kontrakte mit ausgewiesenem Handelsvolumen für die jeweilige Sitzung ein. Ein Strike, der nie gehandelt wurde, erhöht daher keine der beiden Seiten. Das erste Panel teilt für jeden Titel das gesamte Put-Volumen des Monats durch das gesamte Call-Volumen des Monats. Die übrigen Panels berechnen zunächst für jede Sitzung ein Verhältnis und fassen anschließend diese Sitzungswerte zusammen. Das entspricht der Berechnung eines veröffentlichten gleitenden Durchschnitts. Die Körbe umfassen auf der Seite des breiten Marktes SPY, QQQ und IWM sowie auf der Seite der Einzelaktien AAPL, MSFT, NVDA, TSLA und KO. Jedes Panel enthält den exakten SQL-Code, mit dem es erstellt wurde.

Häufig gestellte Fragen

Wie berechnen Sie das Put/Call-Verhältnis?

Teilen Sie die Zahl der Put-Kontrakte durch die Zahl der Call-Kontrakte im selben Zeitraum. Bei den meisten veröffentlichten Varianten wird das Handelsvolumen der Sitzung verwendet. Ein Wert von 0,65 bedeutet daher, dass auf 100 gehandelte Calls 65 gehandelte Puts kamen. Bei der Variante auf Basis des Open Interest werden die ausstehenden Kontrakte anstelle der gehandelten Kontrakte verwendet. Sie beantwortet eine andere Frage.

Ist ein Put/Call-Verhältnis über 1 hoch?

Das hängt von der Kategorie ab. Für den Korb aus Einzelaktien in den oben dargestellten Panels liegt das 90. Perzentil der Tageswerte bei 0.76. Werte über diesem Niveau sind daher ungewöhnlich. Bei breit gefassten Markt-ETFs und Indexoptionen konzentriert sich die Portfolioabsicherung auf die Put-Seite. Dort sind Werte um 1 und darüber üblich.

Was ist der Unterschied zwischen dem Put/Call-Verhältnis auf Basis des Handelsvolumens und dem auf Basis des Open Interest?

Das Handelsvolumen zählt die während der Sitzung gehandelten Kontrakte und wird jeden Morgen zurückgesetzt. Das Open Interest zählt die weiterhin offenen Kontrakte und wird von einem Tag auf den nächsten fortgeschrieben. Das volumenbasierte Verhältnis kann sich innerhalb einer Sitzung verdoppeln, während sich das Verhältnis auf Basis des Open Interest nur um wenige Prozent verändert. Deshalb können beide am selben Tag in unterschiedliche Richtungen weisen.

Welches Put/Call-Verhältnis wird von der Finanzpresse genannt?

Üblicherweise das Aktien-Put/Call-Verhältnis des Cboe oder das gesamte Put/Call-Verhältnis. Meist wird dabei ein gleitender Durchschnitt über 21 Sitzungen und nicht der unveränderte Tageswert genannt. Die vier Cboe-Kategorien weisen unterschiedliche Niveaus auf. Eine zitierte Zahl ohne Angabe der Kategorie lässt sich daher nicht mit einem Referenzwert vergleichen.


Zu jedem Panel auf dieser Seite gehört der SQL-Code, mit dem es erzeugt wurde. Dadurch lässt sich jede Zählung Zeile für Zeile überprüfen. Wenn Sie dieselbe Berechnung für einen anderen Titel oder einen längeren Zeitraum durchführen möchten, fragen Sie sie auf dem Strasmore-Terminal in einfachem Englisch an.

#put call ratio#options#sentiment#cboe#options volume