Strasmore Research
学習 Matt Connor著者: Matt Connor ・更新: 2026-07-24

ADVとは?平均売買代金の定義と計算方法

ADVは1日あたりの平均取引株数を示す指標です。流動性の判定やdays to coverの計算に欠かせない重要な数値について解説します。

平均売買代金(ADV)は、最も頻繁に利用されながら、定義がなされない数値です。これは、一定の期間における、ある銘柄の1日あたりの平均取引株数を示します。ADVは days to cover の分母であり、relative volume の基準となります。また、あらゆるスクリーナーにおける流動性の指標でもあります。そのため、これらの数値は、計算期間、対象セッション、株数か金額かといった、ADVにおける設定に依存します。本ページでは、ADVの正確な定義、計算手順、および実際の市場データに基づく各設定の影響について解説します。

1日平均出来高の測定

2026年6月11日から7月10日までの20取引セッションを対象としています。馴染みのある4銘柄と、意図的に出来高を抑えた1銘柄を比較しています。株式数、金額、および(後述する)時間外取引の総出来高に占める割合を記載しています。

クエリ20セッションの通常時間ADV — 株数、金額、および時間外取引株数 (2026年6月11日–7月10日)
各数値の背後にある正確な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

この表は、本記事の論旨を裏付けるものです。MUAAPLは、1日あたりの取引株式数はそれぞれ42.01Mと41.47Mであり、ほぼ同等です。しかし、金額の列では大きな差があります。1日あたり44.49Bドルに対し、12.24Bドルです。株式数は活動量を、金額は資金量を表します。上位の順位は逆転しています。株式数ではSPY46.01M(20セッション平均)で首位ですが、金額ではMUがこの表の首位です。一方、最下位のCATOは1日あたり0.05百万株を取引しており、金額は極めて小さいため、数十億ドルの列ではこの規模では0と表示されます。これは、機関投資家の注文1件がその日の出来高に匹敵するような、取引コストが全く異なる次元にある銘柄の特性を示しています。

平均出来高の計算方法

計算方法は単純です。指定した期間の1日あたりの出来高を合計し、日数で割ります。Coca-Colaの通常取引時間における1週間分(2026年7月6日〜10日)のデータを用い、合計と平均を同じクエリで算出しています。

クエリ手計算によるADV — KOの5日間の出来高、合計、および平均 (2026年7月6日–10日)
各数値の背後にある正確な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

5日間の合計(10.7 + 12.1 + 10.7 + 11 + 8.3百万株)は52.8M株です。これを5で割ると、KOの5日間のADV(平均出来高)は10.6M株となります。20日間のADVも同様の計算を20行に対して行います。これが最初の表の数値です。平均値によって平滑化される変動に注目してください。2026-07-0712.1M株、2026-07-108.3M株を記録しており、ADVはこうした日々の変動を一つの数値にまとめています。最後の列はポジションサイジングの目安を示しています。KOのADVの1パーセントは約106千株であり、この規模になると単一の注文がその日の出来高に対して無視できない割合を占めるようになります。

期間の設定がADVの減衰速度を左右する

一般的には20セッション(1取引月)が用いられますが、10、30、65、90セッションといった設定も存在します。この期間設定によって、ADV(平均出来高)の減衰速度が決まります。2026年のMUがその好例です。同社は期中に大幅なリレーティング(評価見直し)が発生しました。その結果、直近1ヶ月のADVと直近3ヶ月のADVで、春の時点の数値に乖離が生じました。詳細は 6月の詳細レポート を参照してください。以下は、同じ銘柄を同じ7ヶ月間で、両方の期間設定を用いて比較したものです。

クエリMU — 20セッション vs 90セッションのローリングADV、2025年12月から2026年7月10日 (3セッションごとにサンプリング)
各数値の背後にある正確な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時点では、両方の数値は一致していました。20セッションでは21.3M、90セッションでは19.9Mでした。しかし2026-04-14までには、45.6Mと31.9Mに乖離しました。1つの銘柄に対し、1日のうちに2つの「公式」ADVが存在することになったのです。そのため、特定の期間設定に基づいたスクリーナー、Days-to-cover、相対出来高の数値は、もう一方の設定に基づいた数値と一致しなくなります。2026-07-10になると、両者は再び収束しました(42M対41.9M)。リレーティングによる出来高水準が、長期の期間設定にも反映されたためです。銘柄のADVについて2つの数値が異なる場合、まず疑うべきは期間設定です。次に、時間外取引の出来高が含まれているかを確認する必要があります。

ボリュームショック直後のADVの動き

上記のチャートがそれを示唆していますが、ここでは数値化して示します。MUの2026年における最大のボリュームショック(直近20セッションのADVを最も上回ったセッション)を取り上げ、その日の直前のADVと1ヶ月後の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の出来高は28.7M株でした。これは直前のADVである64.7M株に対し、2.3倍に相当します。その後の20セッションにおける直近ADVの平均は45M株であり、分母となる数値が57%増加しました。ADVに由来するすべての数値がこれに伴って変化しました。具体的には、相対出来高は減少し(ベースラインが上昇したため)、ショートカバー日数も減少しました(分母が増大したため)。これは実際のポジションに変化がなくても起こり得る現象です。MUの場合、高い出来高は継続しました。このショックは単発のイベントではなく、銘柄の評価見直し(re-rating)を意味していました。しかし、メカニズムはどちらの場合も同じです。激しい取引期間の後、ADVは正確に1ウィンドウの期間に限り、銘柄の通常の動きではなく、そのイベントそのものを測定することになります。

流動性の実態

流動性の指標として「1日あたり数百万ドル」という表現がよく使われます。しかし、実際には以下の通りです。米国の全上場銘柄のうち、直近20セッションのうち15セッション以上取引があった銘柄を、ドル建ての平均日次売買代金(ADV)順に並べた結果です。

クエリ全米国市場のドルADV — パーセンタイルおよび閾値カウント (2026年6月11日–7月10日)
各数値の背後にある正確な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銘柄のメディアン(中央値)は、1日あたり2.2Mドルです。米国市場の半数の銘柄は、これ以下の売買代金となっています。4分の1の銘柄は0.33Mドル未満です。75パーセンタイルは20.4Mドル、90パーセンタイルは113.7Mドル、99パーセンタイルは1333Mドルとなっています。キリの良い数値で分類すると、1日あたり100万ドルを超える銘柄は6515銘柄、1,000万ドルは3535銘柄、1億ドルは1166銘柄であり、10億ドルを超えるのはわずか130銘柄です。金融メディアが取り上げる銘柄のほとんどは、この最後のグループに属しています。上場銘柄のメディアンは、それとは全く異なる性質の銘柄です。

Where ADV silently decides other numbers

  • Days to cover = short interest ÷ ADV. A volume spike shrinks the ratio with zero change in the short position — the denominator did it.
  • Relative volume = today's pace ÷ ADV. Same number, opposite role: here ADV is the baseline being beaten.
  • Liquidity screens ("only names above 1M ADV") — every backtest and screener carries one, and survivorship quietly follows: names enter such screens by having their most dramatic weeks.
  • Position sizing — the institutional habit of trading only a few percent of ADV per day is why big funds simply cannot own certain small stocks: weeks of the whole tape's volume would be needed to build or exit a position.

The days-to-cover case is worth seeing with real numbers, since even the "official" figure embeds somebody's ADV choice. FINRA publishes days to cover next to its own volume denominator (every venue, its own reporting window, floored at 1.0 — see how that data arrives); recompute the same ratio with this page's 20-session regular-hours ADV and the answer changes:

クエリDays to cover 再計算 — FINRAの分母 vs 本ページの20セッション通常時間ADV (2026年6月30日決済)
各数値の背後にある正確な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

Same short interest, two denominators. For KO, FINRA reports 2.06 days on its 24.1M-share volume figure; against this page's 12.4M regular-hours ADV, the same 49.6M-share short position works out to 4 days — nearly double. For MU, the published number sits at the reported floor of 1; recomputed, it is 0.75 days. Neither figure is wrong — they answer with different denominators. The lesson generalizes: any ratio with ADV underneath is quietly quoting somebody's window and session choices.

ADVはオプションに適用できますか?

オプション取引師も同様の概念を用いますが、一点だけ異なります。出来高は枚数(コントラクト)でカウントされ、標準的な株式オプション1枚は株式100株に相当します。同じ20セッション、4つのオプションテープを用い、枚数を株式換算の露出量(エクスポージャー)に変換すると以下の通りです。

クエリオプションADV — 1日平均契約数および株式換算エクスポージャー (2026年6月11日–7月10日)
各数値の背後にある正確な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のオプションテープの1日平均は12543.2千枚でした。これは1254.3M株相当の露出量であり、SPY自身の46.01M株のADVを大幅に上回っています。対照的なのがKOです。64.6千枚(6.5M株相当)であり、12.4M株のADVを下回っています。オプションの流動性は一部の原資産に集中しており、権利行使価格や満期が進むにつれてさらに低下します。このような集計数値は、単一のコントラクトの取引量を過大評価する傾向があります。そのため、オプション注文のサイズを決定する前には、コントラクトごとの出来高と建玉(オープン・インタレスト)を別途確認する必要があります。

実務家によるADVの読み解き方

定義を理解している状態から、実際に使いこなせる状態へ移行するには、3つの習慣が重要です。ADVをドル建てADVと組み合わせて確認すること。最初の表では、2つの銘柄のシェア(構成比)はほぼ同等ですが、金額には大きな差があります。実際の注文において重要なのは、金額の列です。イベント直後のADVを鵜呑みにしないこと。ショックパネルの数値がそれを示しています。ある激しい値動きにより、分母である 57% が1ヶ月間で変化しました。その結果、スパイクの影響が期間外に消えるまで、相対的な出来高カバー日数 が機械的に減少します。ADVをカレンダーと照らし合わせること。オプションの満期日、リバランス日、指数変更日は、市場全体の出来高を同時に押し上げます(特に ウィッチング・デー)。そのため、市場全体が活発な日であっても、個別の銘柄の状況を示すものではありません。

平均売買代金(ADV)に関するFAQ

適切な平均売買代金とは?

10864の米国銘柄を対象に20セッションのデータを測定した結果、ドル建てのADVの中央値は2.2Mでした。1日あたりの売買代金が1,000万ドルを超えた銘柄は3535件で、10億ドルを超えたのはわずか130件でした。個人投資家レベルの注文においては、株数ではなくドル建ての金額を基準にすることが重要です。売買代金が1,000万ドル以上の銘柄であれば、少額の注文で価格が動くことはありません。

平均売買代金(ADV)の計算方法

指定した期間の1日あたりの株数を合計し、日数で割ります。KOの場合、2026年7月6日から10日までの5セッションの合計は52.8M株であり、5で割るとADVは10.6Mとなります。20日間のADVも、同様の計算を20セッションに対して行います。

ADVの測定期間は?

一般的には20取引日(約1ヶ月)ですが、10日、30日、65日、90日のものも存在します。出来高が急増した場合、これらの数値は大きく異なります。2026-04-14において、MUの20セッションのADVは45.6Mでしたが、同日の90セッションのADVは31.9Mでした。情報源を比較する際は、測定期間を確認してください。

ADVに時間外取引の出来高は含まれますか?

情報源によります。当ページの数値は取引時間中のもののみです。同じ20セッションのデータにおいて、時間外取引の割合はSPYで18.3%、AAPLで6.9%、出来高の少ないCATOでは0.2%でした。詳細な内訳は時間外取引ガイドをご参照ください。

ADVは株数ですか、それとも金額ですか?

従来は株数が用いられてきましたが、銘柄間の流動性を比較するにはドル建てのADVの方が適しています。同じ20セッションにおいて、MUとAAPLの1日あたりの取引株数はそれぞれ42.01M株と41.47M株で、ほぼ同等でした。しかし、ドル建てのADVはそれぞれ44.49Bドルと12.24Bドルであり、規模には大きな差があります。


すべての数値は、保存・管理されたクエリに基づいています。各パネルの下にあるSQLを展開するか、Strasmoreターミナルを使用して任意の銘柄の任意の期間の数値を計算してください。