跳到主要内容

交易成本管理(TWAP / VWAP)

在量化交易里,“信号正确”并不等于“交易赚钱”。对高频/中频执行而言,滑点、冲击成本、手续费与撮合失败往往会显著侵蚀策略收益。因此 404Trade 在执行层引入了交易成本管理模块:用更可控、更可解释的方式完成开仓/加仓/减仓/平仓。

下面介绍两类核心执行算法,以及 404Trade 的实际落地细节。


TWAP(Time Weighted Average Price)

目标:把大单在时间维度上拆分成多次小额执行,降低瞬时冲击成本与暴露的交易意图,使成交价格更接近一段时间内的“平均水平”。

404Trade 的 TWAP(更精确地说:带风控边界的循环 IOC 限价执行)

我们的开仓/加仓触发,来源于“笔结构后的 DeMark Setup 9(TD9)收盘价”信号 或 纯DeMark多级别组合。一旦触发:

  • 触发价:以 TD9 的收盘价作为“执行参考价”
  • 下单类型:对交易所发 限价单(Limit)
  • 报价偏移:基于开单方向,在参考价的基础上 上/下浮 0.01% 作为 orderPrice(用于控制滑点并提升成交概率)
  • 订单有效期:采用 IOC(Immediate-Or-Cancel)
    • 未成交部分立即撤单
    • 避免挂单长时间暴露、被动成交或被对手方“盯单”
  • 循环执行:如果未达到目标仓位,则继续执行
    • 间隔:每 5 - 10 秒随机触发
    • 拆单比例:动态调整,最低1/10,且单份不小于0.0001
    • 持续时间:Max 15 分钟(到期仍未完成则停止/降级处理,由策略参数决定)

示例

目标开仓 200 手,触发价 1000

orderPrice = 1000 * (1 + 0.0001) = 1000.1

如果交易所最小价格精度导致需要进位,最终可能以类似 1001 的价格挂出(取决于交易对 tick size 与合约面值/报价规则)。我们会以该 orderPrice 下发 IOC limit,(实际与主动市价相似,但不会市价成交价格控制以外的对手订单),未成交则撤单,继续下一轮,直到完成目标仓位或到达 10 分钟上限。

L2 深度监控与“拆单隐藏”

我们会实时监控该交易对当下的 L2 订单簿深度,用于预判是否需要大单拆分:

  • 如果深度不足,直接打满目标数量容易造成更大冲击/滑点,甚至触发做市商临时调整报价;
  • 因此会把如 200 手拆成多笔更小的 IOC 单(例如 20 手×10 次,或按深度动态调整),以降低可见性并隐藏交易意图。

VWAP(Volume Weighted Average Price)

目标:把执行强度与市场成交量分布绑定,让成交更接近“按成交量加权”的平均水平。

404Trade 的 VWAP(TWAP 的升级版)

我们将 VWAP 视为 TWAP 的升级:在原有“循环 IOC 限价执行”的框架下,引入历史成交量分布与“已成交进度”信息:

  • 成交量大的时段/价格活跃区间,允许更积极地完成更多成交(更强执行)
  • 成交量小的时段/流动性稀薄,减少下单频率与单笔规模,甚至暂缓执行,直到进入更活跃时段

目的很明确:在更容易成交、对市场冲击更小的窗口介入,减少不必要的滑点与被动暴露。


结语:谨防“流动性裁判”

市场价格的方向由市场合力推动,但需要谨防做市商这类流动性裁判临时定价者:一旦被做市商盯上,可能出现临时调整报价导致无法撮合成交,或显著加大滑点的情况。