TWAP/VWAP/冰山算法拆单实现指南(PTrade & QMT)
发布时间:2025-9-24 14:29阅读:2889
一、算法原理与适用场景
1. TWAP(时间加权平均价格算法)
核心原理
将大单在固定时间段内均匀拆分为多笔小单,按固定时间间隔执行,最终成交均价接近该时段的时间加权平均价。
适用场景
· 流动性中等的股票/ETF(订单量≤日成交量5%~10%)
· 对跟踪误差要求低,追求平稳执行(如指数调仓)
关键参数
· 总时间段(如1小时)
· 拆单次数(如12次=每5分钟1次)
2. VWAP(成交量加权平均价格算法)
核心原理
根据历史成交量分布动态调整拆单量(成交量高的时段多下单,低的时段少下单),最终成交均价接近市场成交量加权平均价。
适用场景
· 流动性好的大盘股(订单量≤日成交量10%~20%)
· 需贴合市场流动性(如机构大额交易)
关键参数
· 历史成交量分布(如过去10日9:30-9:35成交量占全天5%)
· 实时成交量修正系数
3. 冰山算法(Iceberg Algorithm)
核心原理
仅暴露少量订单(如总单量的5%)到盘口,成交后自动补充,隐藏大单真实规模。
适用场景
· 超大额订单(≥日成交量20%)
· 流动性差的股票(避免价格冲击)
关键参数
· 可见单比例(通常5%~10%)
· 盘口挂单量限制(如不超过买一档50%)
· 二、PTrade 实现代码
· 1. TWAP 算法
2. VWAP 算法
3. 冰山算法
三、QMT(XtQuant)实现代码
1. TWAP 算法
2. VWAP 算法
3. 冰山算法
四、关键注意事项
1. PTrade
o 避免使用time.sleep(会阻塞所有策略),优先用run_interval或run_delayed。
o 冰山算法需依赖on_order_response回调,确保在策略初始化时注册。
2. QMT
o 行情数据(xtdata)有1~3秒延迟,高频策略需测试延迟影响。
o 异步下单(order_stock_async)不会阻塞,但需自行维护订单状态。
3. 通用建议
o 实盘前需回测拆单算法的冲击成本(可通过历史Tick数据模拟)。
o 增加异常处理(如盘口消失、网络中断等)。
五、总结对比
按需选择平台和算法,流动性差的标的优先使用冰山算法,大盘股可用VWAP降低冲击成本。
(注:点我红色头像旁边有个咨询TA,加我微或者电话联系我)
温馨提示:投资有风险,选择需谨慎。
- 开通QMT之后ETF申赎可以自动化执行吗,PTrade能不能编写ETF申赎套利策略?
- 开通PTrade可以设置策略最大亏损强制停止吗,QMT实盘怎么设置策略最大回撤风控?
- QMT开户之后回测最大支持多少年历史数据,开通PTrade回测历史数据最多多少年?
- 开通PTrade做行业轮动策略效果怎么样,QMT做行业轮动回测和实盘差距大吗?
- 开通QMT之后遇到券商系统升级策略会中断吗,PTrade系统维护期间策略还运行吗?
- 股票账户刚满两年交易经验可以开通QMT吗,交易经验刚好达标PTrade会直接通过吗?
- 开通QMT需要掌握哪些基础编程知识,完全零基础开通PTrade能上手使用吗?
- PTrade支持Python3哪个版本,开通QMT内置的Python版本是什么?
-
2026年券商APP月活榜:8家券商座次怎么排?选APP该看的3件事
2026-10-12 16:05
-
2026年可转债投资攻略:【可转债专题】帮你从入门到实操一站式搞定
2026-10-12 16:05
-
银证转账失败是什么原因?这4种情况最常见
2026-10-12 16:05



问一问
从业认证

+微信
分享该文章
