Put/call ratio aandelen versus index uitgelegd
Ontdek waarom put/call ratio's voor indices en individuele aandelen uiteenlopende normaalbereiken hebben. Leer hoe u deze cijfers correct vergelijkt voor een betere analyse.
Een hoge put/call ratio is geen enkelvoudig getal. Er worden er minstens drie gepubliceerd op basis van dezelfde optiedata. Eén telt enkel opties op individuele aandelen. Eén telt enkel indexproducten. De derde combineert beide. Elke ratio heeft een eigen normaalbereik; daarom kan een stand van 1,20 in de ene reeks een uitschieter zijn en in de andere een alledaagse sessie. Als de maatstaf zelf nieuw voor u is, behandelt wat de put/call ratio meet de basisprincipes.
Waarom ligt de put/call ratio van indices hoger dan die van individuele aandelen?
Kijk eerst naar wie de kopers zijn. Een index-put is het goedkoopste instrument om een volledig gediversifieerde portefeuille af te dekken. Een fonds met vierhonderd posities koopt niet vierhonderd afzonderlijke puts. Het koopt puts op de index, rolt deze door op de kalender en boekt de premie als kosten voor de hedge. Dat volume dient ter bescherming van aandelen die het fonds al bezit, en het komt tot stand ongeacht of de beheerder optimistisch is of niet.
Opties op individuele aandelen kennen een andere samenstelling. Een groot deel van het volume bestaat uit het kopen van calls op specifieke namen, terwijl het schrijven van covered calls aan de andere kant voor extra call-volume zorgt. Het kopen van puts op individuele aandelen komt voor, maar staat naast een veel grotere call-flow.
De formule kan deze stromen niet van elkaar onderscheiden. Deel een put-flow die zwaar leunt op hedging door een dunne call-flow, en het quotiënt komt uit rond of boven de 1,00. Deel een bescheiden put-flow door een dikke call-flow, en het quotiënt komt uit rond de 0,50. Eén formule, twee normale bandbreedtes.
Onderstaand overzicht telt het contractvolume over de afgelopen zestig handelsdagen voor acht bekende aandelen en vier breed gespreide ETF's, en deelt vervolgens het put-volume door het call-volume voor elke onderliggende waarde.
De exacte SQL achter elk getal
SELECT
underlying_symbol AS symbol,
if(underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA'),
'broad-market ETF',
'single stock') AS bucket,
round(sumIf(volume, startsWith(lower(option_type), 'p'))
/ sumIf(volume, startsWith(lower(option_type), 'c')), 2) AS put_call_ratio,
round(sumIf(volume, startsWith(lower(option_type), 'c')) / 1e6, 1) AS call_volume_millions,
round(sumIf(volume, startsWith(lower(option_type), 'p')) / 1e6, 1) AS put_volume_millions
FROM global_markets.options_greeks
WHERE date >= (SELECT toDate(max(date))
FROM global_markets.options_greeks
WHERE volume > 0) - 60
AND volume > 0
AND underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'TSLA', 'JPM', 'KO', 'JNJ',
'SPY', 'QQQ', 'IWM', 'DIA')
GROUP BY symbol
HAVING sumIf(volume, startsWith(lower(option_type), 'c')) > 0
ORDER BY put_call_ratio ASCDe spread binnen de steekproef is groot. De laagste waarde is 0.43 voor MSFT, en de hoogste is 2.86 voor IWM, waarin over de betreffende periode 9.6 miljoen call-contracten werden verhandeld. De kolom bucket geeft aan welke rijen individuele aandelen betreffen en welke breed gespreide ETF's. Lees de ratio-kolom in samenhang hiermee.
Eén kanttekening voordat we verdergaan. Een gepubliceerde index-ratio maakt gebruik van opties op het indexniveau zelf, die bij expiratie in contanten worden afgewikkeld in plaats van in aandelen. Mini indexopties zijn de variant met een kleinere nominale waarde van dat contract. De overzichten hier gebruiken opties op breed gespreide ETF's als vervanger voor dezelfde hedging-flow per onderliggende waarde; dit is precies het punt waar dataleveranciers van mening verschillen.
Wat meet elke gepubliceerde ratio?
- Equity-only: opties op aandelen van individuele bedrijven, de single-name flow, in de meeste sessies met een overwicht aan calls.
- Index-only: opties op een indexniveau, cash settled, die het grootste deel van het volume voor portfolio-hedging voor hun rekening nemen.
- Totaal: elk contract in beide categorieën, put-volume afgezet tegen call-volume.
Alle drie meten zij het volume, wat betekent dat het gaat om contracten die tijdens de sessie van eigenaar wisselen in plaats van posities die daarna nog openstaan. Volume versus open interest maakt het onderscheid tussen deze twee concepten.
Is de totale put/call ratio een gemiddelde van de andere twee?
Nee. Het totaal is een gewogen mix, waarbij het call volume als wegingsfactor dient. Stel w voor het aandeel van de index-bucket in het totale call volume van beide buckets. Het totaal is gelijk aan de equity ratio plus w maal het verschil tussen de twee ratio's. Wanneer de index-bucket slechts een fractie van het call volume beslaat, ligt het totaal bijna op het niveau van de equity ratio. Wanneer deze bucket domineert, stijgt het totaal richting de index ratio.
Het volgende paneel bevriest beide componenten op hun gemeten niveaus van zestig sessies en laat w variëren van nul tot honderd procent.
De exacte SQL achter elk getal
WITH components AS
(
SELECT
round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA'))
/ sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')), 3) AS equity_ratio,
round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA'))
/ sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA')), 3) AS index_ratio
FROM global_markets.options_greeks
WHERE date >= (SELECT toDate(max(date))
FROM global_markets.options_greeks
WHERE volume > 0) - 60
AND volume > 0
AND underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'TSLA', 'JPM', 'KO', 'JNJ',
'SPY', 'QQQ', 'IWM', 'DIA')
HAVING sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
AND sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
)
SELECT
concat(toString(step * 10), '%') AS index_share_of_call_volume,
equity_ratio,
index_ratio,
round(equity_ratio + (index_ratio - equity_ratio) * (step / 10), 3) AS blended_total_ratio
FROM
(
SELECT
equity_ratio,
index_ratio,
arrayJoin(range(11)) AS step
FROM components
)
ORDER BY stepMet de componenten vastgezet op 0.562 en 1.396, bedraagt de mix 0.562 wanneer de index-bucket niets bijdraagt aan het call volume en 1.396 wanneer deze het volledige volume voor zijn rekening neemt. Bij een gelijke verdeling, met 50% van het call volume in de index-bucket, noteert het totaal 0.979. Geen van beide componenten veranderde over deze elf rijen. Alleen de mix veranderde.
Kan de totale ratio stijgen terwijl beide onderdelen dalen?
Dat kan, en dat is de valkuil van een enkel headline-cijfer. Hier is een hypothetisch paar sessies met ronde getallen, gekozen vanwege de rekenkundige eenvoud.
Dag één: in de aandelen-bucket worden 1.000.000 calls en 600.000 puts verhandeld, een ratio van 0,60. In de index-bucket worden 200.000 calls en 280.000 puts verhandeld, een ratio van 1,40. Het totaal is 880.000 puts tegenover 1.200.000 calls, oftewel 0,73.
Dag twee: beide ratio's dalen. Aandelen printen 0,55 op 600.000 calls en 330.000 puts. Index print 1,30 op 800.000 calls en 1.040.000 puts. Het totaal is 1.370.000 tegenover 1.400.000, oftewel 0,98.
Beide componenten daalden. Het totaal steeg met een kwart punt. Het enige andere dat veranderde, was het aandeel van het call-volume in de bucket met de hogere ratio, dat steeg van zeventien procent naar zevenenvijftig procent. Een lezer die alleen naar het totaal kijkt, zou een sprong in put-activiteit noteren die in geen van beide buckets heeft plaatsgevonden.
Dat aandeel is geen constante in live data. Het onderstaande overzicht volgt per sessie zowel de ratio's van beide buckets als het aandeel van de ETF-bucket in het call-volume.
De exacte SQL achter elk getal
SELECT
toString(date) AS session_date,
formatDateTime(date, '%b %e') AS session_label,
round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA'))
/ sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')), 2) AS equity_ratio,
round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA'))
/ sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA')), 2) AS index_style_ratio,
round(index_style_ratio - equity_ratio, 2) AS ratio_gap,
round(100 * sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA'))
/ sumIf(volume, startsWith(lower(option_type), 'c')), 1) AS etf_share_of_calls_pct
FROM global_markets.options_greeks
WHERE date >= (SELECT toDate(max(date))
FROM global_markets.options_greeks
WHERE volume > 0) - 45
AND volume > 0
AND underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'TSLA', 'JPM', 'KO', 'JNJ',
'SPY', 'QQQ', 'IWM', 'DIA')
GROUP BY date
HAVING sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
AND sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
ORDER BY dateOp Jun 29, de vroegste sessie in het overzicht, noteerde de single-stock bucket 0.5 tegenover 1.55 voor de ETF-bucket, een verschil van 1.05, waarbij 45.2 procent van het call-volume in de ETF-bucket zat. Op Aug 12 waren die kolommen 0.55, 1.34 en een verschil van 0.79, met het ETF-aandeel op 49.5 procent. De kolom met het verschil is positief aan beide uiteinden van de 32 weergegeven sessies, en de kolom met het aandeel beweegt daaronder.
Waarom rapporteren twee bronnen verschillende put/call-ratio's voor dezelfde dag?
Categorisering, waarbij ETF-opties het ambigue geval vormen. Een ETF is een beursgenoteerd effect, wat pleit voor de categorie aandelen. Het volgt echter ook een index, wat pleit voor de categorie indexproducten. Dataleveranciers lossen dit op verschillende manieren op: sommigen voegen ETF-opties toe aan de aandelenratio, anderen rapporteren exchange traded products als een aparte reeks, en weer anderen groeperen ze met indexproducten. Het label op de grafiek is in elk geval hetzelfde.
De omvang van die keuze is meetbaar. Het onderstaande overzicht berekent de ratio van één categorie twee keer over dezelfde sessies: één keer zonder ETF-opties en één keer inclusief ETF-opties.
De exacte SQL achter elk getal
SELECT
toString(date) AS session_date,
formatDateTime(date, '%b %e') AS session_label,
round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA'))
/ sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')), 2) AS equity_ratio_etfs_excluded,
round(sumIf(volume, startsWith(lower(option_type), 'p'))
/ sumIf(volume, startsWith(lower(option_type), 'c')), 2) AS equity_ratio_etfs_included
FROM global_markets.options_greeks
WHERE date >= (SELECT toDate(max(date))
FROM global_markets.options_greeks
WHERE volume > 0) - 30
AND volume > 0
AND underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'TSLA', 'JPM', 'KO', 'JNJ',
'SPY', 'QQQ', 'IWM', 'DIA')
GROUP BY date
HAVING sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
ORDER BY dateOp Aug 12, de laatste sessie in het overzicht, bedroeg het cijfer voor enkel individuele aandelen 0.55, terwijl de versie inclusief ETF-opties uitkwam op 0.94. Dezelfde dag, dezelfde tape, dezelfde woorden op de as. Een drempelwaarde die is gebaseerd op de reeks van de ene leverancier, is niet zomaar toepasbaar op die van een andere.
Wat geldt dan als een hoge put/call ratio?
De bruikbare regel is beperkt. Vergelijk een ratio uitsluitend met zijn eigen historie, afkomstig uit dezelfde bron en met dezelfde opzet. Een percentiel beantwoordt die vraag: waar bevindt de huidige stand zich binnen het afgelopen jaar van die specifieke reeks? Een vaste lijn op 1,00 volstaat niet, aangezien 1,00 een extreme print is in een aandelenreeks en een alledaagse waarde in een indexreeks.
Twee gewoonten houden de vergelijking zuiver. Lees de toelichting over de samenstelling voordat u een niveau citeert, zeker wat betreft de verwerking van ETF's. En bekijk de componenten naast het totaal, aangezien het totaal kan bewegen door de mix alleen. Of een hoge put/call ratio bullish is verdiept de interpretatie, en hoe de put/call ratio wordt berekend doorloopt de rekenkunde stap voor stap.
Datatoelichtingen en bucket-definities
De ETF-bucket bestaat uit SPY, QQQ, IWM en DIA. De bucket voor individuele aandelen bevat AAPL, MSFT, NVDA, AMZN, TSLA, JPM, KO en JNJ. Beide zijn steekproeven uit hun categorie en niet de gehele markt; de niveaus illustreren hier de verdeling zonder het headline-cijfer van een specifieke uitgever te kopiëren.
Elk panel sommeert het contractvolume voor de sessie, calls en puts afzonderlijk, en deelt deze vervolgens door elkaar. Er is geen weging op basis van dollarwaarde of premie.
Elk venster is verankerd aan de meest recente sessie met geregistreerd volume in plaats van aan de kalenderdag. De put- en callzijde worden gekoppeld op basis van de eerste letter van het contracttype, zodat een feed die P en C schrijft in plaats van put en call, nog steeds correct wordt ingedeeld.
Een contract telt mee zodra de sessie er volume voor heeft geregistreerd, inclusief deep out-of-the-money uitoefenprijzen. Ver gelegen uitoefenprijzen vertegenwoordigen een groot deel van het hedging-volume in puts; het weglaten daarvan zou de ETF-bucket onderwaarderen.
Opties op een indexniveau, cash settled en met Europese uitoefening, zijn een ander product dan ETF-opties. De panels per onderliggende waarde gebruiken ETF-opties als surrogaat voor de index-hedging flow, wat de hierboven genoemde vraag over indeling betreft.
De meest recente sessie of twee kunnen aan de voorzijde ontbreken terwijl de dagrecords worden verwerkt.
Veelgestelde vragen
Wat is een normale put/call ratio voor aandelenopties?
Opties op individuele aandelen noteren doorgaans onder de 1,00, waarbij het callvolume in de meeste sessies de boventoon voert. Van de twaalf namen in het bovenstaande overzicht over de afgelopen zestig sessies was de laagste waarde 0.43. Wat normaal is voor een specifieke reeks, wordt bepaald door de eigen historie van die reeks en niet door een gedeelde drempelwaarde.
Waarom ligt de put/call ratio voor indexopties meestal boven de 1?
Index-puts zijn de standaard hedge voor portefeuilles; deze aankopen worden volgens een vast schema gedaan door beheerders die de onderliggende aandelen reeds in bezit hebben. Het volume voor hedging komt terecht aan de put-zijde van dezelfde breuk die voor directionele handel wordt gebruikt, waardoor de reeks over de gehele historie op een hoger niveau ligt.
Welke put/call ratio tonen sentimentgrafieken doorgaans?
De meeste gepubliceerde grafieken tonen ofwel de totale reeks, ofwel de reeks die enkel aandelen bevat, waarbij het label op de as zelden aangeeft om welke het gaat. Controleer de toelichting bij de samenstelling voordat u een grafiek vergelijkt met een elders genoemde drempelwaarde, aangezien de reeksen op verschillende niveaus noteren.
Kan ik put/call ratio's van twee verschillende aanbieders vergelijken?
Niveaus zijn niet uitwisselbaar. Aanbieders verschillen in hun verwerking van ETF's en in de vraag welk volume van welke beurzen wordt meegeteld. Alleen de richting en de percentielrangschikking binnen de eigen reeks van een aanbieder zijn bruikbaar voor vergelijking.
Elk paneel hier wordt geleverd met de SQL-code waarmee het is gegenereerd, zodat elk van deze uitsplitsingen kan worden herbouwd met een ander universum of venster. Stel dezelfde vraag in begrijpelijk Engels op de Strasmore-terminal.