Wat is Average Daily Volume ADV
Average Daily Volume is het typische aantal verhandelde aandelen per dag. Het is de noemer voor days to cover en de basis voor elke liquidity screener.
De gemiddelde dagelijkse omzet — ADV — is de meest gebruikte waarde die niemand definieert: het typische aantal verhandelde aandelen per dag, berekend over een bepaalde periode. Het is de noemer binnen dagen om te dekken, de basislijn binnen relatieve volume, en de liquiditeitstest in elke screener — wat betekent dat al deze cijfers de keuzes achter de ADV overnemen: welke periode, welke sessies, aandelen of dollars. Deze pagina definieert de term correct, voert de berekening handmatig uit en meet elke keuze op basis van de werkelijke marktgegevens.
Gemiddeld dagelijks volume, gemeten
Twintig sessies tijdens reguliere handelsuren — 11 juni tot en met 10 juli 2026 — vier bekende namen plus één opzettelijk dunne naam. Aandelen, dollars en (voor later) het deel van het totale volume van elke naam dat buiten de reguliere uren wordt verhandeld:
De exacte SQL achter elk getal
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 DESCDe tabel vormt de kern van het betoog op deze pagina. MU en AAPL verhandelen bijna hetzelfde aantal aandelen per dag — 42.01M tegenover 41.47M — maar de kolom in dollars laat een groot verschil zien: $44.49B tegenover $12.24B per dag. Aandelen meten de activiteit; dollars meten het geld. De rangorde keert zelfs om aan de top: SPY leidt in aandelen (46.01M over 20 sessies), terwijl MU deze tabel leidt in dollars. En onderaan verhandelt CATO 0.05 miljoen aandelen per dag — zo weinig geld dat de kolom in miljarden op deze schaal 0 laat zien. Dit is het type markt waar een enkele institutionele order de totale dagelijkse volume IS, en waar trading costs in een andere dimensie bestaan.
Hoe u de gemiddelde dagelijkse volume berekent
De berekening is eenvoudig: tel de dagelijkse aandelenvolumes over de gekozen periode bij elkaar op en deel dit door het aantal dagen. Eén volledige week aan handelsvolume van Coca-Cola tijdens de reguliere handelsuren (6–10 juli 2026), waarbij het lopende totaal en het gemiddelde in dezelfde query worden berekend:
De exacte SQL achter elk getal
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_dateTel de vijf dagen op — 10.7 + 12.1 + 10.7 + 11 + 8.3 miljoen aandelen — en het totaal is 52.8M. Deel dit door vijf: 10.6M aandelen, de ADV van KO over 5 sessies. Een ADV over 20 sessies gebruikt dezelfde berekening over 20 rijen — dit is het getal in de eerste tabel. Let op wat het gemiddelde verbergt: 2026-07-07 noteerde 12.1M en 2026-07-10 noteerde 8.3M, dagelijkse schommelingen die de ADV gladstrijkt tot één enkel getal. De laatste kolom geeft een voorproefje van de position sizing: één procent van de ADV van KO is ongeveer 106 duizend aandelen — de schaal waarop een enkele order een merkbaar deel van de dagelijkse handel wordt.
De tijdsperiode is een keuze en bepaalt hoe snel de ADV afneemt
Twintig sessies is de gebruikelijke conventie (een handelsmaand); tien, dertig, vijfenzestig en negentig worden ook gebruikt. De tijdsperiode bepaalt hoe snel de ADV afneemt. MU is een actueel voorbeeld voor 2026 — een aandeel waarvan de koers halverwege het jaar zo sterk werd hergewaardeerd dat de trailing-month ADV en de trailing-quarter ADV gedurende het voorjaar verschillende conclusies trokken, zoals te zien is in deze analyse van juni. Hieronder staat hetzelfde aandeel over dezelfde zeven maanden, gemeten met beide vensters tegelijk:
De exacte SQL achter elk getal
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_dateIn 2025-12-10 kwamen de twee vensters overeen: 21.3M op basis van de 20-sessies telling en 19.9M op basis van de 90. Tegen 2026-04-14 was er een verschil ontstaan tussen 45.6M en 31.9M — twee "officiële" ADV's voor één aandeel op één dag. Elke screener, days-to-cover figuur of relative-volume meting gekoppeld aan het ene venster was het oneens met dezelfde tool gekoppeld aan het andere venster. Tegen 2026-07-10 waren de twee weer samengekomen (42M versus 41.9M): het hergewaardeerde volumeniveau was ook in het lange venster verwerkt. Wanneer twee bronnen verschillen over de ADV van een aandeel, is de gekozen tijdsperiode de eerste verdachte; of de volume tijdens extended-hours is meegerekend, is de tweede.
Wat er met de ADV gebeurt direct na een volume shock
De bovenstaande grafiek geeft hier een hint van; hier is het gemeten. Neem de sterkste volume shock van MU in 2026 — de sessie die de eigen trailing 20-session ADV het meest overschreed — en vergelijk de ADV die een screener aangaf voorafgaand aan die dag met de waarde een maand later:
De exacte SQL achter elk getal
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_pctOp 2026-03-19 verhandelde MU 64.7M shares tegen een eerdere ADV van 28.7M — dit is 2.3x de eigen baseline. Over de volgende 20 sessies was de gemiddelde trailing ADV 45M: een stijging van 57% in de noemer. Elk getal afgeleid van de ADV bewoog mee — de relative volume waarden namen af (de baseline groeide) en de days to cover namen af (de noemer groeide), zonder dat de werkelijke positie van iemand veranderde. In het geval van MU bleef het verhoogde handelsvolume aanhouden — de shock markeerde een re-rating in plaats van een eenmalige gebeurtenis — maar de mechanica is in beide gevallen identiek: na een periode van hoge activiteit meet de ADV de gebeurtenis in plaats van de gewoonten van het aandeel voor precies één window-length.
Wat als liquide wordt beschouwd, gemeten
"Miljoenen dollars per dag" is een gebruikelijke term voor verhandelbaarheid. Hier is de werkelijke verdeling — elk in de VS genoteerd symbool met ten minste 15 van de laatste 20 sessies, gerangschikt naar dollar ADV:
De exacte SQL achter elk getal
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_tickerOver 10864 symbolen bedraagt de mediane omzet $2.2M per dag — de helft van de Amerikaanse markt verhandelt minder dan dat bedrag. Een kwart verhandelt minder dan $0.33M. Het 75e percentiel ligt op $20.4M, het 90e op $113.7M, en het 99e op $1333M. Gemeten tegen ronde drempelwaarden: 6515 namen halen $1M per dag, 3535 halen $10M, 1166 halen $100M — en slechts 130 halen $1B. De namen waar de financiële verslaggeving zich op richt, verhandelen bijna volledig binnen die laatste groep; de mediane genoteerde aandeel is een totaal ander instrument.
Waar ADV stilletjes andere cijfers bepaalt
- Days to cover = short interest ÷ ADV. Een volumepiek verlaagt de ratio zonder dat de short position verandert — de noemer is de oorzaak.
- Relative volume = de huidige snelheid ÷ ADV. Dezelfde waarde, maar een tegenovergestelde rol: hier is ADV de baseline die wordt overtroffen.
- Liquidity screens ("alle namen boven 1M ADV") — elke backtest en screener bevat er een, en survivorship volgt stilletjes: namen komen in dergelijke screens terecht door hun meest dramatische weken.
- Position sizing — de institutionele gewoonte om slechts enkele procenten van de ADV per dag te verhandelen, is de reden waarom grote fondsen bepaalde kleine aandelen simpelweg niet kunnen bezitten: er zouden weken aan volume van de totale tape nodig zijn om een positie op te bouwen of te verlaten.
De days-to-cover case is het waard om met echte cijfers te bekijken, aangezien zelfs het "officiële" cijfer de ADV-keuze van iemand bevat. FINRA publiceert days to cover naast de eigen volume-noemer (elke marktplaats heeft zijn eigen rapportageperiode, met een minimum van 1.0 — zie hoe die data wordt verkregen); herbereken dezelfde ratio met de 20-session regular-hours ADV van deze pagina en het antwoord verandert:
De exacte SQL achter elk getal
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 tickerDezelfde short interest, twee noemers. Voor KO rapporteert FINRA 2.06 dagen op basis van hun 24.1M-share volume-cijfer; tegenover de 12.4M regular-hours ADV van deze pagina komt dezelfde 49.6M-share short position uit op 4 dagen — bijna het dubbele. Voor MU ligt het gepubliceerde cijfer op de gerapporteerde floor van 1; herberekend is het 0.75 dagen. Geen van beide cijfers is fout — ze geven antwoord met verschillende noemers. De les is algemeen toepasbaar: elke ratio met ADV in de noemer citeert stilletjes iemands keuzes voor vensters en sessies.
Werkt ADV voor opties?
Optiehandelaren gebruiken hetzelfde concept met één verschil: het volume wordt in contracten gemeten, en elk standaard aandelencontract geeft recht op 100 aandelen. Dezelfde 20 sessies, vier optietapes, waarbij het aantal contracten wordt omgezet naar de exposure in aandelen:
De exacte SQL achter elk getal
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 DESCDe schaalverschillen zijn vele malen groter dan in de tabel voor aandelen. De optietape van SPY had een gemiddelde van 12543.2 duizend contracten per dag — 1254.3M aandelen aan equivalente exposure, een grote veelvoud van de eigen share ADV van SPY van 46.01M. KO werkt andersom: 64.6 duizend contracten (6.5M share-equivalent), lager dan de share ADV van 12.4M. De liquiditeit in opties is geconcentreerd in een handvol onderliggende waarden, en neemt verder af over verschillende strikes en expiries. Een geaggregeerd cijfer zoals dit overschat wat elk individueel contract verhandelt; daarom moeten het volume per contract en het open interest nog steeds worden gecontroleerd voordat de omvang van een optieorder wordt bepaald.
ADV analyseren als een professional
Drie gewoontes verkleinen het verschil tussen de definitie kennen en deze toepassen. Combineer ADV met dollar ADV — de eerste tabel laat twee namen zien die bijna gelijk zijn in aandelen, maar sterk verschillen in kapitaal; de kolom met kapitaal is de enige die relevant is voor een order. Vertrouw ADV niet direct na gebeurtenissen — het shock-paneel laat dit zien: een zware periode veranderde de noemer met 57% in één maand, wat relative volume en days to cover mechanisch verlaagt totdat de piek uit het tijdsvenster is verdwenen. Controleer ADV aan de hand van de kalender — vrijdag met expiratie, rebalance-dagen en data van indexwijzigingen verhogen het volume van iedereen tegelijk (witching days het meest), waardoor een zware dag voor de gehele markt niets zegt over het specifieke verloop van een individuele naam.
FAQ over de gemiddelde dagelijkse volume
Wat is een goede gemiddelde dagelijkse volume?
Gemeten over 10864 US symbols gedurende 20 sessies, was de mediane dollar ADV $2.2M; 3535 namen handelden voor meer dan $10M per dag en slechts 130 namen handelden voor meer dan $1B. Voor orders van retailgrootte is de relevante ondergrens in dollars, niet in aandelen — namen in de groep van $10M-plus handelen zonder dat een kleine order de prijs beïnvloedt.
Hoe berekent u de gemiddelde dagelijkse volume?
Tel de dagelijkse volumes in aandelen op over de gekozen periode en deel dit door het aantal dagen. De vijf sessies van KO tussen 6 en 10 juli 2026 komen samen tot 52.8M aandelen; gedeeld door vijf is de ADV 10.6M. Een 20-daagse ADV is dezelfde berekening over 20 sessies.
Over welke periode wordt de ADV gemeten?
Meest voorkomend is 20 handelsbeurssessies (ongeveer een maand), maar versies van 10, 30, 65 en 90 dagen circuleren ook — en deze verschillen aanzienlijk na een volume shock. Op 2026-04-14 was de 20-sessies ADV van MU 45.6M, terwijl de 90-sessies ADV op diezelfde dag 31.9M was. Controleer de periode voordat u bronnen vergelijkt.
Omvat de ADV ook volume voor de premarket en after-hours?
Dit hangt af van de bron — de cijfers op deze pagina betreffen uitsluitend de reguliere handelsuren. Gemeten over dezelfde 20 sessies, bedroegen de extended sessions 18.3% van het totale volume van SPY, 6.9% van AAPL, en 0.2% van de dunbevolkte CATO — de gids voor extended-hours geeft een uitsplitsing van de sessies.
Is de ADV in aandelen of in dollars?
Traditioneel in aandelen, maar de dollar ADV is de betere maatstaf voor liquiditeit tussen aandelen. Over dezelfde 20 sessies handelden MU en AAPL 42.01M en 41.47M aandelen per dag — bijna gelijk — terwijl hun dollar ADVs respectievelijk $44.49B en $12.24B waren. Dezelfde hoeveelheid aandelen, zeer verschillende volumes.
Elk cijfer is een opgeslagen, versiespecifieke query — breid de SQL onder elk paneel uit, of bereken elke periode voor elke ticker op de Strasmore terminal.