Strasmore Research
Market Recap

Bilan hebdomadaire des marchés US en chiffres

Matt ConnorBy Matt Connor Updated 2026-07-23

Voici le bilan de la semaine passée sur le marché américain. Chaque chiffre est extrait d'une requête effectuée sur le tape réel. Cette page est actualisée chaque semaine afin de présenter les données de la dernière semaine de trading complète.

Le tableau de bord des indices

RequêteLes principaux ETF d'indices sur la semaine dernière
Le SQL exact derrière chaque chiffre
WITH sess AS (
    SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        argMin(toFloat64(open), toTimeZone(window_start, 'America/New_York')) AS o,
        argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
      AND window_start >= now() - INTERVAL 12 DAY AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, d
),
wk AS (SELECT ticker, argMin(o, d) AS wo, argMax(c, d) AS wc, min(d) AS d0, max(d) AS d1
       FROM sess WHERE d >= (SELECT max(d) FROM sess) - 6 GROUP BY ticker)
SELECT multiIf(ticker = 'SPY', 'S&P 500 (SPY)', ticker = 'QQQ', 'Nasdaq 100 (QQQ)', ticker = 'DIA', 'Dow (DIA)', 'Russell 2000 (IWM)') AS index_etf,
    round((wc / wo - 1) * 100, 2) AS week_return_pct,
    (SELECT formatDateTime(min(d0), '%b %e') FROM wk) AS week_start,
    (SELECT formatDateTime(max(d1), '%b %e') FROM wk) AS week_end
FROM wk
ORDER BY multiIf(ticker = 'SPY', 0, ticker = 'QQQ', 1, ticker = 'DIA', 2, 3)

Pour la semaine du Jul 15 au Jul 21, le S&P 500 (SPY) a progressé de -0.79%, le Nasdaq 100 (QQQ) de -2.06%, le Dow (DIA) de -0.83% et le Russell 2000 (IWM) de 0.43%. L'écart entre ces quatre indices résume la tendance de la semaine : lorsque le Nasdaq et le Russell divergent, le marché arbitre entre la croissance des megacaps et le reste du marché.

Analyse de la largeur du marché

Le niveau d'un indice ne reflète pas le nombre réel de titres participants. Cette mesure comptabilise chaque séance : parmi les titres ayant échangé au moins 500 millions de dollars, combien ont clôturé en hausse par rapport à la séance précédente, et combien ont clôturé en baisse.

RequêteLargeur du marché quotidienne : haussiers vs baissiers par session (noms échangés > 500M $)
Le SQL exact derrière chaque chiffre
WITH day AS (
    SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c,
        sum(toFloat64(close) * toFloat64(volume)) AS dv
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 14 DAY AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, d
),
chg AS (SELECT ticker, d, c, dv, lagInFrame(c) OVER (PARTITION BY ticker ORDER BY d) AS prev_c FROM day),
per_day AS (
    SELECT d,
        countIf(c > prev_c AND dv >= 500000000 AND prev_c > 3) AS advancers,
        countIf(c < prev_c AND dv >= 500000000 AND prev_c > 3) AS decliners,
        countIf(dv >= 500000000 AND prev_c > 3) AS total
    FROM chg WHERE d >= (SELECT max(d) FROM day) - 12 AND prev_c > 0
    GROUP BY d HAVING total >= 100
),
recent AS (SELECT d, advancers, decliners FROM per_day ORDER BY d DESC LIMIT 5)
SELECT d AS date, advancers, decliners FROM recent ORDER BY d ASC

Ces deux courbes représentent la participation du marché. Lorsque les titres en hausse (advancers) sont nettement supérieurs aux titres en baisse (decliners) sur la semaine, la hausse de l'indice est soutenue par l'ensemble du marché. À l'inverse, si les courbes convergent ou se croisent, la progression de l'indice est portée par quelques grandes capitalisations, alors que la majorité des titres n'a pas participé au mouvement. Lors de la dernière séance, 151 titres ont progressé contre 77 en baisse.

Secteurs, du meilleur au moins bon

RequêteLes onze secteurs du S&P 500 sur la semaine dernière
Le SQL exact derrière chaque chiffre
WITH sess AS (
    SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        argMin(toFloat64(open), toTimeZone(window_start, 'America/New_York')) AS o,
        argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
      AND window_start >= now() - INTERVAL 12 DAY AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, d
),
wk AS (SELECT ticker, argMin(o, d) AS wo, argMax(c, d) AS wc FROM sess WHERE d >= (SELECT max(d) FROM sess) - 6 GROUP BY ticker)
SELECT multiIf(ticker = 'XLK', 'Technology', ticker = 'XLC', 'Communications', ticker = 'XLE', 'Energy',
    ticker = 'XLF', 'Financials', ticker = 'XLI', 'Industrials', ticker = 'XLB', 'Materials',
    ticker = 'XLP', 'Staples', ticker = 'XLRE', 'Real Estate', ticker = 'XLU', 'Utilities',
    ticker = 'XLV', 'Health Care', 'Consumer Disc.') AS sector,
    round((wc / wo - 1) * 100, 2) AS week_return_pct
FROM wk ORDER BY week_return_pct DESC

Le tableau des secteurs classe la semaine entre les leaders et les laggards. Energy a dominé avec 2.76%, tandis que Technology a accusé un retard à -2.38%. Le spread entre le meilleur et le moins bon secteur permet d'évaluer l'importance de la rotation par rapport à un mouvement uniforme durant la semaine.

Les plus fortes variations de la semaine

Les plus fortes hausses hebdomadaires parmi les actions fortement échangées (volume supérieur à 1 milliard de dollars, hors ETF leveraged et inverse) :

RequêtePlus fortes hausses de titres sur la semaine dernière
Le SQL exact derrière chaque chiffre
WITH sess AS (
    SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        argMin(toFloat64(open), toTimeZone(window_start, 'America/New_York')) AS o,
        argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c,
        sum(toFloat64(close) * toFloat64(volume)) AS dv
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 12 DAY AND ticker NOT IN ('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 (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, d
),
wk AS (SELECT ticker, argMin(o, d) AS wo, argMax(c, d) AS wc, sum(dv) AS wd, count() AS n
       FROM sess WHERE d >= (SELECT max(d) FROM sess) - 6 GROUP BY ticker)
SELECT ticker, round((wc / wo - 1) * 100, 1) AS week_return_pct, round(wd / 1e9, 1) AS week_dollar_bn
FROM wk WHERE wd >= 1000000000 AND wo >= 10 AND n >= 4
ORDER BY (wc / wo - 1) DESC LIMIT 7

SSPC a dominé l'ensemble des titres liquides, avec une progression de 21.9% sur la semaine. Les baisses les plus marquées ont concerné :

RequêtePlus fortes baisses de titres sur la semaine dernière
Le SQL exact derrière chaque chiffre
WITH sess AS (
    SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        argMin(toFloat64(open), toTimeZone(window_start, 'America/New_York')) AS o,
        argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c,
        sum(toFloat64(close) * toFloat64(volume)) AS dv
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 12 DAY AND ticker NOT IN ('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 (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, d
),
wk AS (SELECT ticker, argMin(o, d) AS wo, argMax(c, d) AS wc, sum(dv) AS wd, count() AS n
       FROM sess WHERE d >= (SELECT max(d) FROM sess) - 6 GROUP BY ticker)
SELECT ticker, round((wc / wo - 1) * 100, 1) AS week_return_pct, round(wd / 1e9, 1) AS week_dollar_bn
FROM wk WHERE wd >= 1000000000 AND wo >= 10 AND n >= 4
ORDER BY (wc / wo - 1) ASC LIMIT 7

PENG a enregistré la plus forte baisse parmi les actions fortement échangées, soit -28.8%. Le classement complet et mis à jour en continu est disponible sur la page des variations hebdomadaires.

Concentration des volumes

Le volume échangé en dollars indique où l'attention du marché s'est réellement portée, ce qui ne correspond pas toujours aux plus fortes variations en pourcentage.

RequêteRépartition du volume : flux de dollars échangés sur la semaine dernière
Le SQL exact derrière chaque chiffre
WITH sess AS (
    SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        sum(toFloat64(close) * toFloat64(volume)) AS dv
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 12 DAY AND ticker NOT IN ('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 (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, d
),
wk AS (SELECT ticker, sum(dv) AS wd FROM sess WHERE d >= (SELECT max(d) FROM sess) - 6 GROUP BY ticker)
SELECT ticker, round(wd / 1e9, 1) AS week_dollar_bn FROM wk ORDER BY wd DESC LIMIT 8

MU a enregistré le plus gros volume en dollars de la semaine, soit 191.8 milliards de dollars. Un volume élevé sur une faible variation de prix indique un titre liquide et très échangé ; un volume élevé sur une variation importante traduit une conviction du marché. Les titres en haut de cette liste sont généralement des megacaps ou des actions liées à l'actualité de la semaine. Comparer cette liste avec celle des plus fortes variations permet de distinguer les actions ayant fortement évolué de celles ayant simplement fait l'objet de gros volumes d'échanges.

Comment analyser une semaine de marché

Quatre indicateurs permettent de mieux décrire une semaine que le simple niveau d'un indice. Le tableau de bord des indices indique la performance moyenne du dollar, pondérée par les plus grandes capitalisations. La largeur du marché (breadth) indique le nombre d'actions réellement impliquées : un indice fort avec une faible breadth indique un mouvement concentré sur quelques titres, ce qui n'est pas durable selon l'historique, tandis qu'une large breadth indique un mouvement durable sur l'ensemble du marché. Le tableau des secteurs précise la nature de la semaine : un spread élevé entre les meilleurs et les moins bons secteurs indique une rotation et du stock-picking, tandis qu'un spread étroit indique une tendance globale affectant tous les titres. Les plus fortes variations et les leaders de volume identifient ensuite les actions spécifiques ayant piloté le marché, distinguant les variations en pourcentage les plus marquées des géants à fort volume d'échange. Ce récapitulatif présente ces quatre indicateurs côte à côte chaque semaine pour offrir une vision d'ensemble plutôt qu'un simple titre. Chaque chiffre est calculé à partir d'une requête stockée, garantissant une fidélité totale aux données du marché.

FAQ

Que s'est-il passé sur le marché cette semaine ?

Pour la semaine du Jul 15 au Jul 21, le S&P 500 a progressé de -0.79% et le Nasdaq 100 de -2.06%. Energy a été le secteur le plus performant et Technology le plus faible. Lors de la dernière séance, les actions à fort volume de 151 ont progressé face à 77 qui a reculé. Les graphiques ci-dessus présentent le détail complet.

À quelle fréquence ce récapitulatif est-il mis à jour ?

Chaque semaine. Cette page est générée par des requêtes en temps réel sur les cinq dernières séances de trading, reflétant ainsi toujours la semaine complète la plus récente. Les abonnés reçoivent ce récapitulatif par e-mail une fois par semaine.

Quelle est la source des données ?

Chaque chiffre provient d'une requête stockée sur le flux de marché (minute bars des actions). Vous pouvez consulter la requête SQL sous chaque graphique pour vérification, ou exécuter la même requête sur le terminal Strasmore.


Recevez ce récapitulatif par e-mail. Les abonnés reçoivent une fois par semaine un bilan chiffré du marché, avec chaque donnée auditable. Pour le suivi quotidien, les pages movers et short-interest sont actualisées en continu.

#market recap#weekly recap#market data#indexes