Activité inhabituelle sur les options : séance
L'activité inhabituelle sur les options classée sur toute la bande US : sous-jacents très au-dessus de leur moyenne 20 séances, calls contre puts.
L'activité inhabituelle sur les options désigne un sous-jacent qui échange bien plus de contrats d'options sur une séance que sa normale récente. Ce tableau la classe pour la dernière séance d'options terminée, Jul 20 : le volume total de contrats face à la moyenne du même sous-jacent sur les 20 séances précédentes. La bande d'options se règle derrière la bande actions, si bien que la séance nommée ici est la plus récente séance complète de nos données plutôt que celle d'aujourd'hui.
Une précision avant le tableau : ceci est un filtre de volume. La plupart des alertes d'activité inhabituelle sur les options publiées comparent le volume d'une journée à l'intérêt ouvert, le nombre de contrats encore en positions ouvertes après la clôture. La bande d'options que nous stockons porte des transactions, pas des positions, et il n'existe aucun champ d'intérêt ouvert nulle part dedans. Chaque ratio ci-dessous compare le volume d'un sous-jacent à son propre historique de volume. Volume d'options contre intérêt ouvert couvre ce à quoi répond chaque mesure.
Activité inhabituelle sur les options : la dernière séance terminée
Le SQL exact derrière chaque chiffre
WITH tape AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
sum(toFloat64(volume)) AS vol
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
GROUP BY d
),
ranked AS (
SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS raw_rn
FROM tape
),
cal AS (
SELECT d, vol, rn, sum(if(rn BETWEEN 2 AND 21, 1, 0)) OVER () AS baseline_sessions
FROM (
SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS rn
FROM ranked
WHERE vol >= 0.75 * (SELECT quantileExact(0.5)(vol) FROM ranked WHERE raw_rn > 1)
)
),
day_root AS (
SELECT substring(ticker, 3, length(ticker) - 17) AS root,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
sum(toFloat64(volume)) AS vol
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
GROUP BY root, d
),
scored AS (
SELECT r.root AS root,
sumIf(r.vol, c.rn = 1) AS last_vol,
avgIf(r.vol, c.rn BETWEEN 2 AND 21) AS base_vol,
maxIf(r.vol, c.rn BETWEEN 2 AND 21) AS prior_high,
countIf(c.rn BETWEEN 2 AND 21) AS root_sessions,
max(c.baseline_sessions) AS baseline_session_count,
maxIf(toYYYYMMDD(c.d), c.rn = 1) AS session_id,
maxIf(formatDateTime(c.d, '%b %e'), c.rn = 1) AS session_label
FROM day_root r INNER JOIN cal c ON r.d = c.d
WHERE c.rn <= 21
AND r.root NOT IN ('SPCX')
AND r.root NOT IN ('KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
GROUP BY r.root
HAVING last_vol >= 25000 AND base_vol >= 5000 AND root_sessions >= 18
)
SELECT root AS ticker,
round(last_vol / base_vol, 1) AS vol_ratio,
round(last_vol / 1000, 1) AS session_volume_k,
round(base_vol / 1000, 1) AS baseline_volume_k,
round(prior_high / 1000, 1) AS prior_high_volume_k,
session_label,
session_id,
baseline_session_count
FROM scored
ORDER BY vol_ratio DESC, ticker ASC
LIMIT 10Trois colonnes portent la lecture. Le ratio dit à quel point le sous-jacent a échangé au-dessus de sa propre normale. La référence dit ce qu'était cette normale, et un multiple élevé sur une chaîne peu fournie est un événement plus modeste qu'un multiple modeste sur une chaîne active. Le plus haut sur 20 séances dit si la séance a dépassé tout ce qui s'est vu le mois précédent. Les trois dernières colonnes forment la piste d'audit : la séance dont le tableau est construit, imprimée en libellé et en simple nombre, plus le compte de séances éligibles derrière la référence, qui doit atteindre 20 pour que la page se publie.
ACHR domine le tableau à 5.5x sa propre moyenne : 173.7 mille contrats contre une référence de 31.6 mille, avec un plus haut sur 20 séances de 80.2 mille.
- AR à 5.5x : 33.5 mille contrats contre une référence de 6.1 mille.
- XLY à 5.2x, 45.1 mille contrats sur une référence de 8.7 mille.
- ONON à 4.6x, 31.4 mille contrats contre un plus haut sur 20 séances de 13.6 mille.
- AMC à 4x sur 387.6 mille contrats.
La dernière ligne du tableau, REPL, a tout de même échangé 3.1x sa propre moyenne. Le multiple et la taille sont des lectures distinctes, ce qui explique pourquoi les deux figurent sur le tableau. La version marché actions de la même idée se trouve sur actions à volume inhabituel cette semaine, et l'arithmétique elle-même est détaillée dans le volume relatif.
Calls ou puts : de quel côté penche la bande
La répartition entre volume de calls et de puts est le cœur de ce qu'une alerte pointe vraiment. Même tableau, même séance, trié par part de calls :
Le SQL exact derrière chaque chiffre
WITH tape AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
sum(toFloat64(volume)) AS vol
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
GROUP BY d
),
ranked AS (
SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS raw_rn
FROM tape
),
cal AS (
SELECT d, vol, rn, sum(if(rn BETWEEN 2 AND 21, 1, 0)) OVER () AS baseline_sessions
FROM (
SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS rn
FROM ranked
WHERE vol >= 0.75 * (SELECT quantileExact(0.5)(vol) FROM ranked WHERE raw_rn > 1)
)
),
day_root AS (
SELECT substring(ticker, 3, length(ticker) - 17) AS root,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
sum(toFloat64(volume)) AS vol,
sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C') AS calls,
sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P') AS puts
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
GROUP BY root, d
),
scored AS (
SELECT r.root AS root,
round(sumIf(r.vol, c.rn = 1) / avgIf(r.vol, c.rn BETWEEN 2 AND 21), 1) AS vol_ratio,
sumIf(r.calls, c.rn = 1) AS calls,
sumIf(r.puts, c.rn = 1) AS puts,
maxIf(toYYYYMMDD(c.d), c.rn = 1) AS session_id
FROM day_root r INNER JOIN cal c ON r.d = c.d
WHERE c.rn <= 21
AND r.root NOT IN ('SPCX')
AND r.root NOT IN ('KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
GROUP BY r.root
HAVING sumIf(r.vol, c.rn = 1) >= 25000
AND avgIf(r.vol, c.rn BETWEEN 2 AND 21) >= 5000
AND countIf(c.rn BETWEEN 2 AND 21) >= 18
),
board AS (
SELECT root, vol_ratio, calls, puts, session_id
FROM scored
ORDER BY vol_ratio DESC, root ASC
LIMIT 10
)
SELECT root AS ticker,
round(calls / 1000, 1) AS call_volume_k,
round(puts / 1000, 1) AS put_volume_k,
round(100.0 * calls / (calls + puts), 0) AS call_share_pct,
session_id
FROM board
WHERE calls + puts > 0
ORDER BY call_share_pct DESC, ticker ASCÀ l'extrémité la plus orientée calls, ONON a mis 96 % de ses contrats en calls : 30 mille calls contre 1.4 mille puts. À l'autre bout du même tableau, XLY a fait tourner 7 % de calls, 3.4 mille contre 41.7 mille puts.
Cette répartition mérite d'être lue et se prête facilement à une sur-lecture. Chaque contrat imprimé a un acheteur et un vendeur, et la bande n'enregistre pas quel côté a pris l'initiative. Un gros volume de calls peut être une position longue directe ou un call couvert écrit contre des actions que le vendeur détient déjà. Acheter et vendre des options d'achat détaille ce que chaque côté de cette transaction prend à sa charge. Là où la bande est bruyante, les prix des options le sont généralement aussi, ce qui est le sujet du tableau des IV les plus élevées.
De quoi étaient faits les contrats de la séance
Le SQL exact derrière chaque chiffre
WITH tape AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
sum(toFloat64(volume)) AS vol
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
GROUP BY d
),
ranked AS (
SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS raw_rn
FROM tape
),
cal AS (
SELECT d, vol, rn, sum(if(rn BETWEEN 2 AND 21, 1, 0)) OVER () AS baseline_sessions
FROM (
SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS rn
FROM ranked
WHERE vol >= 0.75 * (SELECT quantileExact(0.5)(vol) FROM ranked WHERE raw_rn > 1)
)
),
bars AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
toFloat64(volume) AS v,
toDate(concat('20', substring(ticker, length(ticker) - 14, 2), '-',
substring(ticker, length(ticker) - 12, 2), '-',
substring(ticker, length(ticker) - 10, 2))) AS expiry
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime(today() - 12, 'America/New_York')
AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM cal WHERE rn = 1)
),
scored AS (
SELECT multiIf(expiry - d <= 0, 1, expiry - d <= 7, 2, expiry - d <= 30, 3,
expiry - d <= 90, 4, expiry - d <= 365, 5, 6) AS bk,
v, d
FROM bars
)
SELECT arrayElement(['same day', '1 to 7 days', '8 to 30 days', '31 to 90 days', '91 to 365 days', 'over a year'], bk) AS dte_bucket,
round(sum(v) / 1e6, 2) AS contracts_m,
round(100.0 * sum(v) / sum(sum(v)) OVER (), 1) AS pct_of_volume,
toYYYYMMDD(max(d)) AS session_id
FROM scored
GROUP BY bk
ORDER BY bk ASCLes échéances du jour même ont pris 40.4 % de la séance entière, 25.65 millions de contrats. 24.9 % de plus expiraient dans la semaine. À l'autre bout, les contrats à plus d'un an ont pris 1.1 %.
Ce mélange change la façon de lire un titre d'activité inhabituelle. L'essentiel du volume derrière un tableau comme celui-ci est à courte échéance, et un contrat à échéance du jour même se règle à la cloche de clôture plutôt que d'être porté. Les options 0DTE couvrent cette extrémité de la chaîne.
Était-ce une séance d'expiration ?
Le volume d'options grimpe sur l'ensemble du marché lors de l'expiration mensuelle, quand le plus gros bloc de contrats cotés sort du marché d'un coup. Un filtre fondé sur un ratio exécuté un jour d'expiration signale la moitié du marché, si bien que le panneau ci-dessous étiquette chaque séance de la fenêtre.
Le SQL exact derrière chaque chiffre
WITH tape AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
sum(toFloat64(volume)) AS vol
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
GROUP BY d
),
ranked AS (
SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS raw_rn
FROM tape
),
cal AS (
SELECT d, vol, rn, sum(if(rn BETWEEN 2 AND 21, 1, 0)) OVER () AS baseline_sessions
FROM (
SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS rn
FROM ranked
WHERE vol >= 0.75 * (SELECT quantileExact(0.5)(vol) FROM ranked WHERE raw_rn > 1)
)
),
w AS (
SELECT d, vol,
toStartOfMonth(d) + toIntervalDay(((5 - toDayOfWeek(toStartOfMonth(d)) + 7) % 7) + 14) AS third_friday
FROM cal
WHERE rn <= 25
),
marked AS (
SELECT d, vol,
(d = max(if(d <= third_friday, d, toDate('1970-01-01'))) OVER (PARTITION BY toStartOfMonth(d)))
AND (third_friday <= max(d) OVER ()) AS is_expiry
FROM w
),
latest AS (
SELECT d, vol, is_expiry,
max(if(is_expiry, d, toDate('1970-01-01'))) OVER () AS last_expiry_d
FROM marked
)
SELECT formatDateTime(d, '%b %e') AS session,
round(vol / 1e6, 1) AS contracts_m,
multiIf(is_expiry, 'monthly expiration', 'ordinary') AS session_type,
round(max(if(d = last_expiry_d, vol, 0)) OVER () / 1e6, 1) AS monthly_expiry_m,
toYYYYMMDD(d) AS session_id
FROM latest
ORDER BY d ASCLa séance la plus récente de ce panneau est celle que rapporte le tableau, la même date dans les deux tableaux, et son étiquette indique ordinary. Elle a imprimé 63.5 millions de contrats sur l'ensemble de la bande américaine. La plus récente expiration mensuelle à l'intérieur de la même fenêtre a imprimé 76.8 millions. La référence sur 20 séances derrière chaque ratio du tableau contient normalement exactement une expiration mensuelle, si bien que le dénominateur porte la même bosse de séance en séance.
L'activité inhabituelle sur les options anticipe-t-elle le mouvement de l'action ?
La question qui mérite une réponse est de savoir si une lourde séance d'options est suivie d'un mouvement important du sous-jacent. Mesuré sur les 200 derniers jours : chaque paire nom-séance franchissant les mêmes planchers de volume, répartie en tranches selon son ratio, comparée à la variation absolue de la clôture du sous-jacent à la séance suivante. La colonne « typique » est la variation quotidienne médiane propre à chaque nom sur la fenêtre, si bien que chaque tranche est comparée à elle-même.
Le SQL exact derrière chaque chiffre
WITH daily AS (
SELECT underlying_symbol AS sym,
date AS d,
sum(volume) AS vol,
max(underlying_close) AS px
FROM global_markets.options_greeks
WHERE date >= today() - 200
AND underlying_close > 0
AND underlying_symbol NOT IN ('SPCX')
AND underlying_symbol NOT IN ('KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
AND underlying_symbol NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 230 AND today())
GROUP BY sym, d
),
seq AS (
SELECT sym, d, vol, px,
avg(vol) OVER (PARTITION BY sym ORDER BY d ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS base,
count() OVER (PARTITION BY sym ORDER BY d ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS base_n,
any(px) OVER (PARTITION BY sym ORDER BY d ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) AS next_px,
any(px) OVER (PARTITION BY sym ORDER BY d ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prev_px
FROM daily
),
moves AS (
SELECT sym, vol, base, base_n,
if(next_px > 0, 100 * abs(next_px / px - 1), -1) AS next_abs,
if(next_px > 0, 100 * (next_px / px - 1), -999) AS next_signed,
if(prev_px > 0, 100 * abs(px / prev_px - 1), -1) AS own_abs
FROM seq
),
typical AS (
SELECT sym, quantileExact(0.5)(own_abs) AS typ
FROM moves
WHERE own_abs >= 0
GROUP BY sym
)
SELECT arrayElement(['5x or more', '3x to 5x', '2x to 3x', '1x to 2x', 'below 1x'], bk) AS rvol_bucket,
count() AS event_count,
round(quantileExact(0.5)(next_abs), 2) AS median_next_move_pct,
round(quantileExact(0.5)(typ), 2) AS median_typical_move_pct,
round(quantileExact(0.5)(next_abs) - quantileExact(0.5)(typ), 2) AS gap_pp,
round(quantileExact(0.5)(next_signed), 2) AS median_next_signed_pct
FROM (
SELECT m.sym AS sym,
multiIf(m.vol / m.base >= 5, 1, m.vol / m.base >= 3, 2, m.vol / m.base >= 2, 3,
m.vol / m.base >= 1, 4, 5) AS bk,
m.next_abs AS next_abs,
m.next_signed AS next_signed,
t.typ AS typ
FROM moves m INNER JOIN typical t ON m.sym = t.sym
WHERE m.base_n = 20 AND m.base >= 5000 AND m.vol >= 25000 AND m.next_abs >= 0
)
GROUP BY bk
ORDER BY bk ASCÀ la suite d'une séance à cinq fois sa propre référence ou plus, la variation absolue médiane à la séance suivante était de 2.61 %, contre 1.98 % pour ces mêmes noms un jour ordinaire, un écart de 0.63 points de pourcentage. À l'extrémité calme du tableau, les deux colonnes affichent 1.89 % et 2.11 %, un écart de -0.22 points.
La réponse honnête est modeste, et elle porte sur l'ampleur plutôt que sur la direction. Les séances d'options plus lourdes sont suivies de mouvements légèrement plus grands en valeur absolue, et l'écart à la médiane représente une fraction de point de pourcentage. La variation signée médiane à la séance suivant un jour à cinq fois la référence était de -0.35 %, et après un jour sous la référence de -0.06 %. Ni l'une ni l'autre n'est le mouvement qu'un titre d'alerte laisse entendre. La rareté mérite aussi d'être gardée en vue : 638 paires nom-séance ont franchi cinq fois leur propre référence sur toute la fenêtre d'étude, contre 11466 qui ont échangé en dessous.
Comment ce filtre est mesuré
Un filtre aux règles cachées se lit comme une donnée et n'est en réalité qu'une opinion, alors voici chaque règle.
- Source. L'intégralité de la bande d'options américaine à la minute. Le sous-jacent est extrait du symbole OCC de chaque contrat, si bien que les racines d'options sur indice et les échéances du jour même sont toutes deux incluses aux côtés des chaînes ordinaires d'actions et de fonds.
- Le ratio. Le volume total de contrats de la dernière séance terminée, divisé par la moyenne du même sous-jacent sur les 20 séances éligibles précédentes. Au moins 18 de ces 20 doivent porter du volume. Le tableau imprime la longueur de la fenêtre dans une colonne qui lui est propre, et une fenêtre qui n'atteint pas 20 retient la page plutôt que de publier une moyenne plus courte sous une étiquette de 20 séances.
- Planchers. 25 000 contrats sur la séance et une référence de 5 000 contrats. Sans eux, le tableau se remplit de chaînes où un seul ordre produit une lecture à 10x.
- Éligibilité des séances. Chaque panneau de cette page lit ses séances dans une même fenêtre de 45 jours de la même bande, sous une seule règle : une séance compte dès que son volume à l'échelle du marché atteint 75 % de la médiane des séances plus anciennes de cette fenêtre. Le jour le plus récent est exclu de la médiane qu'il doit franchir, si bien qu'une journée partiellement chargée ne peut pas tirer sa propre barre vers le bas pour l'atteindre. La bande arrive par morceaux sur le front le plus récent, et une journée portant moins des trois quarts d'une séance normale reste hors du tableau jusqu'à ce qu'elle se remplisse. Chaque panneau imprime la séance sur laquelle il s'est arrêté, si bien que les quatre peuvent être lus les uns contre les autres.
- Exclusions. Les fonds à effet de levier et inverses sont retirés par nom : la chaîne d'un produit 3x bouge avec son multiplicateur et encombrerait la liste chaque semaine. Un symbole de ticker réutilisé est également exclu, puisque l'historique du fournisseur associe deux entreprises sous ce symbole.
- Aucun intérêt ouvert. Il n'existe aucun champ d'intérêt ouvert dans l'entrepôt de données, si bien que rien sur cette page ne compare le volume à des positions encore ouvertes. Là où le filtre d'un concurrent dit que le volume a dépassé l'intérêt ouvert, le nôtre dit que le volume a dépassé sa propre moyenne sur 20 séances.
- Jours d'expiration. L'expiration mensuelle relève le volume d'options sur l'ensemble du marché. Le panneau des séances étiquette cette condition, et un tableau construit sur une séance d'expiration doit être lu face à d'autres séances d'expiration.
L'étude de suivi utilise une seconde table, le fichier quotidien des greeks d'options, qui porte un symbole de sous-jacent propre et la clôture du sous-jacent. Il exclut les échéances du jour même et les options sur indice, et se règle quelques séances plus tard que la bande à la minute, si bien que son univers est plus étroit que celui du tableau. Les noms ayant subi un split d'actions à l'intérieur de la fenêtre d'étude sont retirés, puisqu'un split simule un mouvement énorme.
FAQ
Qu'est-ce que l'activité inhabituelle sur les options ?
Un sous-jacent qui échange bien plus de contrats d'options en une séance que sa moyenne récente. Sur cette page, le seuil est arithmétique plutôt qu'éditorial : le volume de contrats de la séance divisé par la moyenne du même sous-jacent sur les 20 séances précédentes, avec un plancher de 25 000 contrats sur la séance et de 5 000 sur la référence.
L'activité inhabituelle sur les options prédit-elle les mouvements du cours ?
Faiblement, et pas dans une direction précise. Sur les 200 derniers jours de nos données, les séances à cinq fois la référence de volume d'options propre à un sous-jacent ont été suivies d'un mouvement absolu médian de 2.61 %, contre 1.98 % pour les mêmes noms un jour ordinaire. La variation signée médiane à cette séance suivante était de -0.35 %, si bien que le volume disait quelque chose sur l'ampleur du mouvement de l'action et très peu sur sa direction.
À quelle heure les données de volume d'options sont-elles mises à jour ?
Le volume de contrats s'imprime en direct sur la bande consolidée des options pendant que la séance se déroule. La bande stockée derrière cette page se règle avec un délai, si bien que le tableau rapporte la plus récente séance complète plutôt qu'une séance en cours, et en tamponne la date. Rien ici n'est un flux en temps réel.
Pourquoi ce scanner d'activité inhabituelle sur les options n'utilise-t-il pas l'intérêt ouvert ?
L'intérêt ouvert est publié par la chambre de compensation après la clôture, et il n'existe aucun champ d'intérêt ouvert dans les données que nous détenons. Comparer le volume d'une séance à l'historique de volume propre au même sous-jacent est directement mesurable depuis la bande, et cela répond à une question voisine : cette chaîne est-elle plus active que d'habitude.
Chaque chiffre ci-dessus est une requête stockée et versionnée. Ouvrez le SQL sous n'importe quel panneau pour auditer la mesure, ou lancez le même filtre sur la fenêtre de votre choix sur le terminal Strasmore.