交易成本管理(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 限价执行”的框架下,引入历史成交量分布与“已成交进度”信息:
- 在成交量大的时段/价格活跃区间,允许更积极地完成更多成交(更强执行)
- 在成交量小的时段/流动性稀薄,减少下单频率与单笔规模,甚至暂缓执行,直到进入更活跃时段
目的很明确:在更容易成交、对市场冲击更小的窗口介入,减少不必要的滑点与被动暴露。
结语:谨防“流动性裁判”
市场价格的方向由市场合力推动,但需要谨防做市商这类流动性裁判与临时定价者:一旦被做市商盯上,可能出现临时调整报价导致无法撮合成交,或显著加大滑点的情况。