Strasmore Research
Educación Matt ConnorPor Matt Connor · Actualizado 2026-07-23

Qué es el volumen diario promedio ADV

El ADV es el promedio de acciones negociadas de un ticker por día. Es el denominador en el cálculo de days to cover, relative volume y filtros de liquidez.

El volumen diario promedio — ADV — es el dato más utilizado que nadie se molesta en definir: representa el promedio de acciones negociadas de una acción por día, calculado sobre un periodo determinado. Es el denominador dentro de days to cover, la base de relative volume y la prueba de liquidez en cada screener. Esto significa que cada uno de esos indicadores hereda las decisiones implícitas del ADV: qué periodo usar, qué sesiones incluir, y si se mide en acciones o en dólares. Esta página lo define correctamente, explica el cálculo paso a paso y mide cada una de esas variables con datos reales de mercado.

Volumen diario promedio, medido

Veinte sesiones de horario regular —del 11 de junio al 10 de julio de 2026— cuatro nombres conocidos más uno con liquidez deliberadamente baja. Acciones, dólares y (para más adelante) la proporción del volumen total de cada nombre que se negocia fuera del horario regular:

ConsultaADV de 20 sesiones en horario regular — acciones, dólares y acciones en horario extendido (11 de junio – 10 de julio de 2026)
El SQL exacto detrás de cada cifra
WITH per_day AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
           sumIf(toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') >= '09:30'
                                AND formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '16:00') AS rth_shares,
           sumIf(toFloat64(close) * toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') >= '09:30'
                                                   AND formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '16:00') AS rth_dollars,
           sum(toFloat64(volume)) AS all_shares
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'AAPL', 'MU', 'KO', 'CATO')
      AND window_start >= toDateTime('2026-06-11 00:00:00', 'America/New_York')
      AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
    GROUP BY ticker, et_date
)
SELECT ticker,
       round(avg(rth_shares) / 1e6, 2) AS adv_shares_m,
       round(avg(rth_dollars) / 1e9, 2) AS adv_dollars_bn,
       round(100 * (sum(all_shares) - sum(rth_shares)) / sum(all_shares), 1) AS extended_hours_pct,
       count() AS sessions
FROM per_day
GROUP BY ticker
ORDER BY adv_shares_m DESC

La tabla contiene el argumento central de esta página. MU y AAPL negocian casi la misma cantidad de acciones cada día —42.01M frente a 41.47M— pero la columna de dólares los separa drásticamente: $44.49B frente a $12.24B al día. Las acciones miden la actividad; los dólares miden el dinero. El ranking incluso se invierte en la parte superior: SPY lidera en acciones (46.01M a lo largo de 20 sesiones) mientras que MU lidera esta tabla en dólares. Y en la parte inferior, CATO negocia 0.05 millones de acciones al día —tan poco dinero que la columna de miles de millones muestra 0 a esta escala. Ese es el tipo de registro donde una sola orden institucional ES el volumen del día, y donde los costos de negociación operan en un universo distinto.

Cómo calcular el volumen diario promedio

El cálculo es deliberadamente simple: sume los volúmenes diarios de acciones durante el periodo elegido y divida el resultado entre el número de días. Una semana completa de la cotización de Coca-Cola en horario regular (del 6 al 10 de julio de 2026), con el total acumulado y el promedio calculados en la misma consulta:

ConsultaADV manual — cinco volúmenes diarios de KO, su suma y el promedio (6–10 de julio de 2026)
El SQL exacto detrás de cada cifra
SELECT session_date,
       shares_m,
       round(sum(shares_m) OVER (), 1) AS five_day_total_m,
       round(avg(shares_m) OVER (), 1) AS adv_m,
       round(avg(shares_m) OVER () * 0.01 * 1000, 0) AS one_pct_of_adv_k
FROM (
    SELECT formatDateTime(toDate(toTimeZone(window_start, 'America/New_York')), '%Y-%m-%d') AS session_date,
           round(sumIf(toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') >= '09:30'
                                      AND formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '16:00') / 1e6, 1) AS shares_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'KO'
      AND window_start >= toDateTime('2026-07-06 00:00:00', 'America/New_York')
      AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
    GROUP BY session_date
)
ORDER BY session_date

Sume los cinco días — 10.7 + 12.1 + 10.7 + 11 + 8.3 millones de acciones — y el total es 52.8M. Divida entre cinco: 10.6M de acciones, el ADV de 5 sesiones de KO. Un ADV de 20 sesiones utiliza la misma aritmética sobre 20 filas, que es la cifra de la primera tabla. Observe lo que el promedio oculta: 2026-07-07 registró 12.1M y 2026-07-10 registró 8.3M, variaciones diarias que el ADV suaviza en una sola cifra. La última columna anticipa el dimensionamiento de la posición: el uno por ciento del ADV de KO es aproximadamente 106 mil acciones, la escala en la que una sola orden comienza a representar una parte notable del volumen diario.

El periodo de tiempo es una elección, y determina qué tan rápido el ADV se olvida

Veinte sesiones es la convención común (un mes de trading); también se utilizan diez, treinta, sesenta y cinco y noventa. El periodo determina la velocidad con la que el ADV se olvida. MU es el ejemplo actual de 2026: un nombre cuyo tape tuvo una revalorización tan fuerte a mitad de año que su ADV de los últimos doce meses y su ADV del último trimestre contaron historias distintas durante la primavera, como se detalla en su análisis profundo de junio. Aquí se presenta la misma acción durante los mismos siete meses, medida con ambos periodos simultáneamente:

ConsultaMU — ADV móvil de 20 vs 90 sesiones, diciembre 2025 a julio 10, 2026 (muestreo cada tres sesiones)
El SQL exacto detrás de cada cifra
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
           sum(toFloat64(volume)) AS day_shares
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'MU'
      AND window_start >= toDateTime('2025-08-01 00:00:00', 'America/New_York')
      AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY et_date
),
rolled AS (
    SELECT et_date,
           avg(day_shares) OVER (ORDER BY et_date ROWS BETWEEN 19 PRECEDING AND CURRENT ROW) AS adv20,
           avg(day_shares) OVER (ORDER BY et_date ROWS BETWEEN 89 PRECEDING AND CURRENT ROW) AS adv90,
           row_number() OVER (ORDER BY et_date) AS rn,
           count() OVER () AS total_rows
    FROM daily
)
SELECT formatDateTime(et_date, '%Y-%m-%d') AS date,
       round(adv20 / 1e6, 1) AS adv_20_session_m,
       round(adv90 / 1e6, 1) AS adv_90_session_m
FROM rolled
WHERE rn > 90 AND (rn % 3 = total_rows % 3)
ORDER BY et_date

En 2025-12-10 ambos periodos coincidían: 21.3M en el conteo de 20 sesiones y 19.9M en el de 90. Para 2026-04-14 se habían separado en 45.6M frente a 31.9M: dos ADV "oficiales" para una sola acción en un mismo día. Cualquier screener, cifra de días para cubrir o lectura de volumen relativo configurada con un periodo discrepaba con la misma herramienta configurada con el otro. Para 2026-07-10 ambos habían convergido nuevamente (42M frente a 41.9M): el nivel de volumen revalorizado también se había integrado en el periodo largo. Cuando dos fuentes discrepan sobre el ADV de una acción, el periodo de tiempo es el primer sospechoso; el segundo es si se incluye el volumen de horario extendido.

Qué sucede con el ADV inmediatamente después de un shock de volumen

El gráfico anterior lo sugiere; aquí se presenta la medición. Tome el shock de volumen más agudo de MU en 2026 —la sesión que más superó su propio ADV de las últimas 20 sesiones— y compare el ADV que mostró un screener antes de ese día con el que mostró un mes después:

ConsultaPico de volumen más agudo de MU en 2026 — el día del evento vs el ADV previo y posterior
El SQL exacto detrás de cada cifra
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
           sum(toFloat64(volume)) AS day_shares
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'MU'
      AND window_start >= toDateTime('2025-11-01 00:00:00', 'America/New_York')
      AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY et_date
),
ranked AS (
    SELECT et_date, day_shares,
           day_shares / avg(day_shares) OVER (ORDER BY et_date ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS shock_ratio,
           row_number() OVER (ORDER BY et_date) AS rn
    FROM daily
),
biggest AS (
    SELECT et_date, day_shares, shock_ratio
    FROM ranked
    WHERE rn > 20 AND et_date >= toDate('2026-01-01')
    ORDER BY shock_ratio DESC, et_date ASC
    LIMIT 1
),
before AS (
    SELECT avg(day_shares) AS adv FROM (
        SELECT day_shares FROM daily WHERE et_date < (SELECT et_date FROM biggest) ORDER BY et_date DESC LIMIT 20
    )
),
after AS (
    SELECT avg(day_shares) AS adv FROM (
        SELECT day_shares FROM daily WHERE et_date >= (SELECT et_date FROM biggest) ORDER BY et_date ASC LIMIT 20
    )
)
SELECT formatDateTime((SELECT et_date FROM biggest), '%Y-%m-%d') AS event_date,
       round((SELECT day_shares FROM biggest) / 1e6, 1) AS event_day_shares_m,
       round((SELECT adv FROM before) / 1e6, 1) AS adv_20_before_m,
       round((SELECT shock_ratio FROM biggest), 1) AS event_vs_prior_adv_x,
       round((SELECT adv FROM after) / 1e6, 1) AS adv_20_after_m,
       round(100 * ((SELECT adv FROM after) / (SELECT adv FROM before) - 1), 0) AS adv_shift_pct

En 2026-03-19, MU registró 64.7M acciones frente a un ADV previo de 28.7M —2.3x su propia base—. Durante las siguientes 20 sesiones, el ADV móvil promedió 45M: un salto de 57% en el denominador. Cada cifra derivada del ADV se movió con este —las lecturas de volumen relativo disminuyeron (la base creció) y los días para cubrir disminuyeron (el denominador creció), sin que fuera necesario cambiar la posición real de nadie. En el caso de MU, el nivel elevado de transacciones persistió —el shock marcó una revalorización y no un evento de un solo día— pero la mecánica es idéntica en ambos casos: tras un periodo de alta actividad, el ADV mide el evento en lugar de los hábitos de la acción durante exactamente un periodo de tiempo.

Qué se considera líquido, medido

"Millones de dólares al día" es la respuesta habitual para referirse a la negociabilidad. Esta es la distribución real: todos los símbolos listados en EE. UU. con al menos 15 de las mismas 20 sesiones, clasificados por ADV en dólares:

ConsultaADV en dólares en todo el mercado de EE. UU. — percentiles y conteo de umbrales (11 de junio – 10 de julio de 2026)
El SQL exacto detrás de cada cifra
WITH per_ticker AS (
    SELECT ticker, avg(day_dollars) AS adv_dollars
    FROM (
        SELECT ticker,
               toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
               sumIf(toFloat64(close) * toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') >= '09:30'
                                                       AND formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '16:00') AS day_dollars
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE window_start >= toDateTime('2026-06-11 00:00:00', 'America/New_York')
          AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
          AND match(ticker, '^[A-Z]+$')
        GROUP BY ticker, et_date
    )
    GROUP BY ticker
    HAVING count() >= 15
)
SELECT count() AS names,
       round(quantileDeterministic(0.25)(adv_dollars, cityHash64(ticker)) / 1e6, 2) AS p25_m,
       round(quantileDeterministic(0.50)(adv_dollars, cityHash64(ticker)) / 1e6, 1) AS median_m,
       round(quantileDeterministic(0.75)(adv_dollars, cityHash64(ticker)) / 1e6, 1) AS p75_m,
       round(quantileDeterministic(0.90)(adv_dollars, cityHash64(ticker)) / 1e6, 1) AS p90_m,
       round(quantileDeterministic(0.99)(adv_dollars, cityHash64(ticker)) / 1e6, 0) AS p99_m,
       countIf(adv_dollars >= 1e6) AS names_above_1m,
       countIf(adv_dollars >= 10e6) AS names_above_10m,
       countIf(adv_dollars >= 100e6) AS names_above_100m,
       countIf(adv_dollars >= 1e9) AS names_above_1bn
FROM per_ticker

A través de 10864 símbolos, el nombre mediano tiene una rotación de $2.2M al día; la mitad del mercado estadounidense negocia menos de eso. Una cuarta parte negocia menos de $0.33M. El percentil 75 se sitúa en $20.4M, el 90 en $113.7M y el 99 en $1333M. Contabilizado frente a umbrales redondos: 6515 nombres superan los $1M al día, 3535 superan los $10M, 1166 superan los $100M — y solo 130 superan los $1B. Los nombres en los que se centra la cobertura financiera operan casi exclusivamente dentro de ese último grupo; la acción listada mediana es un instrumento totalmente distinto.

Donde el ADV decide silenciosamente otros valores

  • Días para cubrir = interés en corto ÷ ADV. Un aumento en el volumen reduce la proporción sin cambios en la posición corta; el denominador es el responsable.
  • Volumen relativo = ritmo de hoy ÷ ADV. El mismo número, pero con el rol opuesto: aquí el ADV es la base de referencia a superar.
  • Filtros de liquidez ("solo nombres con ADV superior a 1M") — cada backtest y screener incluye uno, y el sesgo de supervivencia es una consecuencia silenciosa: los nombres entran en estos filtros al tener sus semanas más drásticas.
  • Dimensionamiento de posición — el hábito institucional de operar solo un pequeño porcentaje del ADV diario es la razón por la cual los grandes fondos no pueden poseer ciertas acciones pequeñas: se necesitarían semanas de todo el volumen del mercado para construir o cerrar una posición.

El caso de los días para cubrir merece analizarse con números reales, ya que incluso la cifra "oficial" incluye la elección del ADV de alguien. FINRA publica los días para cubrir junto a su propio denominador de volumen (cada mercado tiene su propia ventana de reporte, con un mínimo de 1.0 — ver cómo llega ese dato); al recalcular la misma proporción con el ADV de horas regulares de veinte sesiones de esta página, la respuesta cambia:

ConsultaDays to cover recalculado — denominador de FINRA vs el ADV de 20 sesiones en horario regular de esta página (liquidación 30 de junio de 2026)
El SQL exacto detrás de cada cifra
WITH our_adv AS (
    SELECT ticker, avg(day_shares) AS adv
    FROM (
        SELECT ticker,
               toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
               sumIf(toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') >= '09:30'
                                    AND formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '16:00') AS day_shares
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker IN ('MU', 'KO')
          AND window_start >= toDateTime('2026-06-11 00:00:00', 'America/New_York')
          AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
        GROUP BY ticker, et_date
    )
    GROUP BY ticker
),
si AS (
    SELECT ticker,
           max(short_interest) AS short_interest,
           max(avg_daily_volume) AS finra_adv,
           max(days_to_cover) AS finra_dtc
    FROM global_markets.stocks_short_interest
    WHERE settlement_date = '2026-06-30' AND ticker IN ('MU', 'KO')
    GROUP BY ticker
)
SELECT si.ticker AS ticker,
       round(si.short_interest / 1e6, 1) AS shares_short_m,
       round(si.finra_adv / 1e6, 1) AS finra_adv_m,
       round(si.finra_dtc, 2) AS finra_days_to_cover,
       round(our_adv.adv / 1e6, 1) AS rth_adv_20_session_m,
       round(si.short_interest / our_adv.adv, 2) AS days_to_cover_recomputed
FROM si
INNER JOIN our_adv ON si.ticker = our_adv.ticker
ORDER BY ticker

Mismo interés en corto, dos denominadores. Para KO, FINRA reporta 2.06 días sobre su cifra de volumen de 24.1M de acciones; frente al ADV de horas regulares de 12.4M de esta página, la misma posición corta de 49.6M de acciones resulta en 4 días — casi el doble. Para MU, la cifra publicada se sitúa en el mínimo reportado de 1; recalculada, es de 0.75 días. Ninguna cifra es incorrecta: ambas responden con denominadores distintos. La lección es generalizable: cualquier ratio que tenga el ADV en el denominador está citando silenciosamente las elecciones de ventana y sesión de alguien.

¿Funciona el ADV para las opciones?

Los operadores de opciones utilizan el mismo concepto con una variante: el volumen se contabiliza en contratos, y cada contrato estándar de acciones controla 100 acciones. Los mismos 20 días de negociación, cuatro registros de opciones, con el recuento de contratos convertido a exposición equivalente en acciones:

ConsultaADV de opciones — promedio de contratos diarios y exposición equivalente en acciones (11 de junio – 10 de julio de 2026)
El SQL exacto detrás de cada cifra
WITH daily AS (
    SELECT multiIf(ticker LIKE 'O:SPY2%', 'SPY', ticker LIKE 'O:AAPL2%', 'AAPL', ticker LIKE 'O:MU2%', 'MU', 'KO') AS underlying,
           toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
           sum(toFloat64(volume)) AS contracts
    FROM global_markets.options_minute_aggs
    WHERE (ticker LIKE 'O:SPY2%' OR ticker LIKE 'O:AAPL2%' OR ticker LIKE 'O:MU2%' OR ticker LIKE 'O:KO2%')
      AND window_start >= toDateTime('2026-06-11 00:00:00', 'America/New_York')
      AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
    GROUP BY underlying, et_date
)
SELECT underlying,
       round(avg(contracts) / 1e3, 1) AS avg_daily_contracts_k,
       round(avg(contracts) * 100 / 1e6, 1) AS share_equivalent_m,
       count() AS sessions
FROM daily
GROUP BY underlying
ORDER BY avg_daily_contracts_k DESC

Las diferencias de escala superan cualquier dato de la tabla de acciones. El registro de opciones de SPY promedió 12543.2 mil contratos al día — 1254.3M de acciones de exposición equivalente, un múltiplo grande del propio ADV de acciones de SPY de 46.01M. KO funciona de forma opuesta: 64.6 mil contratos (6.5M de equivalente en acciones), por debajo de su ADV de acciones de 12.4M. La liquidez de las opciones se concentra en un grupo reducido de activos subyacentes, y se diluye aún más entre los strikes y los vencimientos; una cifra agregada como esta sobreestima lo que negocia cualquier contrato individual, por lo que el volumen por contrato y el open interest aún deben verificarse antes de dimensionar una orden de opciones.

Cómo leer el ADV como un profesional

Tres hábitos cierran la brecha entre conocer la definición y aplicarla. Compare el ADV con el ADV en dólares — la primera tabla muestra dos nombres con acciones casi empatadas pero con una gran diferencia en dinero; la columna de dinero es la que realmente importa para una orden. Desconfíe del ADV inmediatamente después de eventos — el panel de choques lo demostró: un periodo intenso movió el denominador 57% en un mes, deflactando mecánicamente el volumen relativo y los días para cubrir hasta que el pico sale del periodo de análisis. Compare el ADV con el calendario — los viernes de expiración, los días de rebalanceo y las fechas de cambios de índice inflan el volumen de todos simultáneamente (witching days sobre todo), por lo que un día de alto volumen en todo el mercado no dice nada sobre la historia de un ticker individual.

Preguntas frecuentes sobre el volumen diario promedio

¿Cuál es un buen volumen diario promedio?

Al medir 10864 símbolos de EE. UU. durante 20 sesiones, la mediana del ADV en dólares fue de $2.2M; 3535 nombres superaron los $10M al día y solo 130 superaron los $1B. Para órdenes de tamaño minorista, el límite inferior útil se mide en dólares, no en acciones; los nombres en el grupo de más de $10M operan sin que una orden pequeña mueva el precio.

¿Cómo se calcula el volumen diario promedio?

Sume los volúmenes diarios de acciones durante el periodo elegido y divida entre el número de días. Las cinco sesiones de KO del 6 al 10 de julio de 2026 suman 52.8M acciones; dividido entre cinco, el ADV es 10.6M. Un ADV de 20 días es el mismo cálculo aplicado a 20 sesiones.

¿Sobre qué periodo se mide el ADV?

Lo más común es un periodo de 20 sesiones de negociación (aproximadamente un mes), pero existen versiones de 10, 30, 65 y 90 días; estas difieren significativamente tras cualquier choque de volumen. En 2026-04-14, el ADV de 20 sesiones de MU fue de 45.6M, mientras que su ADV de 90 sesiones fue de 31.9M el mismo día. Verifique el periodo antes de comparar fuentes.

¿El ADV incluye el volumen de premarket y after-hours?

Depende de la fuente; las cifras de esta página corresponden solo al horario regular. Medido durante las mismas 20 sesiones, las sesiones extendidas representaron el 18.3% del volumen total de SPY, el 6.9% de AAPL y el 0.2% de la escasa liquidez de CATO; la guía de horario extendido detalla las sesiones.

¿El ADV se mide en acciones o en dólares?

Tradicionalmente en acciones, pero el ADV en dólares es la mejor medida de liquidez para las acciones. Durante las mismas 20 sesiones, MU y AAPL negociaron 42.01M y 41.47M acciones al día —casi empatados— mientras que sus ADV en dólares fueron de $44.49B y $12.24B. Mismo número de acciones, océanos muy diferentes.


Cada cifra proviene de una consulta almacenada y versionada; expanda el SQL bajo cualquier panel o calcule cualquier periodo para cualquier ticker en la terminal Strasmore.