學習指南

VWAP 不是一條固定答案:時段、錨點與資料源先決定結果

由累積價量公式手算 VWAP,再逐項核對典型價、session reset、UTC 邊界、anchored VWAP、交易場所成交量與未完成 K 線。

以成交量柱、累積加權線和兩個錨點說明 VWAP 範圍的教學幾何圖
原創教學幾何;只說明成交量加權與錨點,不是市場圖、績效圖或交易訊號。

只供教育用途;不是財務建議,也不是交易訊號。本文沒有開戶、推薦碼或下單連結。

讀者最常問的問題

  • VWAP 的累積公式如何由每根 K 線重算?
  • 全天候加密市場的 session reset 應放在哪個時區?
  • anchored VWAP 的起點為何會造成 hindsight anchoring?
  • 只有 OHLCV 時的 OHLCV approximation 與逐筆成交有何差距?
  • 兩個交易場所的 venue-specific volume 為何不能直接視為同一市場?

這一頁想讓你弄懂的事

  • 用 Σ(price × volume) ÷ Σvolume 解釋累積分子與分母。
  • 把價格代理、時段邊界、錨點和成交量口徑寫進審計表。
  • 分辨逐筆 VWAP、K 線近似值與一般移動平均。
  • 識別未完成 K 線、缺失資料、跨場所比較與回看選點偏誤。

重點段落

VWAP 的分子與分母怎樣累積?

VWAP 的核心是 Σ(price × volume) ÷ Σvolume。每一期先選一個價格,再乘該期成交量加入分子;成交量同時加入分母。只看最後一條線會遮住資料選擇,保留逐期分子與分母才能重算。

TradingView 的常見 K 線版本使用典型價 (high + low + close) ÷ 3。這是對柱內交易的代理,不是每筆成交的真實成交價。

計算範圍為何重要?

相同 OHLCV 若從不同時間開始累積,分子和分母都不同。session reset、每週重置或自訂錨點不是外觀設定,而是公式範圍。比較兩個平台前,必須先對齊起算時間。

加密市場 24/7 運作,沒有自然一致的股票開盤鐘聲。把午夜當重置只是分析規則,應寫明採用 UTC、印度標準時間或交易場所定義。

跨場所成交量可以相加嗎?

集中式交易所通常只回報自身撮合的成交。某交易對在平台甲的 volume 不等於平台乙,也不等於全球市場。venue-specific volume 會使同時段 VWAP 不同,即使價格很接近。

基礎資產量與報價資產量也是不同欄位。選錯 volume 可能改變權重;研究表要同時記錄交易場所、商品、現貨或永續、報價幣與欄位名稱。

延伸說明

典型價代表每筆成交嗎?

一根 K 線把期間內大量成交壓成 open、high、low、close 和 volume。用 hlc3 當 price 再乘整根 volume,等同假設成交量可由這個代表價近似。若成交集中在區間某一端,真實逐筆 VWAP 可能偏離。

縮短時間框架通常能減少壓縮誤差,卻不保證等於 tick 計算。應把結果標成 OHLCV approximation,保存 bar 長度與價格代理,不能用小數位很多製造虛假精確。

逐筆成交公式與 K 線公式的關係

逐筆版本把每筆成交價乘成交量,再除以全部成交量。K 線版本把一段成交先聚合,再以 typical price 代表該段。兩者都符合加權平均概念,但輸入粒度不同。

若平台直接提供 bar VWAP,還要查清該欄位是由逐筆計算、典型價估算或供應商轉載。名稱相同不保證方法相同;最有用的比較是同一小段資料的手算。

session reset 必須有可重現時間戳

寫「每日 VWAP」仍不夠。要記錄 reset timestamp、時區與邊界是否包含該根 K 線。UTC 00:00、印度時間 00:00 與交易所自訂日界會切出不同資料集合。

Binance 文件說明 K 線可設定時區,而 startTime 與 endTime 仍按 UTC 解讀。下載與圖表若使用不同設定,肉眼看似同一天,實際可能錯開數小時。

24/7 市場沒有唯一正確的日線切點

股票交易時段通常有交易所開收盤,全天候加密商品則持續成交。採用 UTC 日界有利跨日記錄一致,採用本地日界可能方便讀者,但兩者都是約定,不是市場定律。

因此不能宣稱某個 daily VWAP 是全球唯一基準。使用它前先問研究問題:要比較哪段執行、哪個風險窗口或哪個事件之後的平均成本;範圍應服務問題而非事後配合圖形。

anchored VWAP 先選起點再開始累積

anchored VWAP 與定時重置使用同一加權概念,差別是由使用者選定事件或圖上時間作起點。TradingView 文件把它描述為從所選點開始計算。

可重現研究要記錄精確 timestamp、選點規則與當時可知資訊。例如「公告公開後第一根完整五分鐘 K 線」比「從那個漂亮低點」更清楚,也能讓另一位讀者獨立得到相同範圍。

hindsight anchoring 如何製造漂亮線條

先看完整走勢,再把錨點拖到後來顯得重要的高低點,是 hindsight anchoring。這條線可能貼合後續價格,但起點選擇已偷看結果,不能當作事前規則證據。

改善方法是先寫候選事件、觸發資料與容許延遲,再打開後續圖表。若測試多個錨點,只展示最合眼的一條,也屬選擇偏誤;應保留全部候選及失敗情形。

兩個錨點的假設例子

假設同一 BTC 現貨資料有錨點甲:UTC 00:00,以及錨點乙:公開公告後第一根完整 K 線。到同一觀察時間,甲累積較多早期成交,乙只描述事件後成本分布,數值自然不同。

差異不代表其中一條錯,也不表示價格必須回到任一線。它只回答不同範圍的加權平均;研究筆記要把兩個問題和兩套分子、分母分開。

未完成 K 線會讓當前值反覆更新

Coinbase 文件說明最新 candle 的 open、high、low、close、volume 可被更新。當 close、high、low 或 volume 改變時,典型價與累積量都會變,所以畫面上的當前 VWAP 尚未固定。

歷史教學若採 completed candles,應排除最後一根未完成柱;若研究即時行為,則保存當時 snapshot。事後拿最終 candle 重算,再聲稱是當時可見值,會產生 look-ahead。

缺失 K 線不是零成交的同義詞

某時間戳缺 bar 可能代表沒有成交、資料傳輸中斷、維護或查詢範圍錯誤。補一根 volume=0 的前收盤柱、直接跳過或重新抓取,對時間軸與視覺都有不同影響。

對 VWAP 算術而言零成交不增加分子分母,但缺資料可能遺漏真實成交。先比較預期時間索引與回傳索引,標記處理政策;不應悄悄把未知當成零。

基礎量與報價量不可混用

以 BTC/USDT 為例,base volume 量度 BTC 數量,quote volume 量度 USDT 名義成交。若公式 price 已是 USDT/BTC,再以 BTC volume 加權,單位關係清楚;直接改用 quote volume 會再提高高價成交權重。

Binance K 線同時列出兩者,方便審計但也容易選錯。程式欄位應用明確名稱,並以一小段逐筆資料驗證期望口徑。

VWAP 與移動平均不是同一計算

SMA 對窗口內選定價格給相同權重;EMA 對較新價格給較高遞推權重;VWAP 則依成交量分配權重並在指定邊界累積。三者都會平滑歷史資料,但記憶方式不同。

高成交量柱會顯著拉動 VWAP,卻不一定同樣拉動固定窗口均線。不能把兩條線交叉解釋成一個完整決策,除非另有事前規則、成本、失效和風險測試。

價格在線上方或下方只是相對位置

當前價格高於 VWAP,只表示它高於所選範圍的加權平均;低於亦然。公式沒有帳戶資料、未來成交或必然回歸條件,因此位置本身不產生訂單。

趨勢市場可長時間維持同一側,橫盤又可能頻繁穿越。把每次穿越都視為指令會忽略交易成本、盤中噪音和選定 session 對線條的影響。

跨場所差異應從原始欄位排查

兩個平台 VWAP 不一致時,先核對 symbol、market type、bar interval、timezone、reset、price source 和 volume field;再比較缺柱、未完成柱及小數精度。

不要先假設其中一方公式錯。只要 venue-specific volume 不同,即使算法完全相同,結果也可合理不同。保存原始回應與 checked date,才能在端點規格變更後重現。

一份最小可審計 worksheet

每列保存 open time、close time、open、high、low、close、chosen price、base volume、price×volume、cumulative numerator、cumulative volume 和 VWAP。表頭另记 venue、instrument、timezone、interval、reset 與資料擷取時間。

用三至五根簡單資料手算首輪,再讓程式輸出同樣中間欄。只比較最後數字會讓欄位錯配藏在黑箱內。

數值精度與零分母邊界

累積過程應保留足夠精度,只在顯示層四捨五入。每根先取整再回填,誤差會持續傳遞,尤其長 session 或成交量很大時更明顯。

範圍開始後若累積 volume 仍為零,分母無法使用;介面應顯示尚無可計算成交,而不是零或無限。負 volume、倒序時間和非有限數值也應拒絕。

失效條件應指向研究定義

VWAP 不是預測模型,所謂 invalidation 應先指研究定義何時不再可用:資料缺口未解、session 邊界錯置、volume 欄位改變、錨點事件被修訂,或正在使用未完成 candle。

若另有交易想法,其價格失效、倉位與最大損失必須在外部風險計畫定義。不能讓指標線替代 Stop Loss 或清算距離。

₹ 計算示例

情境
假設三段成交的代表價為 ₹100、₹102、₹101,成交量為 2、3、5 單位。
計算過程
分子=₹100×2+₹102×3+₹101×5=₹1,011;分母=10;VWAP=₹101.10。
怎麼解讀
₹101.10 只描述這三段假設成交的加權平均,不是下一段價格目標或可保證的成交價。

常見的誤會

先看完整行情,再選一個最漂亮的低點做 anchored VWAP,並把後續貼線當成預測能力;這混合 hindsight anchoring、選擇偏誤與未公開的起點規則。

自我檢查清單

  • 記錄 venue、instrument、market type 與 quote asset。
  • 固定 interval、price proxy、volume field 和資料粒度。
  • 寫明 session reset 或 anchor 的 timestamp、timezone 與選點規則。
  • 排除或標記未完成 K 線、缺柱、重複與倒序資料。
  • 保存逐期 price×volume、累積分子和累積分母。
  • 比較逐筆與 OHLCV approximation 時揭露差異。
  • 把費用、滑價、Position Size、Stop Loss 與清算風險另行評估。

這一頁的限制

  • VWAP 只總結選定範圍內的歷史價量,必然依賴起點並具有滯後。
  • 不同交易場所、商品、時區、K 線粒度、價格代理與成交量欄位會改變結果。
  • K 線近似不能重建柱內每筆成交分布,未完成柱亦會繼續更新。
  • 線條相對位置不包含方向保證、成交品質、費用、部位或個人風險承受度。

常見問題

加密市場的 VWAP 每天應在印度時間零時重置嗎?
不一定。24/7 市場沒有唯一自然日界;可用印度時間、UTC 或事件錨點,但必須事前寫明並在比較時保持一致。
價格穿越 VWAP 是否代表方向改變?
只代表價格相對於所選範圍加權平均的位置改變;公式沒有未來資料、成交條件或風險預算。
典型價 VWAP 與逐筆 VWAP 會完全相同嗎?
不保證。典型價把整根 K 線壓成一個代表價,是 OHLCV approximation;逐筆版本保留每筆價格和數量。
anchored VWAP 的最佳起點是哪裡?
沒有事後普遍最佳點。應由可重現的事件規則選點,保存 timestamp,並避免看完結果才挑高低點。
兩個交易所數值不同是否表示其中一個錯?
不一定。venue-specific volume、商品、時間邊界、價格代理和未完成 K 線均可造成合理差異,應按輸入鏈逐項核對。

風險提示

VWAP 是指定資料源與起算範圍內的歷史加權平均,會滯後且不預測下一筆成交;價格穿越線條不是交易訊號,也不包含費用、滑價、部位大小或清算風險。

資料來源