Strasmore Research
Market Recap

Riepilogo settimanale mercato USA e indici

Matt ConnorBy Matt Connor Updated 2026-07-24

Ecco l'andamento dell'ultima settimana sul mercato statunitense. Ogni cifra riportata è estratta da una query salvata rispetto al tape reale; questa pagina si aggiorna ogni settimana per mostrare sempre l'ultima settimana completa di trading.

Il tabellone degli indici

QueryI principali ETF sull'index nell'ultima settimana
L'esatto SQL dietro ogni numero
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)

Per la settimana dal Jul 17 al Jul 23, l'S&P 500 (SPY) ha reso il -0.45%, il Nasdaq 100 (QQQ) il 0.28%, il Dow (DIA) il -0.67% e il Russell 2000 (IWM) per le small-cap il -0.09%. Il divario tra i quattro riassume la settimana: quando il Nasdaq e il Russell divergono, il mercato sta scegliendo tra megacap growth e tutto il resto.

Sotto la superficie: breadth

Il livello di un indice nasconde il numero effettivo di titoli che hanno partecipato al movimento. Questo conteggio avviene ogni sessione: tra i titoli con scambi superiori a 500 milioni di dollari, quanti hanno chiuso in rialzo rispetto alla sessione precedente e quanti in ribasso.

QueryMarket breadth giornaliera: advancers vs decliners per sessione (ticker con $500M+)
L'esatto SQL dietro ogni numero
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

Le due linee rappresentano la partecipazione stessa. Quando i titoli in rialzo superano nettamente quelli in ribasso durante la settimana, un indice in crescita ha l'intero mercato che lo sostiene; quando convergono o si incrociano, un indice positivo è guidato da pochi grandi nomi mentre la maggior parte dei titoli è rimasta ferma. Nell'ultima sessione, 101 titoli sono avanzati contro 128 in calo.

Settori, dai migliori ai peggiori

QueryGli undici settori S&P 500 nell'ultima settimana
L'esatto SQL dietro ogni numero
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

Il tabellone settoriale suddivide la settimana tra leader e laggards. Technology ha guidato con il 3.53%, mentre Consumer Disc. è rimasto indietro con il -5.75%. Lo spread tra il miglior e il peggior settore indica quanto la settimana sia stata guidata dalla rotation rispetto a un movimento uniforme.

I maggiori movimenti della settimana

I maggiori guadagni settimanali tra i titoli con volumi elevati (esclusi ETF a leva e inverse, con oltre 1 miliardo di dollari scambiati):

QueryI maggiori stock gainers dell'ultima settimana
L'esatto SQL dietro ogni numero
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

CIFR ha guidato tutti i titoli liquidi, con un rialzo del 52.4% nella settimana. I cali più profondi sono stati opposti:

QueryI maggiori stock losers dell'ultima settimana
L'esatto SQL dietro ogni numero
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

PATH è sceso più di tutti tra i titoli molto scambiati, con il -15.2%. La classifica completa e rotante, aggiornata continuamente, è disponibile sulla pagina dei movimenti settimanali.

Dove si è concentrato il volume

Il valore totale scambiato mostra dove si è effettivamente spostata l'attenzione del mercato, che non sempre coincide con i maggiori spostamenti percentuali.

QueryDistribuzione del volume: maggiori dollari scambiati nell'ultima settimana
L'esatto SQL dietro ogni numero
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 ha registrato il maggior volume monetario di qualsiasi titolo nella settimana, per 140.2 miliardi di dollari. Un volume elevato su un piccolo movimento di prezzo indica un titolo liquido e affollato che cambia mano; un volume elevato su un grande movimento indica convinzione. I titoli in cima a questa lista sono solitamente le megacap e i titoli legati alle notizie della settimana; confrontarli con la lista dei movimenti permette di distinguere i titoli che si sono mossi molto da quelli che hanno semplicemente scambiato molto.

Come leggere una settimana di mercato

Quattro numeri, letti insieme, descrivono una settimana meglio di qualsiasi singolo livello di un indice. Il tabellone degli indici indica il rendimento medio ponderato sulle grandi aziende. La breadth indica quanti titoli hanno effettivamente partecipato: un indice forte con una breadth debole indica un movimento limitato e concentrato sulle grandi capitalizzazioni che, storicamente, tende a non durare; una breadth ampia indica un cambiamento duraturo dell'intero mercato. Il tabellone settoriale indica il tipo di settimana: uno spread ampio tra il miglior e il peggior settore indica rotation e stock-picking, uno spread stretto indica una marea che ha spostato tutto contemporaneamente. I leader dei movimenti e dei volumi indicano poi i titoli specifici che hanno guidato il mercato, separando i movimenti percentuali evidenti dai giganti scambiati intensamente ma con movimenti discreti. Questo riepilogo presenta tutti e quattro i dati affiancati ogni settimana per offrire un quadro d'insieme, non solo un titolo. Poiché ogni cifra è calcolata da una query salvata, nessuna può divergere da quanto registrato dal tape.

FAQ

Cosa è successo nel mercato questa settimana?

Per la settimana dal Jul 17 al Jul 23, l'S&P 500 ha reso il -0.45% e il Nasdaq 100 il 0.28%. Technology è stato il settore più forte e Consumer Disc. il più debole; nell'ultima sessione, 101 titoli molto scambiati sono avanzati contro 128 in calo. I pannelli sopra riportano tutti i dettagli.

Ogni settimana. La pagina è calcolata tramite query live sulle ultime cinque sessioni di trading, quindi riflette sempre l'ultima settimana completa. Gli abbonati lo ricevono tramite un'email a settimana.

Da dove provengono i numeri?

Ogni cifra è estratta da una query salvata rispetto al market tape (candele minute delle azioni). È possibile aprire il codice SQL sotto ogni pannello per verificarlo, o eseguire la stessa query autonomamente sul terminale Strasmore.


Vuoi riceverlo nella tua inbox? È il riepilogo settimanale per gli abbonati: un'email a settimana, la settimana di mercato in numeri, ogni cifra verificabile. Per l'analisi quotidiana, le pagine movers e short-interest si aggiornano continuamente.

#market recap#weekly recap#market data#indexes