Strasmore Research
Leren Matt ConnorDoor Matt Connor

Hoe wordt de put/call ratio berekend?

Ontdek hoe de put/call ratio wordt berekend via volume en open interest. Leer waarom index readings hoger uitvallen en wat in tweeduizendzesentwintig als een normale waarde geldt.

De put/call ratio berekenen

De put/call ratio wordt berekend door het aantal verhandelde putcontracten te delen door het aantal verhandelde callcontracten over dezelfde periode. Als er tijdens een sessie tweehonderdvijftigduizend puts en vijfhonderdduizend calls van eigenaar wisselen, is de ratio 0,50. Elk argument over deze indicator, zoals volume versus open interest en aandelen versus index, is terug te voeren op wat er aan beide kanten van die deling wordt meegeteld. Voor de eenvoudige definitie, begin bij wat de put/call ratio is. Deze pagina voert de berekening uit.

De put/call ratio-formule, stap voor stap

De formule bevat twee inputs en één bewerking: tel het aantal verhandelde puts, tel het aantal verhandelde calls en deel het eerste door het tweede. Een put is een contract dat de houder het recht geeft om honderd aandelen van de onderliggende waarde te verkopen tegen een vaste uitoefenprijs op of vóór de expiratiedatum. Een call geeft het recht om te kopen tegen een vaste uitoefenprijs. Het volume telt de contracten die tijdens de sessie van eigenaar zijn gewisseld; dit wordt bij de volgende opening weer op nul gezet.

Niets in de telling is gewogen. Eén lot in een ver 'out of the money' weekcontract telt even zwaar als één lot in de meest actieve uitoefenprijs op het bord, en geen van beide wordt geschaald op basis van het risicodragend kapitaal. De ratio is een telling van contracten.

De keuze die de uitkomst bepaalt, is welke contracten worden meegeteld. Het onderstaande overzicht voert identieke berekeningen uit voor acht liquide namen over één volledige maand.

QueryPut- en call-volume voor acht bekende aandelen, juli 2026
De exacte SQL achter elk getal
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

Gedurende juli 2026 had IWM de hoogste ratio van de acht met 3.11 puts per call, en MSFT de laagste met 0.38. Eén formule, één maand, en een spread tussen de hoogste en laagste naam die veel groter is dan de dagelijkse schommelingen waarover vaak wordt geschreven. Een ratio die wordt vermeld zonder de bijbehorende categorie, bevat vrijwel geen informatie.

Op basis van volume of open interest

Twee verschillende tellingen kunnen de teller en noemer bepalen.

De volume-versie telt het aantal contracten dat in de betreffende periode is verhandeld. Het is een flow-maatstaf die elke sessie op nul begint en beschrijft wat marktdeelnemers vandaag hebben gedaan. Elke ratio die in de financiële media wordt genoemd, is gebaseerd op deze maatstaf.

De open interest-versie deelt het aantal uitstaande puts door het aantal uitstaande calls, waarbij open interest het aantal contracten is dat is geopend en nog niet is gesloten, uitgeoefend of verlopen. Dit is een stock-maatstaf, de geaccumuleerde positie in plaats van de dagelijkse activiteit, en deze beweegt traag. Een sessie waarin dertigduizend puts van eigenaar wisselen tussen twee bestaande houders, voegt dertigduizend toe aan het volume, terwijl de open interest gelijk blijft. Optievolume versus open interest behandelt de boekhoudkundige verwerking.

Neem een hypothetisch aandeel dat op dinsdag eindigt met veertigduizend puts en vijftigduizend calls uitstaand, een open interest-ratio van 0,80. Op woensdag worden er dertigduizend puts en tienduizend calls verhandeld: een volume-ratio van 3,00. Beide getallen beschrijven dezelfde optieketen op dezelfde dag, ze verschillen bijna een factor vier, en beide zijn correct. Open interest-ratio's vormen ook de basis voor de max pain-berekening, die uitoefenprijzen weegt op basis van uitstaande contracten in plaats van verhandelde contracten.

Flow-maatstaven zijn grillig. Hieronder staat de dagelijkse volume-ratio voor één ETF en één aandeel over dezelfde maand.

QueryDagelijkse put/call-volumeratio, SPY versus AAPL, juli 2026
De exacte SQL achter elk getal
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

Op Jul 1 noteerde SPY 1.1 tegenover 0.49 voor AAPL. Tegen Jul 31 bedroegen de waarden voor het paar 2 en 0.55. Over 22 sessies springen de dagelijkse prints heen en weer en bevinden de twee reeksen zich op verschillende niveaus in de grafiek. Het verschil in niveau is het meest bruikbare van deze twee feiten.

Aandelen, index, ETP en totaal: vier Cboe-ratio's

Het cijfer dat wordt aangehaald als "de put/call ratio" is afkomstig uit de dagelijkse marktstatistieken van Cboe, dat er meerdere publiceert. De categorieën, zoals Cboe ze benoemt:

  • Equity put/call ratio: opties op individuele aandelen.
  • Index put/call ratio: opties op indexen, inclusief SPX en VIX.
  • Exchange traded products put/call ratio: opties op ETF's, waar SPY, QQQ en IWM onder vallen.
  • Total put/call ratio: alle categorieën bij elkaar opgeteld.

Elke ratio wordt op dezelfde manier berekend, namelijk het totaal aantal puts gedeeld door het totaal aantal calls binnen de categorie, waardoor de waarden alleen verschillen door de inhoud van de betreffende mand. De manden zijn niet onderling uitwisselbaar.

Indexopties zijn het standaardinstrument om een volledige portefeuille in één transactie te hedgen. Een fonds met een brede aandelenportefeuille koopt index-puts ter bescherming en heeft geen vergelijkbare reden om index-calls te kopen. Die vraag is eenzijdig en komt volledig terecht in de teller van de indexcategorie. De stroom in individuele aandelen vertoont de tegenovergestelde tendens, waarbij het kopen van calls op individuele namen een groot en aanhoudend deel van het volume uitmaakt. De twee categorieën bevinden zich structureel op verschillende niveaus; het meten van de waarde van de ene categorie tegenover een benchmark van de andere is de meest gemaakte fout bij deze indicator.

Brede markt-ETF's vervullen dezelfde hedging-rol als indexopties, maar worden meegeteld in de categorie exchange traded products. Het onderstaande overzicht volgt een maandelijkse mediaan voor beide kanten van die splitsing.

QueryMaandelijkse mediane put/call-ratio: brede markt-ETF's versus individuele aandelen
De exacte SQL achter elk getal
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

Het overzicht loopt van Aug 2025 tot Jul 2026. Aan beide uiteinden lag de mediane dagelijkse ratio van de ETF-mand nabij of boven de 1,0, met 1.52 in de eerste maand en 1.49 in de laatste. De mand met individuele aandelen bleef aan beide uiteinden onder de 1,0, met 0.6 en 0.56, over alle 12 maanden in de grafiek. Dat blijvende verschil is de reden waarom een benchmark zijn categorie moet benoemen voordat deze enige betekenis heeft.

Wat geldt als een normale put/call-ratio

Normaal is een bereik, en dat bereik hoort bij een categorie in plaats van bij de indicator zelf. Het onderstaande overzicht neemt elke sessie van de afgelopen twaalf maanden en rapporteert de mediane dagelijkse ratio voor elke mand, inclusief de grenzen van het tiende en negentigste percentiel.

QueryHuidige dagelijkse ratio, twaalf maanden aan handelssessies
De exacte SQL achter elk getal
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

Voor de mand met individuele aandelen kwam de mediane sessie uit op 0.58, met 0.45 op het tiende percentiel en 0.76 op het negentigste. De mand met brede markt-ETF's lag hoger in de verdeling: een mediaan van 1.54 tussen de grenzen van 1.25 en 1.86.

Is 1,20 dan hoog? Afgezet tegen de mand met individuele aandelen ligt een print van 1,20 voorbij het negentigste percentiel van 0.76, wat het ongebruikelijk maakt. Afgezet tegen de ETF-mand is het bijna routine. Afgezet tegen de indexcategorie, waar de hierboven beschreven hedging-flow zich concentreert, moet hetzelfde cijfer weer aan een andere set niveaus worden getoetst. Eén getal, en de categorie bepaalt het oordeel nog voordat de interpretatie begint.

Deze bereiken verschuiven ook. Percentielen berekend over de afgelopen twaalf maanden beschrijven de afgelopen twaalf maanden, en een benchmarkbereik dat is gekopieerd uit een artikel van tien jaar geleden beschrijft een markt met een andere contractmix en vrijwel geen zero day expiry trading. Het opnieuw berekenen van de percentielen over een recent venster is de enige eerlijke manier om een waarde als hoog of laag te bestempelen.

Interpretatie is een andere taak dan berekening. Een hoge waarde wordt door sommigen gelezen als bearish positionering en door contrarians als een overvolle hedge, en of een hoge put/call-ratio bullish is ontleedt dat argument op de juiste wijze.

Waarom het voortschrijdend gemiddelde van 21 dagen

De ratio van één sessie is een kleine steekproef uit een volatiele reeks, dus de gepubliceerde versie wordt doorgaans afgevlakt. De gangbare conventie is een voortschrijdend gemiddelde van 21 sessies, wat ruwweg overeenkomt met één handelsmaand: tel de laatste 21 dagelijkse ratio's bij elkaar op, deel door 21 en schuif het venster vervolgens één sessie op. Er bestaan ook versies van tien en vijftig sessies, en de gekozen lengte bepaalt in hoeverre een uitschieter van één dag zichtbaar blijft.

Twee details zijn het vermelden waard. Het middelen van 21 dagelijkse ratio's is rekenkundig niet hetzelfde als het delen van het totale put-volume van een maand door het totale call-volume van die maand; de eerste methode weegt elke sessie even zwaar, de tweede geeft meer gewicht aan drukke sessies. Bovendien is een afgevlakte waarde bij een extreem punt opgebouwd over een maand aan sessies, waardoor deze ook weer langzaam uit dat extreme punt beweegt.

QueryDagelijkse put/call-ratio voor individuele aandelen versus het 21-daags voortschrijdend gemiddelde
De exacte SQL achter elk getal
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

De grillige lijn is de dagelijkse ratio voor de mand met individuele aandelen, de vloeiende lijn is het voortschrijdend gemiddelde van 21 sessies. Op de eerste getoonde sessie, Apr 1, bedroeg de dagelijkse print 1.04 tegenover een afgevlakte waarde van 0.81. Op Jul 31 noteerde het paar 0.56 en 0.58. Over 84 sessies legt het gemiddelde slechts een fractie af van de afstand die de ruwe reeks beslaat, wat precies het doel is van het vermelden van het afgevlakte cijfer.

Hoe deze panelen tellen

Het type contract wordt afgeleid uit het optiesymbool zelf: de letter die vóór de achtcijferige uitoefenprijs-code staat, is C voor een call en P voor een put. Alleen contracten met gerapporteerd volume voor de sessie worden meegeteld, dus een uitoefenprijs die niet is verhandeld, draagt aan geen van beide zijden bij. Het eerste paneel deelt het totale put-volume van de maand door het totale call-volume van de maand voor elk aandeel. De overige panelen berekenen eerst één ratio per sessie en vatten die sessies vervolgens samen, wat overeenkomt met de wijze waarop een gepubliceerd voortschrijdend gemiddelde wordt opgebouwd. Manden: SPY, QQQ en IWM voor de brede markt, en AAPL, MSFT, NVDA, TSLA en KO voor de individuele aandelen. Elk paneel bevat de exacte SQL die het resultaat heeft gegenereerd.

Veelgestelde vragen

Hoe berekent u de put/call ratio?

Deel het aantal putcontracten door het aantal callcontracten over dezelfde periode. De meeste gepubliceerde versies gebruiken het handelsvolume van de sessie; een waarde van 0,65 betekent dus dat er voor elke honderd calls vijfenzestig puts zijn verhandeld. De versie op basis van open interest gebruikt het aantal uitstaande contracten in plaats van het aantal verhandelde contracten en beantwoordt een andere vraag.

Is een put/call ratio boven de 1 hoog?

Dat hangt af van de categorie. Voor de mandjes met individuele aandelen in de bovenstaande panelen ligt het negentigste percentiel van de dagelijkse waarden op 0.76, waardoor prints boven dat niveau ongebruikelijk zijn. Voor brede markt-ETF's en indexopties, waar de nadruk bij het hedgen van portefeuilles op de put-zijde ligt, zijn waarden rond en boven de 1 gebruikelijk.

Wat is het verschil tussen de put/call ratio op basis van volume en die op basis van open interest?

Het volume telt de contracten die tijdens de sessie zijn verhandeld en wordt elke ochtend gereset. Open interest telt de contracten die openstaan en wordt van dag op dag meegenomen. De volumeversie kan binnen één sessie verdubbelen, terwijl de open interest-versie slechts enkele procenten verschuift; de twee wijzen op dezelfde dag daarom vaak in verschillende richtingen.

Welke put/call ratio citeert de financiële pers?

Meestal de Cboe equity put/call ratio of de totale put/call ratio, en dan vaker als een voortschrijdend gemiddelde over eenentwintig sessies dan als een ruwe dagelijkse print. De vier Cboe-categorieën opereren op verschillende niveaus, waardoor een geciteerd cijfer zonder categorie niet aan een benchmark kan worden getoetst.


Elk paneel op deze pagina wordt geleverd met de SQL die het heeft gegenereerd, zodat elk cijfer regel voor regel kan worden gecontroleerd. Om dezelfde berekening uit te voeren voor een andere naam of over een langere periode, kunt u hierom vragen in begrijpelijke taal op de Strasmore-terminal.

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