什么是持仓漂移?
在量化交易中,你的策略通常运行在回测平台(如聚宽)上,维护一套虚拟仓位;而实际交易发生在 QMT/PTrade 终端,产生的是实际仓位。理想情况下,两者应该完全一致。但现实中,它们几乎一定会出现偏差——这就是持仓漂移。
漂移从何而来?
持仓漂移的常见原因包括:
- 滑点:策略假设以某个价格成交,但实际成交价不同,导致数量出现偏差
- 停牌:策略认为某只股票可以交易,但 QMT 发现它已停牌,无法执行
- 涨跌停:策略发出买卖指令,但股票已触及涨跌停板,无法成交
- 手动干预:你在 QMT 上手动操作了某个持仓,与策略信号产生了偏差
- 资金不足:实际可用资金与策略预期不一致,导致部分指令无法全部成交
这些偏差如果不及时发现和纠正,会随着时间累积,最终导致虚拟仓位和实际仓位严重脱节,策略的回测表现和实盘收益将完全不可比。
QuantLink 的漂移监控
QuantLink 提供了自动化的持仓漂移监控:
每日 15:10 自动对比:在A股收盘后,QuantLink 的定时任务会自动获取两个数据源——
- 聚宽侧:通过注入的
run_daily代码,在 15:05 自动上报虚拟持仓快照 - QMT 侧:终端在上报执行结果时同步上报实际持仓快照
系统逐只股票对比两份持仓数据,计算差异百分比,并给出漂移等级判定。
漂移等级与告警
| 漂移等级 | 差异幅度 | 含义 |
|---|---|---|
| 正常 | < 5% | 虚拟仓位与实际仓位基本一致 |
| 轻微漂移 | 5% - 15% | 存在一定偏差,建议关注 |
| 严重漂移 | > 15% | 偏差较大,需要及时校准 |
你可以在 QuantLink 控制台的策略详情页查看每个策略的漂移状态,逐只股票查看差异明细。
多策略终端的特殊处理
当一个 QMT 终端同时服务多个策略时,快照对比方式会发生变化:
- 单策略终端:直接对比聚宽快照与 QMT 快照
- 多策略终端:由于 QMT 快照是所有策略的汇总,无法区分某只股票属于哪个策略。此时 QuantLink 会改用执行记录反推——聚合每个策略在
executionRecord中的filledQuantity,推算出该策略应持有的仓位,再与聚宽快照对比
这种智能切换确保了即使你的终端绑定了多个策略,漂移监控依然准确可靠。
校准功能:一键同步
当漂移超出你的容忍范围时,QuantLink 提供了校准功能:
- 在策略详情页点击"校准"
- 系统将 QMT 端的实际仓位数据同步回聚宽的虚拟仓位
- 聚宽策略在下一次调仓时,会基于校正后的仓位进行计算
校准相当于给策略做了一次"仓位重置",消除了累积偏差,让虚拟仓位重新与实际仓位对齐。
总结
QuantLink 的持仓漂移监控提供了完整的"检测 → 告警 → 校准"闭环:
- 双源对比:聚宽虚拟仓位 vs QMT 实际仓位,每日自动执行
- 智能切换:多策略终端自动切换为执行记录反推模式
- 一键校准:发现漂移后一键同步,消除累积偏差
你不需要手动导出两份持仓到 Excel 里逐行比对——QuantLink 帮你自动完成这一切。