Strasmore Research
Market Recap

Bilan du marché de juin 2026

Matt ConnorBy Matt Connor Updated 2026-07-23

Juin 2026 a été un mois de divergence : les indices large-cap ont reculé tandis que les small caps ont progressé. Sous le niveau des indices, davantage de titres ont baissé que de titres ont progressé. Le SPY a terminé à $746.32, soit une variation de -1.2% sur le mois, alors que l'IWM — l'indice des small caps — a gagné 4.2%. L'autre fait marquant du mois : un fabricant de puces mémoire a généré $995.7 milliards de volume sur 21 sessions, soit plus que le SPY lui-même. Chaque chiffre présenté ici est le résultat d'une requête stockée ; développez n'importe quel panneau pour obtenir la requête SQL exacte.

Le bilan du mois

RequêteJuin 2026 : open to close, range et turnover en séance régulière pour les quatre ETF index
Le SQL exact derrière chaque chiffre
SELECT ticker,
    round(argMinIf(toFloat64(open), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_open,
    round(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_close,
    round((argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / argMinIf(toFloat64(open), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) - 1) * 100, 1) AS month_return_pct,
    round(maxIf(toFloat64(high), (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_high,
    round(minIf(toFloat64(low), (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_low,
    round(sumIf(toFloat64(close) * toFloat64(volume), (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / 1e9, 1) AS rth_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
  AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY ticker
ORDER BY ticker

Les chiffres sont sans appel : le DIA 2.4% et l'IWM 4.2% ont progressé, tandis que le SPY a reculé de -1.2% et le QQQ a terminé à -0.2% — l'indice growth des mega-caps est resté stable ou en baisse alors que les small caps ont gagné quatre pour cent au cours du même mois.

Juin par rapport aux cinq mois précédents

La baisse de juin était-elle inhabituelle ? Le panneau de suivi recalcule le même rendement mensuel pour chaque mois du semestre en une seule requête — les lignes de juin sont générées de la même manière que celles de janvier, en temps réel lors de la génération.

RequêteRendements mensuels, janvier à juin 2026, recalculés en live (SPY et QQQ)
Le SQL exact derrière chaque chiffre
SELECT toString(toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York')))) AS period_start, ticker,
    round((argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / argMinIf(toFloat64(open), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) - 1) * 100, 1) AS month_return_pct,
    round(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ')
  AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY period_start, ticker
ORDER BY period_start, ticker

Selon cet indicateur, juin était un mois ordinaire : le rendement de -1.2% du SPY se situe largement dans la fourchette du semestre — mars a chuté de -4.4% et avril a progressé de 9.9%. La caractéristique du mois était une rotation, et non une direction.

Juin face à tous les mois de juin passés

RequêteChaque mois de juin sur le tape : SPY, recalculé de la même manière par année (nombre de sessions affiché)
Le SQL exact derrière chaque chiffre
SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS y,
       uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
       round((argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100, 1) AS june_return_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY')
  AND window_start >= toDateTime('2003-01-01 00:00:00')
  AND window_start < toDateTime('2026-07-01 00:00:00')
  AND toMonth(toTimeZone(window_start, 'America/New_York')) = 6
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY y
HAVING sessions >= 17
ORDER BY y ASC
RequêteClassement : ce mois de juin par rapport à tous les précédents (rang 1 = meilleur ; auto-exclu)
Le SQL exact derrière chaque chiffre
SELECT round(anyIf(ret, y = 2026), 1) AS june_2026_pct,
       arrayCount(x -> x > anyIf(ret, y = 2026), groupArrayIf(ret, y != 2026)) + 1 AS rank_best,
       count() AS junes_compared,
       min(y) AS first_year,
       anyIf(sessions, y = 2026) AS sessions_2026
FROM (
    SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS y,
           uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
           (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS ret
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY')
      AND window_start >= toDateTime('2003-01-01 00:00:00')
      AND window_start < toDateTime('2026-07-01 00:00:00')
      AND toMonth(toTimeZone(window_start, 'America/New_York')) = 6
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY y
    HAVING sessions >= 17
)

Le -1.2% du SPY se classe au 15e rang sur 23 mois de juin depuis 2004 (le rang 1 étant le meilleur) — une position médiane, légèrement en dessous de la moyenne. Un mois de juin ordinaire, ce qui constitue un résultat probant : le mouvement de l'indice ne présente aucune particularité par rapport aux deux décennies de mois de juin précédentes. Ce qui est remarquable est la rotation sous-jacente — le panneau de breadth ci-dessous. Base : ouverture et clôture en séance régulière pour chaque mois de juin calendaire, calcul identique chaque année, limite supérieure fixée à la fin de ce mois afin que l'échantillon de comparaison ne s'élargisse pas de manière invisible.

Session par session

RequêteSPY, les 21 sessions de juin : clôture et variation close-over-close
Le SQL exact derrière chaque chiffre
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
    round(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS spy_close,
    round((argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / any(prev) - 1) * 100, 1) AS change_pct
FROM global_markets.delayed_stocks_minute_aggs
INNER JOIN (
    SELECT d, lagInFrame(c) OVER (ORDER BY d ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev
    FROM (
        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) AS c
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-05-29 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
        GROUP BY d
    )
) AS p ON toDate(toTimeZone(window_start, 'America/New_York')) = p.d
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY et_date
ORDER BY et_date

La baisse la plus marquée sur une seule séance est survenue tôt — -2.6% le 2026-06-05 — et le graphique illustre la tendance du mois : une dérive à la baisse jusqu'à la mi-juin, un support proche de 716.58 $ et une reprise partielle lors des dernières séances avant le tournant du trimestre. Pour le détail de la dernière semaine de cette reprise, session par session, consultez le récapitulatif hebdomadaire.

Largeur de marché : plus de baisses que de hausses

RequêteAdvancers vs decliners pour juin (clôture vs clôture de mai), filtre de liquidité affiché
Le SQL exact derrière chaque chiffre
SELECT
    countIf(chg > 0 AND NOT dropped) AS advancers,
    countIf(chg < 0 AND NOT dropped) AS decliners,
    countIf(chg = 0 AND NOT dropped) AS unchanged,
    countIf(dropped) AS dropped_by_liquidity_filter
FROM (
    SELECT ticker,
        argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-06-01') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199)
      - argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-05-29') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) AS chg,
        sumIf(toFloat64(close) * toFloat64(volume), toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-06-01')) < 5e6 AS dropped
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= toDateTime('2026-05-29 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
    GROUP BY ticker
    HAVING countIf(toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-05-29') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) > 0
       AND countIf(toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-06-01') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) > 0
)

4608 tickers ont baissé durant le mois contre 4240 en hausse — une largeur de marché négative alors que deux des quatre ETF d'indices ont progressé. La largeur de marché par pondération et par nombre égal répondent à des problématiques différentes ; en juin, elles ont divergé. Le filtre de liquidité a écarté 2896 tickers avec un volume de juin inférieur à 5 millions de dollars, comptabilisés ici au lieu d'être ignorés. La tendance quotidienne est cohérente avec la tendance des tickers : 12 des 21 sessions du mois ont clôturé le SPY en baisse contre 9 en hausse.

RequêteSessions SPY up vs down sur le mois, un seul relevé
Le SQL exact derrière chaque chiffre
SELECT countIf(day_ret > 0) AS up_sessions,
       countIf(day_ret < 0) AS down_sessions,
       countIf(day_ret = 0) AS flat_sessions,
       count() AS sessions_total
FROM (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           round((argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100, 2) AS day_ret
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2026-06-01 00:00:00')
      AND window_start < toDateTime('2026-07-01 00:00:00')
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY d
)

Les leaders du marché

RequêteVolume en dollars en séance régulière pour juin, tape complet (un symbole réutilisé exclu en attente de vérification)
Le SQL exact derrière chaque chiffre
SELECT ticker,
    round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 1) AS dollar_bn,
    round(100 * sum(toFloat64(close) * toFloat64(volume)) / max(sum(toFloat64(close) * toFloat64(volume))) OVER (), 1) AS pct_of_leader
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
  AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
  AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY dollar_bn DESC
LIMIT 8

MU a dominé l'ensemble du mois avec 995.7 milliards de dollars — le SPY arrive en deuxième position avec 77.5% de ce montant. NVDA a enregistré un flux de 523 milliards de dollars, se classant quatrième ; son mois fait l'objet de sa propre analyse détaillée tick-by-tick. Le secteur des semi-conducteurs domine la liste avec quatre des huit valeurs. Base : heures d'ouverture du 1er au 30 juin ; une valeur avec un symbole réutilisé pour une cotation en juin est exclue en attente de vérification de l'entité, et son premier mois fait l'objet de son propre article.

Le carnet d'options : juin face à mai

RequêteJuin : volume total des contrats options et part des expirations le jour même (un scan)
Le SQL exact derrière chaque chiffre
SELECT round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
       round(100.0 * sumIf(toFloat64(volume), toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))) / sum(toFloat64(volume)), 1) AS zero_dte_pct,
       uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-06-01 00:00:00')
  AND window_start < toDateTime('2026-07-01 00:00:00')
RequêteMai, recalculé de la même manière pour comparaison (un scan)
Le SQL exact derrière chaque chiffre
SELECT round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
       round(100.0 * sumIf(toFloat64(volume), toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))) / sum(toFloat64(volume)), 1) AS zero_dte_pct,
       uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-05-01 00:00:00')
  AND window_start < toDateTime('2026-06-01 00:00:00')

Le volume total d'options en juin s'est élevé à 1477.9 millions de contrats, dont 34.3% sur des échéances le jour même — contre 1394.6 millions et 30.3% en mai. Le volume augmente et la part des contrats à échéance le jour même progresse : la part des 0DTE en juin est la plus élevée du semestre. L'évolution depuis janvier est détaillée dans le récapitulatif du S1. Un tiers du volume d'options de juin a expiré le jour même de la transaction.

RequêteMedian quoted spread du SPY : échantillon de juin vs mai (deuxièmes mercredis)
Le SQL exact derrière chaque chiffre
SELECT toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS session,
       round(quantileDeterministicIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, toUInt64(toUnixTimestamp64Micro(sip_timestamp)), bid_price > 0 AND ask_price >= bid_price), 3) AS med_spread_bps,
       round(count() / 1e6, 2) AS quote_updates_m,
       countIf(NOT (bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price)) AS invalid_dropped
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY'
  AND ((sip_timestamp >= toDateTime64('2026-05-13 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-05-13 20:00:00', 9))
    OR (sip_timestamp >= toDateTime64('2026-06-10 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-06-10 20:00:00', 9)))
GROUP BY session
ORDER BY session ASC

Le coût de transaction sur les titres les plus importants suit la même tendance : le spread médian coté pour le SPY sur l'échantillon de session de juin (0.409 bps, 10 juin) est plus large que celui de mai (0.27 bps, 13 mai). Note sur la base : il s'agit de sessions d'échantillonnage spécifiques — le deuxième mercredi de chaque mois — et non de médianes mensuelles ; les cotations invalides sont incluses dans le panel.

Taux : la courbe a peu bougé

RequêteRendements Treasury à travers juin : 10 ans, 2 ans, et le spread 2s10s
Le SQL exact derrière chaque chiffre
SELECT toString(date) AS d,
    round(yield_10_year, 2) AS y10,
    round(yield_2_year, 2) AS y2,
    round((yield_10_year - yield_2_year) * 100, 0) AS spread_2s10s_bp
FROM global_markets.treasury_yields
WHERE date >= toDate('2026-06-01') AND date <= toDate('2026-06-30')
  AND isNotNull(yield_10_year) AND isNotNull(yield_2_year)
ORDER BY date

Le taux à 10 ans a terminé le mois de juin à 4.44% avec un spread 2s10s de 30 points de base — un mois calme pour les taux par rapport à un premier semestre plus volatil (le récapitulatif du H1 détaille l'évolution de la courbe à six mois).

Le calendrier : forte activité de fin de trimestre, une journée de dépôt manquante

RequêteCalendrier corporate de juin — dividendes, splits, listings, filings (gap de l'index au 30 juin affiché)
Le SQL exact derrière chaque chiffre
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= toDate('2026-06-01') AND ex_dividend_date <= toDate('2026-06-30')) AS ex_div_events,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= toDate('2026-06-01') AND execution_date <= toDate('2026-06-30')) AS splits,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date >= toDate('2026-06-01') AND listing_date <= toDate('2026-06-30')) AS ipos,
    (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date >= toDate('2026-06-01') AND filing_date <= toDate('2026-06-30')) AS june_filings,
    (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-06-30')) AS filings_jun30,
    (SELECT count() FROM global_markets.stocks_news WHERE published_utc >= toDateTime('2026-06-01 00:00:00') AND published_utc < toDateTime('2026-07-01 00:00:00')) AS news_articles

Le mois de juin a enregistré 6651 événements ex-dividend, 164 splits et 35 nouvelles cotations — dont l'entrée en bourse majeure du mois, analysée en détail dans l'analyse du premier mois de SpaceX. Une précision concernant le nombre de dépôts : l'index de la SEC affiche 68388 dépôts pour juin, mais le 30 juin ne compte que 31 — l'index pour le dernier jour du mois est matériellement incomplet (les jours adjacents comptent des milliers de dépôts), le total de juin est donc sous-estimé jusqu'à la mise à jour du flux — cela fait partie d'un schéma de fin de mois observé en 2026 avec sa propre note de diagnostic.

La vague des dividendes

RequêteÉvénements ex-dividend par jour à travers juin
Le SQL exact derrière chaque chiffre
SELECT toString(ex_dividend_date) AS d, count() AS ex_div_events
FROM global_markets.stocks_dividends
WHERE ex_dividend_date >= toDate('2026-06-01') AND ex_dividend_date <= toDate('2026-06-30')
GROUP BY d
ORDER BY d

Le flux des dividendes s'intensifie en fin de mois : le mois de juin a débuté avec 807 événements ex-dividend en une seule journée. Le graphique reflète le rythme mensuel, avec un volume quotidien de quelques centaines d'opérations ponctué par des pics lors des transitions mensuelles. L'impact réel d'une date ex-dividend sur le cours est détaillé dans l'explication sur l'ex-dividend.

Les positions courtes : les deux relevés de juin sont disponibles

RequêteSettlements du short-interest : 29 mai, 15 juin et 30 juin
Le SQL exact derrière chaque chiffre
SELECT toString(settlement_date) AS settlement, count() AS tickers
FROM global_markets.stocks_short_interest
WHERE settlement_date >= toDate('2026-05-20')
GROUP BY settlement
ORDER BY settlement

L'intérêt vendeur est arrêté deux fois par mois et publié avec un décalage. Les deux relevés de juin sont désormais disponibles : le règlement 2026-06-30 concerne les tickers 22207, après 22178 sur le relevé du 15 juin et 21987 sur celui du 29 mai. Le short volume quotidien est un ensemble de données différent ; sa limite pour le mois de juin est le relevé tronqué du 29 juin, inclus dans le récapitulatif hebdomadaire et dans l'analyse approfondie du 29 juin.

Le compte rendu de la session

Requête21 sessions, vérifiées sur le tape (relevé de la clôture Juneteenth inclus)
Le SQL exact derrière chaque chiffre
SELECT
    (SELECT uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')) AS june_sessions,
    (SELECT count() FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-19 00:00:00') AND window_start < toDateTime('2026-06-20 00:00:00')) AS juneteenth_spy_bars,
    (SELECT countIf((toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')) AS regular_bars_june

Le mois de juin a compté 21 sessions — le Juneteenth (19 juin) affiche 0 barres SPY, et les 8190 barres régulières correspondent exactement à vingt et une sessions complètes de 390 minutes.

Notes sur les données

Notes complètes sur les données
  • L'intérêt vendeur inclut la clôture du 30 juin — les deux relevés du mois sont enregistrés et intégrés ci-dessus.
  • Le jour de publication de l'indice au 30 juin est matériellement incomplet (quelques dépôts administratifs face à des milliers sur les jours adjacents) ; les totaux de juin sont sous-estimés jusqu'à la mise à jour du flux. Chaque fin de mois de 2026 dont le dernier jour calendaire était un jour ouvré présente la même caractéristique — la note de diagnostic contient les justificatifs ; le récapitulatif du T2 contient l'avertissement relatif à l'échelle du trimestre.
  • Le fichier du volume vendeur de la FINRA du 29 juin est tronqué pour l'ensemble du marché — les justificatifs se trouvent dans le récapitulatif hebdomadaire et l'analyse approfondie du 29 juin.
  • Exclusion du leader de volume : une valeur listée en juin s'échange sous un symbole réutilisé et est exclue du classement en attendant la vérification de l'entité ; son propre article contient les justificatifs de vérification.
  • La largeur de marché compare la dernière clôture de juin de chaque ticker à sa dernière clôture de mai ; les tickers sans ces deux clôtures sont exclus par construction et les exclusions du filtre de liquidité sont comptabilisées dans le panel.

Méthodologie

  • La période s'étend du 1er au 30 juin 2026 — soit 21 sessions, vérifiées à partir des bougies observées (le panneau de réception ci-dessus). Les rendements mensuels sont calculés de l'ouverture à la clôture des horaires réguliers au sein de la période.
  • Les horodatages sont stockés en UTC et filtrés avec des limites UTC brutes ; juin 2026 est entièrement en EDT, les horaires réguliers sont donc de 13:30 à 20:00 UTC. Le volume en dollars correspond au produit de la clôture par le volume pour chaque minute durant les horaires réguliers.
  • Les comparaisons sur le mois glissant sont recalculées en direct dans la même requête que la ligne de juin — elles ne sont jamais lues à partir d'une valeur stockée. Le bloc d'historique de chaque mois de juin effectue le même calcul sur l'intégralité de la bande de minutes (horaires réguliers de l'heure de l'Est — la convention pluriannuelle sécurisée pour l'heure d'été — avec sa limite supérieure fixée à la fin de ce mois et une garde de session minimale affichée par an) ; la vérification de la profondeur se trouve dans la méthodologie du récapitulatif H1.
  • La génération s'effectue via le chemin de lecture seule sécurisé ; la page publique n'interroge jamais les données en direct. État de l'entrepôt au 5 juillet 2026.

Ceci est la première édition du récapitulatif mensuel permanent — l'édition de juillet fera un lien vers cette page. Pour le détail session par session de la dernière semaine du mois, consultez le récapitulatif de la semaine du 29 juin ; pour le trimestre clos ce mois-ci, consultez le récapitulatif du Q2.