Scorecard sectorial H1 2026: ganadores y perdedores
Los 11 ETFs sectoriales del S&P 500 ordenados para H1 2026: ganadores y perdedores, rotación del primer al segundo trimestre, amplitud y costo de trading.
El scorecard sectorial del primer semestre de 2026 cubre todo el rango de resultados: tecnología (XLK) terminó los seis meses con una variación de 30.8%, mientras que servicios de comunicación (XLC) terminó con -9.3%. La diferencia entre el mejor y el peor sector fue de aproximadamente cuarenta puntos porcentuales. Tres de los once ETFs sectoriales del S&P 500 cerraron el semestre en terreno negativo. Casi ningún sector mantuvo su posición del primer trimestre al segundo. El semestre estuvo compuesto por dos mercados opuestos, y esta página evalúa ambos. Cada cifra que aparece a continuación es el resultado de una consulta almacenada. Expanda cualquier panel para consultar el SQL exacto.
Qué es un ETF sectorial y cómo lo evalúa esta página
Los once fondos Select Sector SPDR dividen el S&P 500 en grupos industriales. Así, un solo ticker permite comprar o cubrir una visión sobre un sector. Cada fondo mantiene los componentes de su índice sectorial, ponderados por valor de mercado, y cotiza durante toda la sesión, como una acción.
Esta página evalúa cada fondo de cuatro maneras: rendimiento del precio —desde la apertura regular hasta el cierre regular—; la variación trimestral que aparece debajo de la cifra semestral; volumen en dólares —precio multiplicado por las acciones negociadas, la medida más clara del dinero que cambió de manos—; y bid-ask spread, es decir, la diferencia entre el mejor precio de compra y el mejor precio de venta. Este último refleja el costo de una operación de ida y vuelta. El registro a nivel del índice para los mismos seis meses, con tasas, opciones, IPOs y amplitud de mercado, se encuentra en el resumen del mercado del primer semestre de 2026.
El marcador de resultados: once sectores, desglosados por semestre y trimestre
| ticker | rendimiento del primer semestre (%) | rendimiento del T1 (%) | rendimiento del T2 (%) | dólares del primer semestre (miles de millones) |
|---|---|---|---|---|
| XLB | 11.7 | 9.8 | 1 | 86.8 |
| XLC | -9.3 | -6.2 | -3.7 | 90.3 |
| XLE | 18.8 | 36.9 | -11 | 316.2 |
| XLF | -2.2 | -9.9 | 7.7 | 271.7 |
| XLI | 19 | 3.9 | 13.3 | 222.8 |
| XLK | 30.8 | -8.7 | 42 | 286 |
| XLP | 6.9 | 5.5 | 1.7 | 163.7 |
| XLRE | 9.1 | 1.3 | 7.7 | 38.4 |
| XLU | 5.7 | 7 | -1 | 128.7 |
| XLV | 2.5 | -5.4 | 7.8 | 218.8 |
| XLY | -2.3 | -9.3 | 6.9 | 132.5 |
El SQL exacto detrás de cada cifra
SELECT ticker,
round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
/ argMinIf(toFloat64(open), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-01') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS h1_return_pct,
round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-03-31') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
/ argMinIf(toFloat64(open), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-01') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS q1_return_pct,
round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
/ argMinIf(toFloat64(open), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-04-01') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS q2_return_pct,
round(sumIf(toFloat64(close) * toFloat64(volume), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / 1e9, 1) AS h1_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY ticker
ORDER BY tickerLea primero la columna semestral: tecnología lideró con 30.8%, seguida de industriales con 19% y energía con 18.8%, mientras tres sectores terminaron en negativo: servicios de comunicación con -9.3%, consumo discrecional con -2.3% y servicios financieros con -2.2%. Ocho de once sectores en positivo representan una amplitud respetable para un semestre que comenzó con los índices a la baja.
Las columnas trimestrales muestran la verdadera historia. Los líderes del primer trimestre fueron energía (36.9%), materiales (9.8%), utilities (7%) y productos básicos de consumo (5.5%): una operación ligada a las materias primas junto con los sectores defensivos clásicos. En cambio, tecnología (-8.7%), servicios financieros (-9.9%) y consumo discrecional (-9.3%) cayeron junto con el mercado general. En el segundo trimestre la tabla se invirtió: tecnología avanzó 42%, industriales 13.3% y atención de salud 7.8%, mientras energía (-11%), servicios de comunicación (-3.7%) y utilities (-1%) terminaron el trimestre en rojo. El recorrido de ida y vuelta de energía, 36.9% y después -11%, y la imagen especular de los servicios financieros, -9.9% y después 7.7%, son las dos ilustraciones más claras de lo que oculta una sola cifra semestral.
La rotación, mes a mes
Tres tickers concentran toda la historia de la rotación. Por eso, este panel los sigue con frecuencia mensual: XLE (líder del primer trimestre), XLK (líder del segundo trimestre) y XLF (la operación espejo).
| mes | ticker | rendimiento mensual (%) |
|---|---|---|
| 2026-01-01 | XLE | 14.1 |
| 2026-01-01 | XLF | -2.5 |
| 2026-01-01 | XLK | -1.2 |
| 2026-02-01 | XLE | 11.6 |
| 2026-02-01 | XLF | -3.8 |
| 2026-02-01 | XLK | -3.3 |
| 2026-03-01 | XLE | 6 |
| 2026-03-01 | XLF | -2.4 |
| 2026-03-01 | XLK | -3 |
| 2026-04-01 | XLE | -0.2 |
| 2026-04-01 | XLF | 4.7 |
| 2026-04-01 | XLK | 18.9 |
| 2026-05-01 | XLE | -4.7 |
| 2026-05-01 | XLF | -1.6 |
| 2026-05-01 | XLK | 19.1 |
| 2026-06-01 | XLE | -6.8 |
| 2026-06-01 | XLF | 4.7 |
| 2026-06-01 | XLK | -1 |
El SQL exacto detrás de cada cifra
SELECT toString(toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York')))) AS month, ticker,
round((argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
/ argMinIf(toFloat64(open), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS month_return_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('XLE', 'XLF', 'XLK')
AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY month, ticker
ORDER BY month, tickerXLE subió en cada uno de los tres primeros meses: 14.1% en enero, 11.6% en febrero y 6% en marzo. Fue una escalera descendente y luego encadenó tres meses sin ganancias (-0.2%, -4.7% y -6.8%). XLK mostró la imagen opuesta: registró pérdidas en enero, febrero y marzo; después avanzó 18.9% en abril y 19.1% en mayo. Fueron dos meses consecutivos que construyeron casi toda la mitad del periodo en la que lideró el sector. Abril marca el traspaso: el cambio de liderazgo aparece en una sola columna de esta tabla. Los dos meses positivos de XLF fueron abril y junio, con 4.7% y 4.7%. Los datos frente a los que operó el mercado durante la mitad del periodo —las cifras de inflación, las nóminas y la curva del Tesoro— se recopilan en el panorama macroeconómico al entrar en el segundo semestre de 2026.
Amplitud dentro de cada sector
El rendimiento de un fondo sectorial no indica cuántos de sus componentes participaron en el movimiento. El almacén de datos no incluye una columna de clasificación sectorial, por lo que este panel mide la amplitud dentro de cada sector mediante una cesta fija y completamente divulgada: cinco acciones large-cap conocidas por el mercado en cada sector, cincuenta y cinco en total, todas incluidas en la consulta SQL. Es una muestra de nombres conocidos, no las posiciones reales de los fondos. Las limitaciones de la cesta se detallan en las notas de datos.
| sector | miembros | miembros al alza | miembros a la baja | rendimiento mediano de los miembros (%) | mejor miembro | rendimiento del mejor miembro (%) | peor miembro | rendimiento del peor miembro (%) |
|---|---|---|---|---|---|---|---|---|
| health care (XLV) | 5 | 5 | 0 | 21.7 | UNH | 25.5 | ABBV | 9.9 |
| real estate (XLRE) | 5 | 4 | 1 | 21.3 | EQIX | 36.1 | AMT | -6.7 |
| materials (XLB) | 5 | 5 | 0 | 19.5 | LIN | 21.7 | SHW | 6.4 |
| industrials (XLI) | 5 | 5 | 0 | 17.5 | CAT | 84.3 | RTX | 3.4 |
| energy (XLE) | 5 | 5 | 0 | 13.6 | EOG | 23.5 | CVX | 9 |
| utilities (XLU) | 5 | 4 | 1 | 9.1 | AEP | 18.5 | CEG | -30.6 |
| technology (XLK) | 5 | 3 | 2 | 5.2 | AVGO | 6.9 | ORCL | -25.7 |
| financials (XLF) | 5 | 4 | 1 | 3.5 | MS | 17.1 | WFC | -11.4 |
| consumer staples (XLP) | 5 | 4 | 1 | 2.4 | KO | 16.3 | PEP | -5.5 |
| consumer discretionary (XLY) | 5 | 2 | 3 | -8.2 | AMZN | 3 | NKE | -35.9 |
| communication services (XLC) | 5 | 1 | 4 | -15.2 | GOOGL | 12.7 | NFLX | -24.2 |
El SQL exacto detrás de cada cifra
SELECT sector,
count() AS members,
countIf(ret_pct > 0) AS members_up,
countIf(ret_pct <= 0) AS members_down,
round(quantileDeterministic(0.5)(ret_pct, cityHash64(ticker)), 1) AS median_member_pct,
argMax(ticker, (ret_pct, ticker)) AS best_member,
round(max(ret_pct), 1) AS best_member_pct,
argMin(ticker, (ret_pct, ticker)) AS worst_member,
round(min(ret_pct), 1) AS worst_member_pct
FROM (
SELECT ticker,
multiIf(ticker IN ('AAPL','MSFT','NVDA','AVGO','ORCL'), 'technology (XLK)',
ticker IN ('META','GOOGL','NFLX','DIS','TMUS'), 'communication services (XLC)',
ticker IN ('XOM','CVX','COP','EOG','SLB'), 'energy (XLE)',
ticker IN ('JPM','BAC','WFC','GS','MS'), 'financials (XLF)',
ticker IN ('GE','CAT','RTX','UNP','UPS'), 'industrials (XLI)',
ticker IN ('LLY','UNH','JNJ','ABBV','MRK'), 'health care (XLV)',
ticker IN ('AMZN','TSLA','HD','MCD','NKE'), 'consumer discretionary (XLY)',
ticker IN ('PG','COST','WMT','KO','PEP'), 'consumer staples (XLP)',
ticker IN ('NEE','SO','DUK','CEG','AEP'), 'utilities (XLU)',
ticker IN ('PLD','AMT','EQIX','WELL','SPG'), 'real estate (XLRE)',
'materials (XLB)') AS sector,
(argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
/ argMinIf(toFloat64(open), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100 AS ret_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL','MSFT','NVDA','AVGO','ORCL','META','GOOGL','NFLX','DIS','TMUS','XOM','CVX','COP','EOG','SLB','JPM','BAC','WFC','GS','MS','GE','CAT','RTX','UNP','UPS','LLY','UNH','JNJ','ABBV','MRK','AMZN','TSLA','HD','MCD','NKE','PG','COST','WMT','KO','PEP','NEE','SO','DUK','CEG','AEP','PLD','AMT','EQIX','WELL','SPG','LIN','SHW','APD','FCX','ECL')
AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY ticker
)
GROUP BY sector
ORDER BY median_member_pct DESC, sectorDos filas concentran la mayor atención. En salud: los 5 cinco nombres de la cesta subieron, con una mediana de 21.7%, mientras que XLV, el fondo, ganó 2.5% en el mismo periodo. El rendimiento de un fondo se pondera por valor de mercado; la mediana de una cesta asigna el mismo peso a cada componente. Salud es el caso más claro en el que la cesta superó al fondo. Tecnología muestra la misma brecha en sentido inverso y, medida de principio a fin, es la más amplia de todas: el fondo ganó 30.8%, mientras que sus cinco nombres más conocidos se repartieron entre 3 al alza y 2 a la baja, con una mediana de 5.2%, y ORCL registró -25.7%. La subida principal del sector no provino de sus megacaps tradicionales. El siguiente panel muestra de dónde provino. En el resto de la tabla: CAT registró 84.3%, el mejor dato entre los cincuenta y cinco nombres, y servicios de comunicación es el sector más débil, con 1 de cinco nombres al alza y una mediana de -15.2%; NFLX registró -24.2%.
La operación de memory-semis dentro de tecnología
| ticker | rendimiento del primer semestre (%) | rendimiento del T1 (%) | rendimiento del T2 (%) | dólares del primer semestre (miles de millones) |
|---|---|---|---|---|
| SNDK | 830.1 | 160 | 248.4 | 1592.7 |
| MU | 290 | 14.4 | 229.9 | 2862.1 |
| INTC | 269.3 | 16.8 | 210 | 969 |
| AMD | 165.3 | -7.1 | 179.8 | 1185.9 |
| TXN | 70.4 | 10.9 | 53.4 | 168.3 |
| AVGO | 6.9 | -12.3 | 20.3 | 865.1 |
| QCOM | 6.3 | -25.9 | 44.4 | 277.6 |
| NVDA | 5.2 | -8.2 | 13.5 | 3287.9 |
El SQL exacto detrás de cada cifra
SELECT ticker,
round((argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
/ argMinIf(toFloat64(open), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS h1_return_pct,
round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-03-31') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
/ argMinIf(toFloat64(open), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS q1_return_pct,
round((argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
/ argMinIf(toFloat64(open), window_start, window_start >= toDateTime('2026-04-01 00:00:00') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS q2_return_pct,
round(sumIf(toFloat64(close) * toFloat64(volume), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / 1e9, 1) AS h1_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('MU', 'SNDK', 'NVDA', 'AMD', 'INTC', 'AVGO', 'QCOM', 'TXN')
AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY ticker
ORDER BY h1_return_pct DESC, tickerAl desglosar tecnología, aparece la operación individual que definió el semestre. SNDK registró 830.1% en seis meses; MU, 290%; INTC, 269.3%; y AMD, 165.3%. NVDA, el ticker individual con mayor volumen negociado del grupo, con una rotación semestral de $3287.9 mil millones, registró 5.2%. AVGO avanzó 6.9% y QCOM, 6.3%. La divergencia fue clara: las acciones de memory y foundry se multiplicaron, mientras que los nombres consolidados de aceleradores de IA se movieron lateralmente. La columna de Q2 muestra el momento: los 229.9% de MU, los 210% de INTC y los 179.8% de AMD se produjeron en el mismo trimestre en que XLK registró su 42%. El rally del fondo sectorial y la revalorización de memory corresponden al mismo periodo de negociación. Aquí se analiza en detalle, tick por tick, el comportamiento de MU en junio, mientras que el análisis profundo de NVDA en junio sigue la divergencia sesión por sesión.
Dónde se movió el volumen en dólares
| ticker | dólares del T1 (miles de millones) | dólares del T2 (miles de millones) | T2 frente a T1 (%) |
|---|---|---|---|
| XLK | 161.2 | 124.8 | -23 |
| XLE | 184.2 | 132 | -28 |
| XLU | 74.7 | 54 | -28 |
| XLC | 53.7 | 36.7 | -32 |
| XLY | 78.7 | 53.8 | -32 |
| XLB | 52.3 | 34.5 | -34 |
| XLV | 133.2 | 85.6 | -36 |
| XLF | 166.8 | 104.9 | -37 |
| XLI | 136.5 | 86.3 | -37 |
| XLP | 104.1 | 59.6 | -43 |
| XLRE | 24.8 | 13.6 | -45 |
El SQL exacto detrás de cada cifra
SELECT ticker,
round(sumIf(toFloat64(close) * toFloat64(volume), toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-03-31') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / 1e9, 1) AS q1_dollar_bn,
round(sumIf(toFloat64(close) * toFloat64(volume), toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-04-01') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / 1e9, 1) AS q2_dollar_bn,
round((sumIf(toFloat64(close) * toFloat64(volume), toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-04-01') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
/ sumIf(toFloat64(close) * toFloat64(volume), toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-03-31') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 0) AS q2_vs_q1_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY ticker
ORDER BY q2_vs_q1_pct DESC, tickerEl volumen en dólares se movió en una sola dirección: los once fondos sectoriales negociaron menos dólares en el segundo trimestre que en el primero. La primera fila de la tabla muestra la menor caída, la de XLK, de -23%, desde $161.2 mil millones hasta $124.8 mil millones. La última corresponde al sector inmobiliario, con una disminución de -45%. Los ETFs sectoriales registraron su mayor actividad en el trimestre en que cayeron los índices, y el volumen se redujo a medida que avanzaba la recuperación. Dos referencias de escala de los paneles anteriores: XLE fue el fondo sectorial más negociado del semestre, con $316.2 mil millones, y MU por sí sola registró un volumen de $2862.1 mil millones, aproximadamente diez veces los $286 mil millones del fondo XLK. Los productos sectoriales mostraron el marcador; las acciones individuales fueron donde se desarrolló la actividad del primer semestre.
El costo de operar cada sector
Las tablas de rentabilidad están por todas partes; las cintas de cotizaciones, no. Este panel mide el spread bid-ask mediano cotizado de cada fondo, es decir, el costo de una operación de ida y vuelta, a lo largo de una sesión completa identificada: el 29 de junio de 2026. El cálculo utiliza cada actualización de la NBBO registrada ese día.
| ticker | spread mediano (pb) | actualizaciones de cotizaciones (millones) | inválidos descartados |
|---|---|---|---|
| XLV | 0.62 | 2.11 | 150 |
| XLY | 0.86 | 1.19 | 21 |
| XLC | 0.93 | 1.12 | 82 |
| XLI | 1.1 | 1.38 | 12 |
| XLK | 1.1 | 2.72 | 55 |
| XLP | 1.18 | 0.76 | 33 |
| XLE | 1.85 | 0.59 | 1 |
| XLF | 1.86 | 0.38 | 2 |
| XLB | 1.97 | 0.41 | 0 |
| XLU | 2.18 | 0.29 | 6 |
| XLRE | 2.23 | 0.28 | 0 |
El SQL exacto detrás de cada cifra
SELECT ticker,
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), 2) 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 IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
AND sip_timestamp >= toDateTime64('2026-06-29 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-06-29 20:00:00', 9)
GROUP BY ticker
ORDER BY med_spread_bps, tickerEl fondo más barato para operar en esa sesión fue XLV, con una mediana de 0.62 puntos básicos; el spread más amplio correspondió a XLRE, con 2.23. Un punto básico equivale a una centésima de punto porcentual. Por tanto, toda la tabla se mueve en centésimas de punto porcentual por operación de ida y vuelta. Ese es el significado práctico de que los ETFs sectoriales tengan liquidez. La cantidad de actualizaciones de cotizaciones varía casi diez veces entre los fondos, pero las medianas siguen concentradas a unos pocos puntos básicos de distancia entre sí. Como referencia, el análisis detallado de microestructura del 29 de junio utiliza la cinta de cotizaciones de SPY de esa misma sesión, cuyo spread es aún más estrecho que el de cualquiera de los fondos de esta tabla.
Preguntas frecuentes
¿Qué sector tuvo el mejor desempeño en el primer semestre de 2026?
Tecnología. XLK obtuvo 30.8% en el semestre, todo en el segundo trimestre (42% en el segundo trimestre, después de -8.7% en el primero). Servicios de comunicación (XLC) fue el peor, con -9.3%.
¿Fueron los mismos sectores los líderes del primer y segundo trimestre de 2026?
No. Los dos trimestres fueron casi opuestos. Energía lideró el primer trimestre con 36.9% y terminó el segundo con -11%; tecnología registró -8.7% en el primer trimestre y lideró el segundo con 42%. Utilities y bienes de consumo básico lideraron al inicio y perdieron fuerza al final.
¿Cuánto cuesta operar un ETF sectorial SPDR?
En la sesión medida del 29 de junio de 2026, los spreads cotizados medianos oscilaron entre 0.62 puntos básicos (XLV) y 2.23 (XLRE), es decir, centésimas de punto porcentual por operación completa. Fueron mucho más estrechos que los de una acción individual típica.
¿Por qué el rendimiento de un ETF sectorial difiere del rendimiento de sus integrantes?
Los fondos ponderan las posiciones por valor de mercado. Por eso, unas pocas posiciones de gran tamaño dominan los prints, mientras que la mediana de una canasta asigna el mismo peso a cada integrante. En el primer semestre de 2026, la brecha fue más amplia en atención médica: una mediana de canasta de cinco nombres de 21.7% frente a 2.5% de XLV.
¿Cuáles son los once ETFs sectoriales?
XLB (materiales), XLC (servicios de comunicación), XLE (energía), XLF (financieras), XLI (industriales), XLK (tecnología), XLP (bienes de consumo básico), XLRE (bienes raíces), XLU (utilities), XLV (atención médica) y XLY (bienes de consumo discrecional). En conjunto, dividen el S&P 500 por sectores.
Notas sobre los datos
Notas completas sobre los datos
- Las canastas de amplitud son muestras editoriales fijas de cinco acciones large-cap representativas del sector. No corresponden a posiciones de fondos y no tienen ponderaciones. Los candidatos se filtraron según el calendario de splits del semestre. Las barras de un minuto no están ajustadas. Un split ocurrido a mitad del periodo invalida el rendimiento de apertura a cierre. Por ese motivo, se sustituyeron dos nombres que, de otro modo, eran opciones evidentes. Todas las cifras de esta página corresponden al rendimiento por precio; no incluyen dividendos.
- Las medianas de las canastas utilizan cuantiles deterministas. En caso de empate, los mejores y peores componentes se ordenan por ticker. Así, la regeneración no puede cambiar el orden de los empates.
- El panel de spread mide una sola sesión, el 29 de junio de 2026, no todo el semestre. Escanear durante seis meses el libro completo de cotizaciones de once tickers supera el presupuesto de consultas con el que se genera esta página. Las cotizaciones inválidas —cruzadas o unilaterales— se contabilizan en el panel; no se eliminan silenciosamente.
- El panel de scorecard utiliza la misma consulta que aparece en el resumen del H1, por lo que las dos páginas no pueden diferir en una cifra sectorial.
Metodología
- La ventana abarca del 1 de enero al 30 de junio de 2026. Los rendimientos se calculan desde la apertura de la sesión regular hasta el cierre de la sesión regular dentro de cada ventana, mediante las consultas mostradas. El horario regular se filtra según la hora local del mercado en Eastern (9:30–15:59), convertida por fila. El proceso es compatible con el horario de verano en los meses del semestre que corresponden a EST y EDT.
- Los límites trimestrales se aplican según la fecha de trading en Eastern: Q1 termina el 31 de marzo y Q2 comienza el 1 de abril.
- El volumen en dólares suma el precio multiplicado por las acciones durante el horario regular, en las mismas consultas.
- La generación se ejecuta mediante la ruta de solo lectura con controles de acceso; la página pública nunca consulta datos en vivo. El estado del almacén de datos corresponde al 12 de julio de 2026.
El registro completo del semestre, los índices, las tasas y el tape de opciones están en el resumen de mercado del H1 de 2026. Para segmentar un sector de otra manera, el SQL de cada panel se ejecuta sin modificaciones en la terminal de Strasmore.