TWAP:时间加权平均价格——公式、算法以及如何围绕它交易

TWAP 是时间加权平均价格:按相等间隔采样价格后的平均值,每个样本权重相同,不考虑成交量,这一点不同于 VWAP。该算法把一笔大订单按相等间隔拆成相等的小单,让成交价贴近基准。在图表上,它表现为小实体 K线缓慢推进、回调很浅、成交量平坦,并且在排程结束前 VWAP 像地板一样托住价格。
我第一次在实盘中认出 TWAP,是在 15:30 的 ES 上:一段持续 2 小时、11 次守住 VWAP 的缓慢上磨突然停止,市场在 3 分钟内下跌 4 点,去寻找没有买方时它真正值多少钱。本页会讲清楚公式、算法及其 3 个参数,与 VWAP 和 POV 的比较,TWAP 在图表上留下的 4 个信号,一个 ETHUSDT 柜台执行案例如何逐片拆解,算法会在哪里失效,以及一个既能计算 TWAP、也能规划拆单排程的计算器。
经得起公开验证的指标。
一个引擎,四款精准工具:Gold(XAU)Scalper、机构级 Gravity Zone、Zeno 动量振荡指标,以及面向股票的 Zeno Stocks。
什么是 TWAP?
TWAP 是时间加权平均价格:在一段时间内按相等间隔采样某资产价格后的平均值。每分钟取一次价格,持续 1 小时,把 60 个数字相加,再除以 60。这就是该小时的 TWAP。无论某一分钟成交了 10 张合约还是 10,000 张合约,它都给每一分钟相同权重;这正是它与 VWAP 的区别,VWAP 会让繁忙分钟的权重更高。
这个词有两层意思,交易员经常把它们混在一起。第一层是基准,也就是上面的那个数字,用来判断一次执行是否好。第二层是算法:一种执行策略,把大订单拆成相等的小单,并在每个间隔发送 1 单,让成交均价接近基准。一个柜台把 600 手在 4 小时内“做 TWAP”,就是在运行算法;最后报告的价格,就是它追踪的基准。
TWAP 不会做什么:它不会对市场作出反应。纯 TWAP 会在时钟的下一个刻度发送下一片,不管价格已经拉远还是崩跌,不管成交量厚还是没有。这既是它的优势——如果随机化就难以读出,不随机化则成本可预测——也是它的弱点:它会因为时间到了 10:04,就乐意买在一根尖峰的顶部。
TWAP 如何计算,间隔是什么意思?
对于按相等间隔采样的 n 个价格:
| 数量 | 公式 | 注释 |
|---|---|---|
| 一段时间内的 TWAP | (P1 + P2 + … + Pn) / n | 每个 Pi 是第 i 个间隔结束时的价格。有些平台不用收盘价,而使用 K线的典型价格(H+L+C)/3 或(O+H+L+C)/4。 |
| 一次执行的 TWAP | Σ(成交价格i)/ 拆单片数 | 拆单大小相等,所以它等同于成交价格的简单平均值。 |
| 拆单片数 | duration ÷ interval | 240 分钟、4 分钟间隔 = 60 片。 |
| 单片大小 | parent size ÷ slices | 600 ÷ 60 = 每片 10。 |
| 相对 TWAP 的滑点 | (execution average − benchmark TWAP)÷ benchmark | 对买方而言,正值意味着算法支付的价格高于市场自身平均值——通常是因为拆单推动了价格。 |
间隔是唯一真正的决定。4 小时时间范围上的 1 分钟 TWAP 有 240 片,看起来像稳定滴入;15 分钟 TWAP 只有 16 片,看起来像一连串推升。更短间隔更隐蔽,也更贴近基准;更长间隔手续费更低,但更容易被看见。不想被读出来的柜台会加入抖动——随机偏移 1 到 2 分钟,并在 ±20% 内随机化大小——这样就无法从成交带还原排程。
TWAP 计算器与拆单规划器
在计算模式中,粘贴按相等间隔采样的价格,工具会返回 TWAP,以及当前价格相对它的位置。在规划模式中,输入规模、时间范围和间隔,它会返回拆单排程,并附上柜台会写上的注意事项。
为什么柜台把 TWAP 用作执行算法?

算法存在,是因为规模会推动价格。一个基金需要买入 600 张 ES 合约时,不能直接扫掉 600 张卖盘,否则会支付几个 tick 的冲击成本,并告诉成交带上的每个订单流交易员:买方来了。所以它每次买 10 张,每 4 分钟一次,持续 4 小时。每一片都小到可以藏在市场正常流动里,买方的存在只表现为一种偏向——市场在没有特别原因的情况下缓慢上磨。
它由 3 个参数定义:时间范围(多久)、间隔(多频繁)和子订单类型。市价子订单保证完成,但要支付 60 次点差;挂在买价的限价子订单节省点差,但有无法完成的风险。多数实现会混合使用——每个间隔前半段用限价,若到结束仍未成交,就用市价扫掉剩余部分。POV 和 VWAP 算法会加入第 4 个参数:成交量参与率,而 TWAP 按定义会忽略它。
谁会使用它:在固定时间再平衡的基金、兑换货币的财务部门和企业、在 Binance 和 Bybit 上为客户分散执行订单的加密货币 OTC 柜台,以及越来越多通过 Binance、Bybit 和 OKX 合约界面上的 TWAP 订单类型使用它的零售交易者。在加密货币中,同样的想法也出现在资金费率里:Binance 的资金费率是在 8 小时内每隔几秒采样溢价指数并计算时间加权平均值——这是作为基准而非执行工具的 TWAP。
TWAP、VWAP 和 POV 算法有什么不同?

| 算法 | 按什么加权 | 追踪什么 | 最适合何时 | 成交带上可读吗? |
|---|---|---|---|---|
| TWAP | 时间——每个间隔相等 | 时间平均值 | 成交量不可预测,或者您希望无论活跃度如何都使用固定排程(隔夜、流动性差的时段、加密货币周末) | 是,除非加入抖动——规律性就是线索 |
| VWAP | 成交量——繁忙间隔权重更高 | 成交量加权平均值 | 成交量遵循已知的日内曲线(现金时段股票、指数期货) | 不那么明显——拆单随人群放大或缩小 |
| POV | 实时成交量的固定份额 | 不追踪任何基准——它参与成交 | 您必须完成订单且愿意为此付费;或者想藏在繁忙的成交带里 | 很少——它随市场而动 |
| Iceberg | 显示数量,而不是时间 | 一个价格水平 | 您想要的是价格,而不是排程 | 只能通过同一价位的补单看出——见冰山订单 |
柜台上的经验法则是:当您信任当天成交量分布时用 VWAP;不信任时用 TWAP;必须完成时用 POV。对于读取成交带而不是运行算法的交易者来说,这个区别很重要,因为每种算法都会留下不同足迹,而 TWAP 的足迹最容易发现。
TWAP 会在图表上留下哪 4 个信号?

您看不到算法本身;您看到的是它的后果。按您注意到它们的顺序,有 4 个。
缓慢推进。价格以小实体上涨(或下跌),回调很浅,几乎总是到不了上一个波段。每次下跌都会被下一片买单接住,所以回调只有正常应有幅度的一半。在 5 分钟图上,K线会连续 2 小时大小相近。
平坦成交量。没有高潮、没有尖峰、没有衰竭 K线。TWAP 在每个间隔加入相同数量,所以成交量柱看起来像栅栏。带着栅栏式成交量的突破,通常是 TWAP,而不是人群。
VWAP 作为地板或天花板。因为买方占每个间隔的很大份额,买方均价与市场均价会趋同,价格很少在下一片到来前远离 VWAP 下方。一个早上触及 VWAP 6 次且每次反弹的市场,通常有排程买方。
规律打印。在足迹图或逐笔成交上,类似大小以类似间隔出现:10:04 成交 10 手,10:08 成交 10 手,10:12 成交 10 手。带抖动的 TWAP 会模糊这一点,但平均间隔仍会显示在交易时间直方图中。
围绕它交易,不是去逆势做空它。还有 2 小时要运行的 TWAP,会继续买 2 小时。交易方式是尽早加入——在确认缓慢推进后,第一次干净回调到 VWAP 时加入——并在它结束前离场,因为排程结束时买盘消失,市场会发现没有买方时自己值多少钱。指数期货中许多发生在 11:30 或 15:30 的急剧反转,都是 TWAP 在整点结束。
参考数据
| 项目 | 值 |
|---|---|
| 定义 | 按相等时间间隔采样价格的算术平均值 |
| 公式 | (P₁ + P₂ + … + Pₙ) / n |
| 与 VWAP 的区别 | 忽略成交量;每个间隔权重相同 |
| 作为算法 | 母订单 ÷(持续时间 ÷ 间隔)= 单片大小,每个间隔 1 片 |
| 典型间隔 | 1–15 分钟;抖动为间隔的 ±30%,用于隐藏排程 |
| 典型时间范围 | 30 分钟到完整交易时段;加密货币 OTC 中可为隔夜和多日 |
| 子订单 | 市价(确定成交,支付点差)、限价(更便宜,可能无法完成),或每个间隔先限价后市价 |
| 面向零售的提供方 | Binance、Bybit 和 OKX 合约(TWAP 订单类型);Interactive Brokers(TWAP algo);多数机构 EMS 平台 |
| 加密货币基准用途 | Binance 和 Bybit 的资金费率使用资金间隔内的时间加权溢价指数 |
| 图表足迹 | 小实体、浅回调、平坦成交量、VWAP 充当地板或天花板、规律的成交大小 |
案例:ETHUSDT,柜台在 4 小时内执行买入
一家加密货币 OTC 柜台接到客户订单,需要在周四 08:00 到 12:00 UTC 之间,在 Binance 永续合约上买入 1,200 ETH。订单簿显示靠近盘口处每个价位约有 60 ETH;一次性扫入 1,200 ETH 会打穿 20 个价位,并可能支付 0.4% 的冲击成本。柜台运行 TWAP:60 片,每片 20 ETH,每 4 分钟 1 片;每个间隔前 2 分钟挂在买价限价,结束时用市价扫掉剩余部分。
08:00、08:04、08:08 等时点的价格,在前半小时内从 3,412.5 走到 3,423.9——也就是上方计算器预载的 8 个价格——前 8 笔成交均价为 3,417.8。到 10:30,ETH 已经缓慢上磨到 3,441,没有任何一根 K线超过 6 美元,成交量平坦在每 5 分钟约 900 ETH,其中柜台占 20 到 25 ETH。整个期间,时段 VWAP 都在价格下方 4 到 7 美元。11:58,最后一片以 3,452.2 成交。执行均价为 3,431.6,而同一 4 小时的基准 TWAP 为 3,430.9:滑点 0.02%,这就是运行良好的 TWAP 应有的样子。
12:00,买方离场。ETH 到 12:40 下跌到 3,429——大致就是 VWAP——随后才找到真实买盘。任何在 11:50 因“动量”买入 3,450 上方突破的人,买到的是别人订单的最后 3 片。任何在上磨结束后买入 12:40 触及 VWAP 的人,买到的是市场价格,而不是柜台价格。
TWAP 会在哪里失效?
趋势市场。上涨市场中的买方 TWAP,每一片都比上一片买得更高,最终价格远高于开始位置;基准也随之上升,所以滑点看起来没问题,但客户支付的价格高于前置执行本可得到的价格。这就是在方向已知时使用 POV 的理由。
稀薄间隔。在安静成交带上,20 ETH 的一片可能就是整个间隔的全部成交量,算法会变成市场本身。每片冲击成本上升,足迹变得明显。TWAP 最糟糕的地方,恰恰是人们最想使用它的地方——流动性差的时段——除非把间隔拉长。
可读性。未加抖动的 TWAP 是一个排程,任何会看逐笔成交的人都能在 20 分钟内反推出它。一旦被读出,就会被抢跑:市场会在每一片之前先抬高 1 个 tick。修复方式是抖动,而抖动的成本是相对基准的跟踪误差。
结束点。TWAP 按时钟结束,不按图表结束。它提供的支撑会随之结束,往往发生在整点,而随后出现的反转,是整个形态中最可靠的一件事。识别出 TWAP 后仍然持有到结束的交易者,会把利润还回去。
基准操纵。按 TWAP 基准拿报酬的交易员,可以通过恰好在采样时点交易,让执行看起来很好;这迎合的是指标,而不是目标。也要同时与到达价格比较。
交易者在 TWAP 上会犯什么错误?
- 把它和 VWAP 混淆。TWAP 忽略成交量。如果您说的是“成交量加权”平均值,那就是 VWAP。
- 逆着缓慢推进交易。一个还有时间的排程买方,会吸收每一笔逆势空单。要么加入,要么等待。
- 买入最后几片。经过 2 小时平坦成交量上磨后,11:55 的突破是算法在收尾,不是人群刚到。
- 自己运行未加抖动的 TWAP。Binance 和 Bybit 上零售规模的 TWAP 小到通常无关紧要,但在流动性差的山寨币上,排程可读,并会被人反向交易。
- 对带有方向观点的执行使用 TWAP 基准。如果您预期价格上涨,到达价格才是诚实的标尺。
- 把 TWAP 线当成支撑。它不是一个水平位;它是一个平均值。它能守住,是因为有人在防守;他们完成后,它就不再守住。
TWAP 与免费指标
库中没有 TWAP 脚本,因为 TWAP 线本质上就是换了名字的收盘价简单移动平均线——TradingView 内置 SMA 在 5 分钟图上长度设为 48,就是 4 小时 TWAP。真正有用的脚本,是显示足迹的那些:Anchored VWAP Engine 用来显示算法构建出的地板,Pressure Oscillator 用来显示拆单买方在没有成交量尖峰时产生的稳定单边成交量压力。高级引擎 Zeno 会给出带止损和目标位的买入、卖出信号;在缓慢上磨日,信号通常沿排程方向触发,而反转信号往往会在整点结束后的顶部之后打印。
TWAP 是时间平均值,也是通过按时钟均匀拆单来追踪它的算法。它忽略成交量,因此在加入抖动时难以读出,不加抖动时成本可预测。它的足迹是成交量平坦、VWAP 被防守的缓慢推进;尽早加入,在排程结束前离场,绝不要逆着还有时间的买方交易。当您信任当天成交量曲线时用 VWAP;不信任时用 TWAP;必须完成时用 POV。
◆ 互动检查
您知道区别吗?
交易者关于 TWAP 常问的问题
时间加权平均价格——一段时间内按相等间隔采样价格的平均值。每分钟采样一次,持续 1 小时,把 60 个价格相加,再除以 60。无论成交量是多少,每个间隔权重都相同。
VWAP 按每个间隔的成交量加权,所以繁忙分钟对平均值拉动更大;TWAP 给每个间隔相同权重。在正常现金交易时段,两者通常很接近;当成交量不均匀时——新闻前后、开盘和收盘、加密货币周末——它们会拉开,而这正是选择哪一个变得重要的时候。
它把母订单拆成相等的子订单,并在选定时间范围内按每个间隔发送 1 个:4 小时、4 分钟间隔执行 600 张合约,就是 60 个 10 张订单。子订单可以是市价单(确定成交,支付点差),也可以是限价单(更便宜,可能不成交);优秀实现会略微随机化间隔和大小,让排程无法被读出。
它是执行策略,不是方向策略——它决定如何成交一笔订单,而不是是否该交易。对交易者来说,它更适合作为一种在成交带上识别的东西,而不是自己运行的东西:TWAP 买方会制造一段可以尽早加入、并应在排程结束前离开的缓慢推进。
小实体 K线沿一个方向缓慢推进,回调不到上一个波段,成交量直方图没有尖峰,VWAP 始终作为买方的地板(或卖方的天花板),并且在逐笔成交上有类似大小以类似间隔出现。它结束时的反转,常常发生在整点,是确认信号。
这是它们合约界面上的一种订单类型,会为您运行算法:您设置总规模和持续时间,交易所按固定间隔发送相等拆单,并可选择价格限制。它用于否则会扫穿订单簿的规模;在流动性好的交易对上,零售规模 TWAP 几乎不可见。
因为资金间隔内的时间加权溢价指数,不会被结算时刻的一笔大交易推动。Binance 在 8 小时内每隔几秒采样溢价指数并取平均;15:59 UTC 的单次尖峰几乎不会影响它。
当当天成交量遵循您信任的形态时用 VWAP——现金时段股票和指数期货——因为算法可以藏在人群里。当您不信任成交量曲线,或需要固定排程时用 TWAP:隔夜、流动性差的时段、加密货币周末,或者无论活跃度如何都必须在固定时间前完成的订单。
在它运行时不可以——还有时间的排程买方会吸收每一笔空单。交易机会是:识别出来后,在第一次回调到 VWAP 时加入;以及在排程结束、买盘消失时反向交易市场。
没有,因为 TWAP 线本质上就是换了名字的收盘价简单移动平均线。Anchored VWAP Engine 显示 TWAP 买方构建的地板,Pressure Oscillator 显示没有成交量尖峰的稳定单边压力。高级引擎 Zeno 给出带止损和目标位的信号,但不会标注执行算法。
参考资料与相关指南
接下来阅读
- VWAP:完整指南
- POV 交易算法
- 最佳 VWAP 设置
- Iceberg Orders
- Order Flow Trading
- 什么是机构交易?
- 交易中的滑点是什么?
- Funding Rate Trading
- 累计成交量 Delta(CVD)
- Anchored VWAP Engine(免费指标)
- 机构订单流 — 定义、示例与交易方法
- Zeno — 高级引擎
主要来源
- Interactive Brokers Campus: what is TWAP (the benchmark and the algo)
- Hummingbot: TWAP executor documentation (an open-source implementation with its parameters)
- TradingView: Anchored TWAP open-source script
- Binance: futures funding rate methodology (time-weighted premium index)
- CME Group: trading hours (session boundaries where schedules end)