VWAPとは?出来高加重平均価格の計算と意味
VWAPは出来高加重平均価格です。価格と出来高を用いた計算式、日次でリセットされる仕組み、実際の取引日に示す意味を解説します。
VWAPは出来高加重平均価格を意味します。取引セッション中に1株当たりで実際に支払われた平均価格で、売買代金の合計を売買株数の合計で割って算出します。毎日、集計をリセットします。売買が活発な時間帯は、閑散とした時間帯よりも計算への寄与が大きくなります。そのためVWAPは、「この銘柄は今日、実際にどの水準で売買されたのか」という問いへの標準的な答えとなります。このページの数値はすべて、実際の分足および個別約定を対象とした、保存・検証可能なクエリから取得しています。
株式におけるVWAPとは何ですか?
株価チャートには1分ごとの価格が表示されます。ただし、それぞれの価格の重要性は同じではありません。ある1分間には数十万株が売買され、別の1分間にはその一部しか売買されないことがあります。1分ごとの価格を単純平均すると、両者を同じように扱うことになります。VWAPは、各価格にその価格で売買された株数のウェートを付けます。そのため、平均値は実際に売買が成立した水準を示します。
別の言い方をすれば、VWAPは「1分当たり」ではなく「1株当たり」の平均価格です。今日売買された全株式を一株ずつ並べ、それぞれにいくらで取引されたかを尋ねられるなら、VWAPはその回答の平均値に当たります。
この定義から、二つの性質が導かれます。VWAPは銘柄ごとに算出されるため、AppleのVWAPからMicrosoftについては何も分かりません。また、セッションごとの指標です。次の取引日の寄り付きになると、累計値はゼロから再び始まります。
VWAPの計算方法
計算式は簡潔です。
- 各一分足の価格に出来高を掛けます。
- その積をセッション全体で合計します。
- 合計を売買された株式数で割ります。
簡単な例を挙げます。ある銘柄が本日、100株を10.00ドル、続いて900株を11.00ドルで、合計二回だけ取引したとします。二つの価格の単純平均は10.50ドルです。しかし、1,000株のうち900株は11.00ドルで取引されています。1株当たりの平均支払額は、(100 × 10.00ドル + 900 × 11.00ドル) ÷ 1,000 = 10.90ドルです。この10.90ドルがVWAPです。二回目の取引数量が大きいため、11.00ドル寄りの水準になります。
実際には、何百万件もの約定を手作業で集計することはありません。一般的には、一分足ごとに価格と出来高を掛け、その合計を総出来高で割ります。ここで二つの慣行に注意が必要です。第一に、このページの数値はすべて、通常取引時間の一分足だけを使っています。対象は、東部時間午前9時30分の寄り付きから午後3時59分の最終バーまでです。その直後に行われる午後4時の終値オークションの約定は、これらの数値には含まれません。一方、機関投資家が執行評価に用いる終日ベンチマークVWAPには、通常この約定が含まれます。第二に、多くのチャート・プラットフォームは、一日のVWAPを午前4時のプレマーケットから開始します。同じ銘柄でも同じ日に、どの慣行を用いるかによって数値は異なります。
実際の取引日におけるVWAP
ここからが実例です。2026年7月2日のAppleを見てみます。データ上で確認できる完全な取引セッション(390の1分足)で、Independence Dayの休場前に当たる市場休場日程の最終取引日です。チャートには、5分ごとの価格と累積VWAPを表示しています。
| ET時刻 | 価格 | 累積VWAP |
|---|---|---|
| 09:34 | 298.2 | 298.09 |
| 09:39 | 300.13 | 298.6 |
| 09:44 | 300.35 | 299.15 |
| 09:49 | 302.17 | 299.69 |
| 09:54 | 301.76 | 300.41 |
| 09:59 | 302.85 | 300.58 |
| 10:04 | 303.05 | 300.82 |
| 10:09 | 303.54 | 301.01 |
| 10:14 | 303.73 | 301.32 |
| 10:19 | 304.37 | 301.48 |
| 10:24 | 304.56 | 301.77 |
| 10:29 | 305.05 | 301.94 |
| 10:34 | 305.71 | 302.25 |
| 10:39 | 305.38 | 302.43 |
| 10:44 | 306.42 | 302.6 |
| 10:49 | 305.54 | 302.79 |
| 10:54 | 306.31 | 302.91 |
| 10:59 | 306.88 | 303.09 |
| 11:04 | 306.64 | 303.28 |
| 11:09 | 306.9 | 303.42 |
各数値の背後にある正確なSQL
SELECT et_time, price, running_vwap
FROM (
SELECT window_start,
formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') AS et_time,
round(close, 2) AS price,
round(sum(close * volume) OVER (ORDER BY window_start)
/ sum(volume) OVER (ORDER BY window_start), 2) AS running_vwap
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
AND window_start >= toDateTime('2026-07-02 09:30:00', 'America/New_York')
AND window_start < toDateTime('2026-07-02 16:00:00', 'America/New_York')
)
WHERE toMinute(window_start) % 5 = 4
ORDER BY window_start09:34 ETの最初のサンプル足では、価格($298.2)と累積VWAP($298.09)がほぼ重なっています。累積した出来高がまだ数分分にとどまるためです。最終足では、価格は$308.22、累積VWAPは$305.99で引けました。これがセッションVWAPです。VWAPラインは時間の経過とともに安定します。午後には数時間分の出来高が積み上がるため、単一の1分足では大きく動かせません。
ウェイトを示す数字がもう一つあります。最初の30分だけで、そのセッションの出来高の14.9%を占めました。これは390分の取引時間に占める割合のおよそ2倍です。しかも、この序盤の大きな出来高を伴う足は、午後の取引水準を下回る価格で成立しました。出来高は寄り付きと、午後4時の大引けオークションが近づく時間帯に再び集中します。これは、相対出来高の数値が調整する必要のある、同じU字型の日中パターンです。VWAPは、対象とする活況時間帯に対し、その出来高が占める比率に応じて、より大きなウェイトを与えます。
VWAPと移動平均の違い
移動平均も価格を平滑化するため、両者は混同されがちです。違いは機械的な計算方法にあります。
- 単純移動平均は、直近N本の終値を取り、各終値を同じ比重で計算します。出来高は考慮しません。移動する指標です。午後2時の20分移動平均は、午後1時40分から午後2時までを対象とし、それ以外は含みません。
- VWAPは寄り付きから累積し、各バーを売買株数で加重して、次の寄り付きでリセットします。答える問いが異なります。「最近、価格はどう動いているか」ではなく、「その日に平均的な買い手はいくらで買ったか」を示します。
加重平均と単純平均の差が要点です。次の一行のデータで確認できます。
| セッション日 | 分足 | セッションVWAP | 単純平均価格 | 最終分足価格 | 平均プレミアム(セント) | 総出来高(百万) | 最初の30分の出来高(%) |
|---|---|---|---|---|---|---|---|
| 2026-07-02 | 390 | 305.99 | 306.54 | 308.22 | 55 | 60 | 14.9 |
各数値の背後にある正確なSQL
SELECT formatDateTime(toDate(toTimeZone(min(window_start), 'America/New_York')), '%Y-%m-%d') AS session_date,
count() AS minute_bars,
round(sum(close * volume) / sum(volume), 2) AS session_vwap,
round(avg(close), 2) AS unweighted_avg_price,
round(argMax(close, window_start), 2) AS final_minute_price,
round((avg(close) - sum(close * volume) / sum(volume)) * 100) AS avg_premium_cents,
round(toFloat64(sum(volume)) / 1e6) AS total_volume_millions,
round(sumIf(toFloat64(volume), window_start < toDateTime('2026-07-02 10:00:00', 'America/New_York'))
/ toFloat64(sum(volume)) * 100, 1) AS first_30min_volume_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
AND window_start >= toDateTime('2026-07-02 09:30:00', 'America/New_York')
AND window_start < toDateTime('2026-07-02 16:00:00', 'America/New_York')Appleの390分足の終値を同じ比重で平均すると、$306.54になります。同じ終値を各分の出来高で加重すると、$305.99となり、55セント低くなります。同じ日、同じバー、同じ60百万株で、変わったのは分数ではなく株数を基準にした点だけです。この差の方向は重要です。同じ比重の平均がVWAPを上回っている場合、出来高の大きい時間帯では、その日の典型的な価格を下回って取引されていたことを意味します。セッション最後の1分足は$308.22で約定し、公式終値はその数分後の大引けオークションで決まります。
1分足から算出するVWAPの精度はどの程度ですか?
VWAPは約定ベースで定義されるため、1分足による算出は近似です。この簡便法によって、どの程度の差が生じるのでしょうか。多くの解説記事では検証されていません。ここでは、同じセッションのVWAPについて、約定ごとの詳細な方法で算出した値と、コンソリデーテッドテープ上の全約定データを使った値を、1分足ベースの値と並べて比較します。(公式VWAPやベンダー提供のVWAPでも、平均価格取引など、取引条件コードが付いた一部の約定は除外されます。そのため、プラットフォーム間でわずかな差が生じる場合があります。)
| 取引単位VWAP | 分足VWAP | 乖離(セント) | 乖離(bps) | 取引数(百万) |
|---|---|---|---|---|
| 305.9162 | 305.9908 | 7.5 | 2.4 | 1.1 |
各数値の背後にある正確なSQL
WITH every_trade AS (
SELECT round(sum(price * size) / sum(size), 4) AS trade_vwap,
round(count() / 1e6, 1) AS trades_millions
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
AND sip_timestamp >= toDateTime('2026-07-02 09:30:00', 'America/New_York')
AND sip_timestamp < toDateTime('2026-07-02 16:00:00', 'America/New_York')
),
minute_bars AS (
SELECT round(sum(close * volume) / sum(volume), 4) AS bar_vwap
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
AND window_start >= toDateTime('2026-07-02 09:30:00', 'America/New_York')
AND window_start < toDateTime('2026-07-02 16:00:00', 'America/New_York')
)
SELECT every_trade.trade_vwap AS trade_level_vwap,
minute_bars.bar_vwap AS minute_bar_vwap,
round(abs(every_trade.trade_vwap - minute_bars.bar_vwap) * 100, 1) AS gap_cents,
round(abs(every_trade.trade_vwap - minute_bars.bar_vwap) / every_trade.trade_vwap * 10000, 1) AS gap_bps,
every_trade.trades_millions
FROM every_trade, minute_bars1.1百万件の個別約定を集計した約定ベースのVWAPは$305.9162でした。1分足による簡便法では$305.9908となりました。両者の差は7.5セントで、株価の2.4ベーシスポイント(1%の100分の1)に相当します。この日のセッションの基準線として見ると、1分足による簡便法は、約定ごとの算出値から10セント以内に収まりました。
VWAPはすべての銘柄で同じですか?
市場全体で共通するVWAPはありません。銘柄ごとに、各セッションのVWAPが算出されます。以下は、五つの主要銘柄について、完全な390本のバーで確認した同じ7月2日のセッションです。
| ticker | セッションVWAP | 最終分足価格 | 最終価格対VWAP(%) |
|---|---|---|---|
| AAPL | 305.99 | 308.22 | 0.73 |
| MSFT | 389.33 | 389.62 | 0.07 |
| NVDA | 195.14 | 194.51 | -0.32 |
| TSLA | 399.64 | 392.81 | -1.71 |
| KO | 82.96 | 83.98 | 1.23 |
各数値の背後にある正確なSQL
SELECT ticker,
round(sum(close * volume) / sum(volume), 2) AS session_vwap,
round(argMax(close, window_start), 2) AS final_minute_price,
round((argMax(close, window_start) - sum(close * volume) / sum(volume))
/ (sum(close * volume) / sum(volume)) * 100, 2) AS final_vs_vwap_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'TSLA', 'KO')
AND window_start >= toDateTime('2026-07-02 09:30:00', 'America/New_York')
AND window_start < toDateTime('2026-07-02 16:00:00', 'America/New_York')
GROUP BY ticker
HAVING count() = 390
ORDER BY indexOf(['AAPL', 'MSFT', 'NVDA', 'TSLA', 'KO'], ticker)コカ・コーラのセッションVWAPは$82.96、Teslaは$399.64でした。最終分の終値にも違いが出ました。AppleはVWAPを0.73%上回り、コカ・コーラは1.23%上回りました。Microsoftは自らのVWAPとほぼ同じ水準(0.07%)で終えました。一方、NvidiaとTeslaはVWAPを下回り、それぞれ-0.32%、-1.71%でした。一日で五銘柄を見ても、答えは五通りです。
VWAPを使うのは誰か。何のためか
約定を評価する機関投資家。 大きなポジションを買うファンドは、一つの価格で全量を約定させられません。実際には平均価格での約定になります。その日のVWAPが基準です。VWAPを下回る価格で買い注文を約定できれば、その日の平均売買代金よりも低い価格で買えたことになります。執行デスクは、学生が成績を報告するように、VWAPに対するスリッページを報告します。通常は、引けのオークション約定を含む終日ベンチマークと比較します。
執行アルゴリズム。 ブローカーはVWAPアルゴを提供しています。これは、一つの大口親注文をセッション中に数百の小口子注文へ分割し、その日の通常の出来高パターンに合わせて数量を調整するプログラムです。価格を押し上げるのではなく、ベンチマークに近い水準での約定を目指します。各子注文では、依然として売買スプレッドを負担します。こうした約定の多くでは、反対側に立つのは売り買い双方の気配を提示するマーケットメイカーです。
デイトレーダー。VWAPを日中の基準線として使う場合。 日中トレーダーは、VWAPをその日の平均取得コストを示す線としてチャートに表示します。価格がVWAPを上回っていれば、直近の買い手はセッションの平均より高い価格で買ったことになります。下回っていれば、平均より低い価格です。これは取引がすでにどの水準で行われたかを示すものであり、次に価格が向かう方向を予測するものではありません。
アンカードVWAPは、よく使われる変形です。算式は同じですが、起点が異なります。始値からではなく、トレーダーが選んだ足から累積を始めます。起点には、決算発表、IPO初日、注目された高値や安値などを用います。
よくある質問
VWAPは移動平均ですか?
いいえ。移動平均は一定の参照期間をスライドさせ、出来高にかかわらず各バーを同じ重みで扱います。VWAPはセッション開始時点から計算し、各バーを売買高で加重したうえで、毎日リセットされます。2026年7月2日、同じバーを対象にしたAppleの1分足終値の単純平均は、VWAPを55セント上回っていました。
VWAPにはプレマーケットと時間外取引が含まれますか?
プラットフォームによって異なります。このページでは、通常取引時間の1分足のみを使い、東部時間午後3時59分の最終バーまでを対象としています。その後の午後4時の引けのクロス取引の約定は含めていません。一方、終日ベンチマークのVWAPには通常、この約定が含まれます。多くのチャートアプリは、午前4時のプレマーケットから累積します。数値を比較する前に、プラットフォームの設定を確認してください。
株価がVWAPを上回って取引されているとは、どういう意味ですか?
そのセッションで、それまでに1株当たりで支払われた平均価格を現在の株価が上回っているという意味です。2026年7月2日、Appleは通常取引時間の最終1分足をセッションVWAPの0.73%上で終えました。一方、Teslaは自社のVWAPを下回って終えました。この比較が示すのはそのセッションの取引状況であり、次の値動きを予測するものではありません。
株価がVWAPを下回って取引されているとは、どういう意味ですか?
そのセッションで、それまでに1株当たりで支払われた平均価格を現在の株価が下回っているという意味です。2026年7月2日、Teslaは通常取引時間の最終1分足をセッションVWAPの下で終えました(-1.71%)。一方、Appleは自社のVWAPを上回って終えました。この比較が示すのはそのセッションの取引状況であり、次の値動きを予測するものではありません。
VWAPは何を意味しますか?
VWAPはvolume-weighted average price(出来高加重平均価格)の略です。これは、セッション中に株式が取引された平均価格で、各取引を売買高で加重したものです。大口取引は小口取引よりもVWAPを大きく動かします。この性質から、VWAPは執行品質を測る標準的なベンチマークとなっています。
アンカードVWAPとは何ですか?
セッション開始時点ではなく、選択したバー、決算発表、IPO、スイング高値または安値から同じ計算を始めるものです。そのイベント以降に取引したすべての投資家が支払った平均価格を示します。
上記の各パネルには、生成に使った正確なSQLが付属しています。パネルを展開すると数値を監査できます。任意のティッカーとセッションのVWAPを計算するには、Strasmore terminalで質問を平易な英語で入力してください。