Pourquoi le short interest est toujours obsolète
Comprendre le décalage de publication des données de la FINRA, le cycle de reporting et l'impact sur le calcul du days to cover pour vos analyses.
Les données sur le short interest sont structurellement obsolètes car elles ne constituent pas un flux en temps réel. Les courtiers effectuent un snapshot des actions détenues à découvert sur leurs comptes aux dates de settlement fixées par la FINRA — deux fois par mois, à la mi-mois et à la fin du mois. Ils transmettent ensuite ces totaux à la FINRA, qui compile les rapports de chaque société membre et publie l'agrégat environ huit jours ouvrés plus tard. En ajoutant le délai de transmission entre le fournisseur et la base de données, le chiffre de short interest le plus récent disponible décrit une position établie une à quatre semaines auparavant. Cette page mesure cet écart au lieu de l'affirmer.
Comment se produit réellement le décalage de reporting
Le cycle comprend quatre étapes, chacune ajoutant plusieurs jours.
- La date de règlement (settlement date). La FINRA publie un calendrier des dates de règlement — une en milieu de mois, une en fin de mois. À chaque échéance, chaque broker-dealer enregistre les positions courtes détenues sur les comptes de ses clients et de sa propre firme. Il s'agit de dates de règlement et non de dates de transaction : avec un règlement en T+1, une transaction conclue le lundi se règle le mardi ; les positions comptabilisées lors d'une date de règlement sont donc celles dont les transactions ont été compensées avant cette date.
- L'échéance de reporting. Chaque firme membre transmet ses totaux de positions courtes par titre à la FINRA dans les deux jours ouvrés suivants. Rien n'est public à ce stade ; il s'agit d'un dépôt réglementaire et non d'un flux de données de marché.
- Compilation. La FINRA additionne des milliers de rapports par firme pour chaque titre et assemble un fichier unique : un chiffre unique par titre et par date de règlement — sans historique intraday, sans détail par plateforme, ni ventilation par firme.
- Diffusion. Le fichier est rendu public environ huit jours ouvrés après la date de règlement concernée. Les fournisseurs de données l'extraient ensuite, les bourses le republient, et les bases de données comme celle de cette page l'intègrent.
Personne ne retient délibérément ces chiffres. Le délai est la somme de la période de collecte, de la période de compilation et de l'étape de distribution — chaque étape est un processus par lots (batch process) basé sur un calendrier, et non un flux continu.
Quel est le délai de latence, exprimé en jours ?
Voici chaque date de règlement reçue par cet entrepôt sous forme de livraison incrémentale — la date de règlement d'un côté, et le jour de l'apparition de la ligne ici de l'autre.
Le SQL exact derrière chaque chiffre
WITH first_arrival AS (
SELECT settlement_date,
toDate(min(_ingest_time)) AS arrived
FROM global_markets.stocks_short_interest
GROUP BY settlement_date
),
bulk_days AS (
SELECT arrived
FROM first_arrival
GROUP BY arrived
HAVING count() > 5
)
SELECT settlement_date,
toString(arrived) AS arrived_here,
dateDiff('day', settlement_date, arrived) AS publication_lag_days
FROM first_arrival
WHERE arrived NOT IN (SELECT arrived FROM bulk_days)
ORDER BY settlement_dateLe règlement le plus récent en base, 2026-06-30, est arrivé ici le 2026-07-11 — soit 11 jours après l'enregistrement des positions qu'il décrit. Le précédent a nécessité 16 jours. Sur l'ensemble de la série, la latence forme une bande et non une constante :
Le SQL exact derrière chaque chiffre
WITH first_arrival AS (
SELECT settlement_date,
toDate(min(_ingest_time)) AS arrived
FROM global_markets.stocks_short_interest
GROUP BY settlement_date
),
bulk_days AS (
SELECT arrived
FROM first_arrival
GROUP BY arrived
HAVING count() > 5
),
organic AS (
SELECT settlement_date,
dateDiff('day', settlement_date, arrived) AS lag
FROM first_arrival
WHERE arrived NOT IN (SELECT arrived FROM bulk_days)
)
SELECT count() AS settlements_measured,
min(lag) AS fastest_lag_days,
round(quantileDeterministic(0.5)(lag, cityHash64(settlement_date)), 1) AS median_lag_days,
max(lag) AS slowest_lag_days,
(SELECT count() FROM first_arrival WHERE arrived IN (SELECT arrived FROM bulk_days)) AS settlements_bulk_loaded,
(SELECT toString(max(arrived)) FROM bulk_days) AS bulk_load_date
FROM organicSur 8 règlements livrés de manière incrémentale, le délai le plus court était de 10 jours après la date de règlement et le plus long de 26 jours ; la médiane est de 14 jours — ce sont les "deux semaines" mentionnées dans le titre, mesurées et non supposées.
Notez ce que ces requêtes excluent. L'historique d'un entrepôt n'est pas un registre de la vitesse de publication : le 2026-03-16, cette base de données a chargé 197 règlements simultanément, lors d'un seul backfill de l'archive. Les horodatages d'ingestion sur ces lignes datent le backfill et non la divulgation ; tout "lag" calculé à partir de ceux-ci est un artefact lié à notre calendrier de chargement. Seuls les règlements arrivés un par un, après la mise en place de l'archive, mesurent le flux réel — ce sont les lignes présentées ci-dessus.
État actuel du cycle
Le décalage est plus visible dans l'écart lui-même : à tout moment, une date de règlement est déjà passée mais n'a pas encore été publiée. Ce panneau affiche les données en temps réel.
Le SQL exact derrière chaque chiffre
WITH (SELECT max(settlement_date) FROM global_markets.stocks_short_interest) AS latest
SELECT toString(latest) AS latest_settlement_on_file,
(SELECT count() FROM global_markets.stocks_short_interest
WHERE settlement_date = latest) AS securities_in_that_print,
(SELECT dateDiff('day', latest, toDate(min(_ingest_time))) FROM global_markets.stocks_short_interest
WHERE settlement_date = latest) AS its_publication_lag_days,
(SELECT count() FROM global_markets.stocks_short_interest
WHERE settlement_date > latest AND settlement_date <= latest + 16) AS next_settlement_rows_on_file,
(SELECT count(DISTINCT date) FROM global_markets.stocks_short_volume
WHERE date > latest) AS daily_short_volume_files_since,
(SELECT dateDiff('day', latest, max(date)) FROM global_markets.stocks_short_volume) AS days_from_settlement_to_newest_daily_fileLa dernière publication du short interest disponible correspond au règlement 2026-06-30, couvrant 22207 titres et livrés 11 jours après l'échéance. Le prochain règlement du cycle affiche 0 lignes : il n'a pas encore été publié, ce qui est normal compte tenu des délais mesurés précédemment. Cette colonne est volontairement bloquée à zéro. Dès que la donnée est publiée, le seuil est franchi et cette page est mise en attente pour mise à jour afin d'éviter d'afficher des données obsolètes — le même mécanisme que celui utilisé dans le récapitulatif de juin, avec un cycle de retard.
Parallèlement, le fichier quotidien du short-volume a été publié 12 fois depuis cette date de règlement ; sa donnée la plus récente a 17 jours de plus que le dernier snapshot du short interest. Deux jeux de données FINRA, deux horloges différentes.
Les mouvements durant la période de latence
Le décalage n'est pertinent que si les prix évoluent durant cette période. C'est le cas. Ce tableau compare la dernière clôture de règlement (settlement) avec la clôture en séance régulière de chaque titre à la date du règlement, puis avec sa clôture le jour de la réception effective du fichier.
Le SQL exact derrière chaque chiffre
WITH latest AS (SELECT max(settlement_date) AS d FROM global_markets.stocks_short_interest),
arrived AS (
SELECT toDate(min(_ingest_time)) AS a
FROM global_markets.stocks_short_interest
WHERE settlement_date = (SELECT d FROM latest)
),
daily AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS session,
argMax(toFloat64(close), window_start) AS rth_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'TSLA', 'NVDA', 'GME', 'MU')
AND toDate(toTimeZone(window_start, 'America/New_York')) >= (SELECT d FROM latest)
AND toDate(toTimeZone(window_start, 'America/New_York')) <= (SELECT a FROM arrived)
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York')) BETWEEN 570 AND 959
GROUP BY ticker, session
)
SELECT si.ticker AS ticker,
round(si.short_interest / 1e6, 1) AS shares_short_m,
round(argMin(d.rth_close, d.session), 2) AS close_at_settlement,
round(argMax(d.rth_close, d.session), 2) AS close_when_published,
round((argMax(d.rth_close, d.session) / argMin(d.rth_close, d.session) - 1) * 100, 1) AS move_while_pending_pct,
count() AS sessions_in_window
FROM global_markets.stocks_short_interest AS si
INNER JOIN daily AS d ON d.ticker = si.ticker
WHERE si.settlement_date = (SELECT d FROM latest)
GROUP BY si.ticker, si.short_interest
ORDER BY abs(move_while_pending_pct) DESC, si.ticker ASCLa période couvre 8 séances de trading. Le titre ayant connu la plus forte variation parmi les cinq est MU, passant de 1151.01 $ à la clôture du règlement à 978.69 $ le jour de la publication de son short interest — soit une variation de -15% sur une période où la position courte divulguée était, par définition, figée à 31.7 millions d'actions. La variation la plus faible, GME, s'élève tout de même à -1.9%.
C'est la réalité concrète de ce décalage. Tout titre de presse annonçant le « short interest de X » décrit la position lors du dernier settlement — tout ce qui figure dans la fenêtre ci-dessus est invisible pour ces données. Les vendeurs à découvert ont pu racheter leurs positions lors d'une hausse ou renforcer leurs positions lors d'une baisse ; le chiffre ne peut pas le préciser, et ne le fera pas avant la prochaine publication.
Days to cover, calculés avec un numérateur obsolète
Days to cover — le nombre d'actions courtes divisé par le volume quotidien moyen — est le ratio le plus utilisé par les lecteurs. Ce ratio est doublement obsolète : le numérateur est fixé à la date de règlement, et le dénominateur (le volume) est calculé par le fichier depuis plusieurs semaines. Le cas de GameStop est le plus explicite, car c'est à la fois une valeur connue du grand public et l'un des tickers liquides les plus suivis.
Le SQL exact derrière chaque chiffre
WITH latest AS (SELECT max(settlement_date) AS d FROM global_markets.stocks_short_interest),
arrived AS (
SELECT toDate(min(_ingest_time)) AS a
FROM global_markets.stocks_short_interest
WHERE settlement_date = (SELECT d FROM latest)
),
tape AS (
SELECT count(DISTINCT toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
sum(toFloat64(volume)) AS shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'GME'
AND toDate(toTimeZone(window_start, 'America/New_York')) > (SELECT d FROM latest)
AND toDate(toTimeZone(window_start, 'America/New_York')) <= (SELECT a FROM arrived)
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York')) BETWEEN 570 AND 959
)
SELECT toString((SELECT d FROM latest)) AS settlement,
round(si.short_interest / 1e6, 1) AS shares_short_m,
round(si.avg_daily_volume / 1e6, 2) AS file_adv_m,
round(si.days_to_cover, 2) AS reported_days_to_cover,
round(tape.shares / tape.sessions / 1e6, 2) AS tape_adv_since_settlement_m,
round(si.short_interest / (tape.shares / tape.sessions), 2) AS days_to_cover_on_recent_volume,
round(abs(si.short_interest / (tape.shares / tape.sessions) - si.days_to_cover), 2) AS days_of_difference,
tape.sessions AS sessions_measured
FROM global_markets.stocks_short_interest AS si, tape
WHERE si.ticker = 'GME'
AND si.settlement_date = (SELECT d FROM latest)Lisez la ligne de gauche à droite. Au règlement du 2026-06-30, GameStop affichait 55.9 millions d'actions courtes. Le fichier associe ce chiffre à un volume quotidien moyen de 5.2 millions d'actions et indique 10.75 days to cover — le chiffre affiché par un screener.
Remplacez maintenant le dénominateur par la réalité. Durant les 7 sessions régulières échangées pendant que l'édition était en cours, GameStop a enregistré une moyenne de 3.09 millions d'actions par jour sur le tape consolidé. La même position courte avec ce volume correspond à 18.08 jours — soit 7.33 jours de moins que le ratio publié, le numérateur restant identique. Seule l'hypothèse de volume a changé. Considérez le days to cover comme un ratio daté construit à partir de deux données obsolètes, et non comme une mesure en temps réel du délai nécessaire pour une sortie de position.
Short squeezes : l'impact réel du décalage temporel
La raison pour laquelle cette question est posée est le squeeze. Dans un squeeze, l'enjeu réside dans la position short — et il s'agit précisément de la donnée que personne ne peut consulter en temps réel. Le cas GameStop début 2021 est l'exemple type. Les colonnes ci-dessous indiquent la clôture de la séance régulière pour chaque règlement, ainsi que la clôture huit séances de trading plus tard, correspondant à l'objectif de diffusion de la FINRA d'environ huit jours ouvrés.
Le SQL exact derrière chaque chiffre
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session,
argMax(toFloat64(close), window_start) AS cl
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'GME'
AND window_start >= toDateTime('2020-12-01 00:00:00')
AND window_start < toDateTime('2021-03-15 00:00:00')
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York')) BETWEEN 570 AND 959
GROUP BY session
),
ranked AS (
SELECT session, cl, row_number() OVER (ORDER BY session) AS n
FROM daily
)
SELECT toString(si.settlement_date) AS settlement,
round(si.short_interest / 1e6, 1) AS shares_short_m,
round(r0.cl, 2) AS close_at_settlement,
round(r8.cl, 2) AS close_8_sessions_later,
round((r8.cl / r0.cl - 1) * 100, 1) AS move_while_pending_pct
FROM global_markets.stocks_short_interest AS si
INNER JOIN ranked AS r0 ON r0.session = si.settlement_date
INNER JOIN ranked AS r8 ON r8.n = r0.n + 8
WHERE si.ticker = 'GME'
AND si.settlement_date >= toDate('2020-12-15')
AND si.settlement_date <= toDate('2021-02-26')
ORDER BY si.settlement_dateObservez le règlement 2021-01-15. Il affichait 61.8 millions d'actions en short avec un cours de $35.49. Huit séances plus tard — au moment où une telle donnée est rendue publique — GameStop clôturait à $197.44, soit une variation de 456.3%. Quiconque consultait ce short interest le jour de sa publication lisait la description d'un titre qui n'existait plus à ce prix.
La donnée suivante montre l'inversion du piège. Le règlement 2021-01-29 enregistrait 21.4 millions d'actions en short — la majeure partie de la position ayant été liquidée — avec un cours de $328.24. Huit séances plus tard, le titre atteignait $51.19, soit -84.4%. Le covering avait déjà eu lieu avant la publication du fichier officiel. Les deux phases du squeeze — l'accumulation de positions et le débouclage — ont été divulguées après coup.
Le cousin quotidien, et ce qu'il ne vous dit pas
La FINRA publie chaque matin le short volume : la part du volume quotidien rapporté comme étant des exécutions de ventes à découvert. Cette donnée est proche du temps réel, mais il s'agit d'une mesure différente. Le short volume comptabilise les flux de transactions — dont une grande partie provient de la couverture des market-makers qui est neutralisée à la clôture — et non les positions détenues. Un titre peut afficher un short volume élevé chaque jour pendant une semaine sans que son short interest n'évolue. La différence entre ces deux jeux de données est comparable à la différence entre le trafic sur une route et les voitures stationnées à son extrémité ; les deux fichiers sont décrits ici en détail.
Aux États-Unis, il n'existe pas de chiffre quotidien officiel pour le short interest. Les vendeurs proposent des estimations quotidiennes modélisées à partir des données de prêt de titres et des flux de transactions ; ce sont des modèles, pas des données publiées. Le chiffre officiel n'est publié que deux fois par mois, avec un délai important.
FAQ
Pourquoi les données sur le short interest ont-elles deux semaines de retard ?
Les courtiers effectuent un snapshot des positions courtes uniquement lors des deux dates de règlement mensuelles de la FINRA. Ils transmettent les totaux quelques jours ouvrés plus tard, et la FINRA diffuse le fichier compilé environ huit jours ouvrés après la date de règlement. Pour l'ensemble des livraisons reçues par cette base de données, le cycle complet a duré de 10 à 26 jours, avec une médiane de 14 jours.
Comment le short interest est-il calculé et déclaré par les courtiers ?
Chaque broker-dealer décompte les actions détenues à découvert dans les comptes de ses clients et de sa propre firme à la date de règlement. Il agrège ces données par titre et transmet le total à la FINRA. La FINRA additionne les rapports de toutes les sociétés membres pour obtenir un chiffre unique par titre — 22207 d'entre eux dans le print 2026-06-30. Il s'agit d'un décompte réglementaire des positions, et non d'un décompte des transactions.
Le cycle de reporting est-il différent pour les actions du NYSE, du Nasdaq ou de l'OTC ?
Non. Le même calendrier de règlement bi-mensuel et le même cycle de compilation et de diffusion s'appliquent à toutes les places boursières américaines. Les bourses republient les données à partir du fichier de la FINRA plutôt que de produire leur propre décompte. Le lieu de cotation d'une action ne modifie pas l'ancienneté de son short interest.
Quel est un bon ou un mauvais pourcentage de short interest ?
Il n'existe aucun seuil permettant de définir si une action est un bon ou un mauvais investissement, et une valeur élevée n'est pas une prévision. Les mesures de crowding décrivent uniquement l'importance d'une position courte par rapport au volume tradable du titre : le dernier print de GameStop affiche 10.75 jours de couverture (days to cover), contre un chiffre inférieur à 10 pour la plupart des titres liquides — consultez les leaders actuels du crowding pour voir la distribution.
Le retard de reporting est-il important pour les short squeezes ?
C'est là que le retard est le plus critique. Lors du règlement du 2021-01-15 pour GameStop, le titre a progressé de 456.3% entre la mesure et le huitième jour de séance approchant la publication — et lors du print 2021-01-29, la position courte était déjà tombée à 21.4 millions d'actions. Le crowding lié au squeeze n'est confirmé par les données publiques qu'après l'événement.
Chaque tableau ci-dessus est fourni avec le SQL qui l'a généré — vous pouvez l'étendre pour auditer les chiffres, ou consulter le calendrier des règlements sur le terminal Strasmore.