Strasmore Research
Market Recap

weekly market recap week in numbers

Matt ConnorBy Matt Connor Updated 2026-07-25

Ito ang nagdaang linggo sa merkado ng US, sinusukat. Bawat numero sa ibaba ay binabasa mula sa isang naka-imbak na query laban sa aktwal na tape, at nagre-refresh ang pahinang ito bawat linggo, kaya ang mga numero ay palaging pinakabagong buong linggo ng trading.

Ang scoreboard ng index

QueryMga pangunahing index ETF sa nakaraang linggo
Ang eksaktong SQL sa likod ng bawat 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)

Para sa linggo ng Jul 17 hanggang Jul 23, ang S&P 500 (SPY) ay nagbalik ng -0.45%, ang Nasdaq 100 (QQQ) 0.28%, ang Dow (DIA) -0.67%, at ang small-cap Russell 2000 (IWM) -0.09%. Ang agwat sa pagitan ng apat ay ang kuwento ng linggo sa isang linya: kapag nag-diverge ang Nasdaq at ang Russell, pumipili ang merkado sa pagitan ng megacap growth at lahat ng iba pa.

Sa ilalim ng ibabaw: breadth

Itinatago ng antas ng index kung ilang stock ang talagang lumahok. Binibilang ito bawat sesyon: sa mga pangalang nag-trade ng hindi bababa sa $500 milyon, ilan ang nagsara nang mas mataas kaysa sa nakaraang sesyon, at ilan ang nagsara nang mas mababa.

QueryArawang market breadth: advancers vs decliners bawat session (mga stock na may $500M+)
Ang eksaktong SQL sa likod ng bawat 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

Ang dalawang linya ay ang partisipasyon mismo. Kapag ang mga advancer ay tumakbo nang mas mataas kaysa sa mga decliner sa buong linggo, ang isang tumataas na index ay may buong merkado sa likod nito; kapag nag-converge o nag-cross sila, ang isang berdeng index ay isang dakot ng malalaking pangalan na nagdadala ng isang tape na karamihan sa mga stock ay hindi sinamahan. Sa pinakabagong sesyon, 101 na pangalan ang umakyat laban sa 128 na bumagsak.

Sectors, pinakamahusay hanggang pinakamasama

QueryLabing-isang sektor ng S&P 500 sa nakaraang linggo
Ang eksaktong SQL sa likod ng bawat 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

Inuuri ng sector board ang linggo sa mga lider at laggard. Nanguna ang Technology sa 3.53%, at nahuli ang Consumer Disc. sa -5.75%. Ang spread sa pagitan ng pinakamataas at pinakamababang sector ay isang pagbasa kung gaano karaming rotation ang nagtulak sa linggo kumpara sa isang pare-parehong galaw.

Ang pinakamalaking movers ng linggo

Ang pinakamalaking lingguhang kita sa mga mabigat na traded na stock (mahigit $1 bilyon ang nagbago ng kamay, hindi kasama ang leveraged at inverse ETFs):

QueryPinakamalaking stock gainers sa nakaraang linggo
Ang eksaktong SQL sa likod ng bawat 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

Nanguna ang CIFR sa lahat ng likidong pangalan, tumaas ng 52.4% sa linggo. Ang pinakamatarik na pagbaba ay tumakbo sa kabilang direksyon:

QueryPinakamalaking stock losers sa nakaraang linggo
Ang eksaktong SQL sa likod ng bawat 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

Ang PATH ang pinakabumagsak sa mga mabigat na traded na stock, sa -15.2%. Ang buong rolling leaderboard, na patuloy na nagre-refresh, ay nasa pahina ng lingguhang movers.

Kung saan nag-concentrate ang volume

Ipinapakita ng dolyar na na-trade kung saan talaga napunta ang atensyon ng merkado, na hindi laging kung saan ang pinakamalaking porsyentong galaw.

QueryKung saan napunta ang volume: pinakamalaking dolyar na na-trade sa nakaraang linggo
Ang eksaktong SQL sa likod ng bawat 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

Ang MU ang nakakita ng pinakamaraming dolyar na volume ng anumang stock sa linggo, $140.2 bilyon. Ang mabigat na volume sa isang maliit na paggalaw ng presyo ay isang masikip, likidong pangalan na nagpapalit ng kamay; ang mabigat na volume sa isang malaking galaw ay conviction. Ang mga pangalan na malapit sa tuktok ng listahang ito ay karaniwang ang mga megacap at ang mga stock na nasa balita ng linggo, at ang paghahambing nito sa listahan ng mga movers sa itaas ay naghihiwalay sa mga stock na maraming gumalaw mula sa mga stock na simpleng maraming na-trade.

Paano basahin ang isang linggo sa merkado

Apat na numero, na binabasa nang magkasama, ay naglalarawan ng isang linggo nang mas mahusay kaysa sa anumang solong antas ng index. Sinasabi ng scoreboard ng index kung paano ginawa ang average na dolyar, na may timbang patungo sa pinakamalaking kumpanya. Sinasabi ng breadth kung ilang stock ang talagang lumahok: ang isang malakas na index sa manipis na breadth ay isang makitid, top-heavy na galaw na sinasabi ng kasaysayan na hindi karaniwang tumatagal, habang ang malawak na breadth ay isang matibay, whole-market shift. Sinasabi ng sector board kung anong uri ng linggo ito, ang isang malawak na spread sa pagitan ng pinakamahusay at pinakamasamang sector ay tumuturo sa rotation at stock-picking, ang isang makitid na spread ay sa isang tide na gumalaw sa lahat nang sabay-sabay. Ang mga movers at ang mga volume leader ay pinangalanan ang mga partikular na stock na nagtulak nito, na naghihiwalay sa malalakas na porsyentong galaw mula sa tahimik, mabigat na traded na mga higante. Ang recap na ito ay naglalagay ng lahat ng apat na magkatabi bawat linggo upang ang linggo ay mabasa bilang isang larawan, hindi isang headline. Sa bawat figure na kinakalkula mula sa isang naka-imbak na query, wala nito ang maaaring lumihis mula sa aktwal na na-print ng tape.

FAQ

Ano ang nangyari sa merkado ngayong linggo?

Para sa linggo ng Jul 17 hanggang Jul 23, ang S&P 500 ay nagbalik ng -0.45% at ang Nasdaq 100 0.28%. Ang Technology ang pinakamalakas na sector at ang Consumer Disc. ang pinakamahina, at sa pinakabagong sesyon, 101 na mabigat na traded na stock ang umakyat laban sa 128 na bumagsak. Ang mga panel sa itaas ay may buong detalye.

Gaano kadalas ina-update ang recap na ito?

Bawat linggo. Ang pahina ay kinakalkula mula sa live na queries sa nakaraang limang trading session, kaya laging sinasalamin nito ang pinakabagong buong linggo. Natatanggap ito ng mga subscriber bilang isang email bawat linggo.

Saan nagmumula ang mga numero?

Bawat figure ay binabasa mula sa isang naka-imbak na query laban sa market tape (equities minute bars). Buksan ang SQL sa ilalim ng anumang panel upang i-audit ito, o patakbuhin ang parehong query mismo sa Strasmore terminal.


Gusto mo ito sa iyong inbox? Ito ang lingguhang recap na natatanggap ng mga subscriber: isang email bawat linggo, ang linggo ng merkado sa mga numero, bawat figure ay auditable. Para sa araw-araw, ang movers at short-interest na mga pahina ay patuloy na nagre-refresh.

#market recap#weekly recap#market data#indexes