Strasmore Research
Навчання Matt ConnorВід Matt Connor · Оновлено 2026-07-24

Що таке середній щоденний обсяг ADV

Середній щоденний обсяг відображає типову кількість акцій, що торгуються за день. Показник є знаменником у розрахунках днів для покриття та тесті ліквідності.

Середній щоденний обсяг — ADV — це найпоширеніший показник, який зазвичай не визначають. Він відображає типову кількість акцій, що торгуються за день, обчислену як середнє значення за певний попередній період. Цей показник є знаменником у кількості днів для покриття, базовою лінією у відносному обсязі та тестом ліквідності в кожному скринері. Це означає, що кожен із цих показників базується на прихованих параметрах ADV: виборі часового вікна, торгових сесій, а також вимірюванні в акціях чи доларах. Ця сторінка містить належне визначення показника, покроковий розбір арифметичних обчислень та аналіз кожного з цих параметрів на основі реальних даних.

Виміряний середній щоденний обсяг

Двадцять сесій у регулярні години — з 11 червня по 10 липня 2026 року — чотири відомі назви та одна навмисно низьколіквідна. Акції, долари та (згодом) частка загального обсягу кожної назви, що торгується поза регулярними годинами:

Запит20-сесійний ADV у регулярні години — акції, $, та обсяг у подовжені години (11 червня – 10 липня 2026)
Точний SQL-код для кожного числа
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

Таблиця містить основний аргумент цієї сторінки. MU та AAPL торгують майже однаковою кількістю акцій щодня — 42.01M проти 41.47M, але колонка з доларами розділяє їх суттєво: $44.49B проти $12.24B на день. Акції вимірюють активність; долари вимірюють гроші. Рейтинг навіть змінюється на вершині: SPY лідирує за кількістю акцій (46.01M за 20 сесій), тоді як MU лідирує в цій таблиці за доларами. А внизу CATO торгує 0.05 мільйонами акцій на день — це настільки мала сума грошей, що колонка з мільярдами на цьому масштабі показує 0. Це той тип стрічки, де одне інституційне замовлення і Є денним обсягом, і де витрати на торгівлю існують у зовсім іншому всесвіті.

Як розрахувати середньодобовий обсяг

Арифметика навмисно проста: додайте щоденні обсяги акцій за обраний період і розділіть на кількість днів. Один повний тиждень торгів Coca-Cola у регулярні години (6–10 липня 2026 року), де загальна сума та середнє значення обчислені в одному запиті:

ЗапитРозрахунок ADV вручну — п'ять щоденних обсягів KO, їхня сума та середнє (6–10 липня 2026)
Точний SQL-код для кожного числа
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

Додайте п'ять днів — 10.7 + 12.1 + 10.7 + 11 + 8.3 мільйонів акцій — і загальна сума становить 52.8M. Розділіть на п'ять: 10.6M акцій, це ADV KO за п'ять сесій. 20-сесійний ADV обчислюється за тією ж арифметикою для двадцяти рядків — саме це число вказано в першій таблиці. Зверніть увагу на те, що приховує середнє значення: 2026-07-07 зафіксував 12.1M, а 2026-07-10 зафіксував 8.3M. Це щоденні коливання, які ADV згладжує до однієї цифри. Останній стовпець демонструє розрахунок розміру позиції: один відсоток від ADV KO становить приблизно 106 тисяч акцій — це масштаб, при якому один ордер починає бути помітною часткою денного обсягу торгів.

Вікно — це вибір, який визначає швидкість «забування» ADV

Загальноприйнятим стандартом є двадцять сесій (торговий місяць); також використовуються десять, тридцять, шістдесят п'ять та дев'яносто. Вікно визначає, як швидко ADV втрачає старі дані. MU є актуальним прикладом дві тисячі двадцять шостого року — актив, чия котирувальна стрічка настільки різко змінилася в середині року, що показники ADV за останній місяць та за останній квартал навесні демонстрували різні результати, що підтверджено в детальному аналізі за червень. Нижче наведено дані тієї самої акції за ті самі сім місяців, виміряні за допомогою обох вікон одночасно:

ЗапитMU — ковзний 20-сесійний проти 90-сесійного ADV, грудень 2025 – 10 липня 2026 (вибірка кожну третю сесію)
Точний SQL-код для кожного числа
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

2025-12-10 два вікна збігалися: 21.3M за 20-сесійним підрахунком та 19.9M за 90-денним. До 2026-04-14 вони розійшлися до 45.6M проти 31.9M — два «офіційні» показники ADV для однієї акції за один день. Через це кожен скринер, показник днів покриття або значення відносного обсягу, прив'язані до одного вікна, суперечили інструменту, прив'язаному до іншого. До 2026-07-10 ці показники знову збіглися (42M проти 41.9M): новий рівень обсягу відобразився і в довгостроковому вікні. Якщо два джерела надають різні дані про ADV акції, першою причиною зазвичай є вибір вікна; другою — включення обсягів позабіржової торгівлі.

Що відбувається з ADV одразу після шоку обсягів

Графік вище натякає на це; ось конкретні вимірювання. Візьмемо найрізкіший шок обсягів MU у 2026 році — сесію, яка найбільше перевищила власний ковзний ADV за 20 сесій — і порівняємо ADV, який відображав скринер перед цим днем, із показником через місяць:

ЗапитНайрізкіший шок обсягу MU у 2026 році — день події проти попереднього та наступного ADV
Точний SQL-код для кожного числа
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

2026-03-19 компанія MU зафіксувала обсяг 64.7M акцій при попередньому ADV 28.7M — це у 2.3 разів перевищило базовий показник. Протягом наступних 20 сесій ковзний ADV становив у середньому 45M: зростання знаменника на 57%. Усі показники, що базуються на ADV, змінилися відповідно — значення відносного обсягу зменшилися (оскільки зросла база) і кількість днів для покриття скоротилася (оскільки зріс знаменник), хоча фактичні позиції учасників ринку не змінилися. У випадку MU підвищена активність збереглася — шок означив переоцінку, а не одноденну подію — але механіка в обох випадках однакова: після періоду високої активності ADV вимірює саму подію, а не звичну поведінку акції, протягом одного повного вікна розрахунку.

Визначення та вимірювання ліквідності

Фразу «мільйони доларів на день» зазвичай використовують як спрощене визначення можливості торгівлі. Нижче наведено фактичний розподіл — усі символи, що торгуються в США, які мали принаймні п'ятнадцять із двадцяти однакових сесій, ранжовані за середнім щоденним обсягом торгів (ADV) у доларах:

ЗапитДоларовий ADV по всій стрічці США — перцентилі та кількість значень вище порогу (11 червня – 10 липня 2026)
Точний SQL-код для кожного числа
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

Серед 10864 символів медіанний оберіг становить $2.2M на день — половина ринку США торгується меншим обсягом. Чверть ринку торгується на суму менше $0.33M. 75-й перцентиль становить $20.4M, 90-й — $113.7M, 99-й — $1333M. Відповідно до круглих порогів: 6515 активів мають оберіг понад $1M на день, 3535 — понад $10M, 1166 — понад $100M, і лише 130 — понад $1B. Компанії, які є об'єктами фінансового аналізу, майже повністю належать до останньої групи; медіанна акція, що торгується на біржі, є зовсім іншим інструментом.

Де ADV мовчки визначає інші показники

  • Кількість днів для покриття = короткий інтерес ÷ ADV. Стрибок обсягу зменшує цей коефіцієнт без зміни короткої позиції — це результат зміни знаменника.
  • Відносний обсяг = сьогоднішній темп ÷ ADV. Те саме число, але протилежна роль: тут ADV є базовою лінією, яку необхідно перевищити.
  • Фільтри ліквідності («лише активи з ADV понад 1M») — кожен бектест і скринер містить такий фільтр, що призводить до прихованого ефекту виживання: активи потрапляють у такі фільтри саме під час своїх найбільш драматичних тижнів.
  • Розмір позиції — інституційна звичка торгувати лише кількома відсотками від ADV на день є причиною, чому великі фонди просто не можуть володіти певними малими акціями: для формування або закриття позиції знадобилися б тижні всього обсягу торгів.

Приклад із кількістю днів для покриття варто розглянути на реальних цифрах, оскільки навіть «офіційний» показник базується на чиємусь виборі ADV. FINRA публікує кількість днів для покриття поруч із власним знаменником обсягу (кожен майданчик має своє вікно звітності, мінімальне значення якого становить один цілий нуль десятих — див. як надходять ці дані); якщо перерахувати той самий коефіцієнт, використовуючи ADV за двадцять сесій у регулярні години з цієї сторінки, результат зміниться:

ЗапитПерерахунок Days to cover — знаменник FINRA проти 20-сесійного ADV у регулярні години (розрахунок 30 червня 2026)
Точний SQL-код для кожного числа
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

Той самий короткий інтерес, два різні знаменники. Для KO FINRA повідомляє про 2.06 днів на основі свого показника обсягу в 24.1M акцій; порівняно з ADV цієї сторінки в 12.4M у регулярні години, та сама коротка позиція в 49.6M акцій становить 4 днів — майже вдвічі більше. Для MU опубліковане число перебуває на рівні встановленого мінімуму 1; після перерахунку воно становить 0.75 днів. Жодна з цифр не є помилковою — вони базуються на різних знаменниках. Цей урок є універсальним: будь-який коефіцієнт, де ADV стоїть у знаменнику, мовчки відображає чийсь вибір часового вікна та торгових сесій.

Чи працює ADV для опціонів?

Трейдери опціонами спираються на ту саму концепцію з одним нюансом: обсяг підраховується в контрактах, і кожен стандартний контракт на акції контролює сто акцій. Ті самі двадцять сесій, чотири стрічки опціонів, при цьому кількість контрактів конвертується в еквівалентний обсяг акцій:

ЗапитADV опціонів — середньодобова кількість контрактів та експозиція в еквіваленті акцій (11 червня – 10 липня 2026)
Точний SQL-код для кожного числа
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

Різниця в масштабах значно перевищує будь-які показники в таблиці акцій. Стрічка опціонів SPY в середньому становила 12543.2 тисяч контрактів на день — 1254.3M акцій еквівалентного обсягу, що в багато разів перевищує власний ADV інструмента SPY у 46.01M акцій. KO демонструє протилежну тенденцію: 64.6 тисяч контрактів (6.5M еквівалентних акцій), що нижче за його ADV у 12.4M акцій. Ліквідність опціонів зосереджена в кількох базових активах і ще більше розсіюється за ціною виконання (strikes) та датами експірації. Сукупний показник переоцінює обсяги торгів будь-яким окремим контрактом, тому перед визначенням розміру ордера на опціони все ще необхідно перевіряти обсяг і відкритий інтерес по конкретному контракту.

Аналіз ADV з позиції практика

Три звички допомагають перейти від знання визначення до практичного застосування. Поєднуйте ADV у акціях із ADV у грошовому еквіваленті — перша таблиця демонструє два активи з майже однаковою кількістю акцій, але великою різницею в грошах, і саме грошовий стовпець має значення для виконання ордера. Не довіряйте ADV одразу після певних подій — панель шокових значень це підтверджує: один період високої активності змінив знаменник 57% за місяць, що механічно знизило відносний обсяг та кількість днів для покриття, поки цей сплеск не вийде за межі часового вікна. Перевіряйте ADV за календарем — п'ятниці експірації, дні ребалансування та дати зміни складів індексів одночасно збільшують обсяги всіх активів (дні відьомництва найбільше), тому загальний важкий день на ринку нічого не говорить про ситуацію з конкретним активом.

FAQ щодо середнього щоденного обсягу торгів

Яким є хороший середній щоденний обсяг?

За результатами вимірювань 10864 символів США протягом 20 сесій, медіанний доларовий ADV склав $2.2M; 3535 активів перевищили $10M на день і лише 130 перевищили $1B. Для ордерів роздрібного розміру корисним показником є долари, а не акції — активи в групі від $10M і вище торгуються так, що малий ордер не змінює ціну.

Як розрахувати середній щоденний обсяг?

Додайте щоденні обсяги акцій за обраний період і розділіть на кількість днів. П'ять сесій KO з 6 по 10 липня 2026 року в сумі становлять 52.8M акцій; при діленні на п'ять ADV становить 10.6M. 20-денний ADV розраховується за такою ж арифметикою за 20 сесій.

За який період вимірюється ADV?

Найчастіше це 20 торгових сесій (приблизно місяць), але також використовуються 10-, 30-, 65- та 90-денні версії — і вони суттєво відрізняються після будь-якого стрибка обсягів. 2026-04-14 20-сесійний ADV компанії MU становив 45.6M, тоді як її 90-сесійний ADV того ж дня становив 31.9M. Перевіряйте період перед порівнянням джерел.

Чи включає ADV обсяги премаркету та післязакриття ринку?

Це залежить від джерела — показники на цій сторінці стосуються лише регулярних годин торгів. За ті самі 20 сесій розширені сесії склали 18.3% від загального обсягу SPY, 6.9% від AAPL та 0.2% від малоліквідного CATO — посібник із розширених годин торгів детально описує ці сесії.

ADV вимірюється в акціях чи в доларах?

Традиційно в акціях, але доларовий ADV є кращим показником ліквідності для різних акцій. За ті самі 20 сесій MU та AAPL торгували по 42.01M та 41.47M акцій на день — майже однаково — тоді як їхні доларові ADV становили $44.49B та $12.24B. Однакова кількість акцій, але дуже різні масштаби капіталу.


Кожна цифра є збереженим версіонованим запитом — розгорніть SQL під будь-якою панеллю або обчисліть будь-який період для будь-якого тікера в терміналі Strasmore.