Este es el resumen de la semana pasada en el mercado de EE. UU. Cada cifra se obtiene de una consulta almacenada sobre el tape real, y esta página se actualiza cada semana para mostrar siempre la semana completa de negociación más reciente.
El marcador de los índices
El SQL exacto detrás de cada cifra
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 la semana del Jul 15 al Jul 21, el S&P 500 (SPY) tuvo un retorno del -0.79%, el Nasdaq 100 (QQQ) del -2.06%, el Dow (DIA) del -0.83% y el Russell 2000 de small-caps (IWM) del 0.43%. La brecha entre los cuatro define la semana: cuando el Nasdaq y el Russell divergen, el mercado está eligiendo entre el crecimiento de las megacaps y todo lo demás.
Bajo la superficie: amplitud
El nivel de un índice oculta cuántas acciones participaron realmente. Esto las contabiliza cada sesión: entre los valores que negociaron al menos $500 millones, cuántos cerraron al alza respecto a la sesión anterior y cuántos cerraron a la baja.
El SQL exacto detrás de cada cifra
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 ASCLas dos líneas representan la participación. Cuando los valores que suben superan ampliamente a los que bajan durante la semana, un índice al alza tiene a todo el mercado respaldándolo; cuando convergen o se cruzan, un índice en verde es solo un grupo de nombres grandes cargando un tape del cual la mayoría de las acciones se mantuvo al margen. En la última sesión, 151 nombres subieron frente a 77 que cayeron.
Sectores, de mejor a peor
El SQL exacto detrás de cada cifra
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 DESCEl tablero de sectores clasifica la semana entre líderes y rezagados. Energy lideró con un 2.76%, y Technology se quedó atrás con un -2.38%. El spread entre el sector superior y el inferior indica qué tanto impulsó la rotación a la semana frente a un movimiento uniforme.
Los mayores movimientos de la semana
Las mayores ganancias semanales entre acciones con alto volumen de negociación (excluyendo ETFs apalancados e inversos, con más de $1 billón negociados):
El SQL exacto detrás de cada cifra
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 7SSPC lideró todos los nombres líquidos, subiendo un 21.9% en la semana. Los mayores descensos ocurrieron en el sentido opuesto:
El SQL exacto detrás de cada cifra
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 7PENG cayó más entre las acciones con alto volumen de negociación, con un -28.8%. El ranking completo y rotativo, actualizado continuamente, se encuentra en la página de movimientos semanales.
Dónde se concentró el volumen
El volumen negociado en dólares muestra hacia dónde se dirigió realmente la atención del mercado, que no siempre coincide con los mayores movimientos porcentuales.
El SQL exacto detrás de cada cifra
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 8MU registró el mayor volumen en dólares de cualquier acción en la semana, $191.8 billones. Un volumen alto con un movimiento de precio pequeño indica un nombre líquido y concurrido cambiando de manos; un volumen alto con un movimiento grande indica convicción. Los nombres cerca de la parte superior de esta lista suelen ser las megacaps y las acciones con noticias de la semana; compararlo con la lista de movimientos anteriores permite separar las acciones que se movieron mucho de las que simplemente negociaron mucho.
Cómo leer una semana en el mercado
Cuatro números, leídos en conjunto, describen una semana mejor que cualquier nivel de índice individual. El marcador de índices indica cómo le fue al dólar promedio, ponderado hacia las empresas más grandes. La amplitud indica cuántas acciones participaron realmente: un índice fuerte con baja amplitud es un movimiento estrecho y concentrado en la parte superior que, según la historia, tiende a no durar, mientras que una amplitud amplia es un cambio duradero de todo el mercado. El tablero de sectores indica qué tipo de semana fue: un spread amplio entre el mejor y el peor sector apunta a rotación y selección de acciones (stock-picking), mientras que un spread estrecho apunta a una marea que movió todo a la vez. Los líderes de movimientos y de volumen nombran entonces las acciones específicas que impulsaron el mercado, separando los movimientos porcentuales ruidosos de los gigantes tranquilos con alto volumen de negociación. Este resumen presenta los cuatro elementos uno al lado del otro cada semana para que la semana se lea como una imagen, no como un titular. Con cada cifra calculada mediante una consulta almacenada, nada puede desviarse de lo que el tape imprimió realmente.
FAQ
¿Qué pasó en el mercado esta semana?
Para la semana del Jul 15 al Jul 21, el S&P 500 tuvo un retorno del -0.79% y el Nasdaq 100 del -2.06%. Energy fue el sector más fuerte y Technology el más débil, y en la última sesión, 151 acciones con alto volumen de negociación subieron frente a 77 que cayeron. Los paneles de arriba tienen el detalle completo.
¿Con qué frecuencia se actualiza este resumen?
Cada semana. La página se calcula mediante consultas en vivo sobre las últimas cinco sesiones de negociación, por lo que siempre refleja la semana completa más reciente. Los suscriptores lo reciben en un correo electrónico a la semana.
¿De dónde vienen los números?
Cada cifra se lee de una consulta almacenada contra el tape del mercado (velas de minutos de acciones). Abra el SQL debajo de cualquier panel para auditarlo, o ejecute la misma consulta usted mismo en la terminal Strasmore.
¿Quiere esto en su bandeja de entrada? Es el resumen semanal que reciben los suscriptores: un correo electrónico a la semana, la semana del mercado en números, cada cifra auditable. Para el día a día, las páginas de movimientos y interés corto se actualizan continuamente.