什么是持仓漂移?
在量化交易中,你的策略通常运行在回测平台(如聚宽)上,维护一套虚拟仓位;而实际交易发生在 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,推算出该策略应持有的仓位,再与聚宽快照对比
这种智能切换确保了即使你的终端绑定了多个策略,漂移监控依然准确可靠。
校准功能:一键同步(admin 专属)
当漂移超出你的容忍范围时,QuantLink 提供了校准功能(仅管理员可用):
- 在策略详情页点击"校准"(普通用户看不到此按钮)
- 系统将 QMT 端的实际仓位数据同步回聚宽的虚拟仓位
- 聚宽策略在下一次调仓时,会基于校正后的仓位进行计算
校准相当于给策略做了一次"仓位重置",消除了累积偏差,让虚拟仓位重新与实际仓位对齐。
校准是管理员专属功能。普通用户在终端列表或终端管理页都看不到校准按钮,直接调用 API 也会被拒绝(403)。理由:校准会直接修改策略持仓,属于高风险操作,适合有经验的用户使用。
比例变更警告
如果该策略在持仓周期内改过下单比例(orderRatio),信号偏差页面顶部会显示琥珀色警告:
⚠ 历史执行记录中存在多种 orderRatio,偏差数字可能反映比例缩放差异,而非真实持仓漂移。
这种情况下,偏差数学的反向 normalization 会失真。建议直接对照券商对账单核实真实持仓,不要单看偏差数字判断是否需要校准。
总结
QuantLink 的持仓漂移监控提供了完整的"检测 → 告警 → 校准"闭环:
- 双源对比:聚宽虚拟仓位 vs QMT 实际仓位,每日自动执行
- 智能切换:多策略终端自动切换为执行记录反推模式
- 比例变更警告:执行记录中含多种 ratio 时给出提示
- 一键校准(admin):发现漂移后一键同步,消除累积偏差
你不需要手动导出两份持仓到 Excel 里逐行比对——QuantLink 帮你自动完成这一切。