
Algo 策略部署架构:从信号到风控到执行
生产 algo 部署架构,分离信号生成、风控关卡和执行,带具体组件和实盘数据流。
交互工具在翻译视图中可能无法使用。
Algo 策略部署架构:从信号到风控到执行
一个能赚钱的回测不是可部署的系统。两者之间的差距就是架构。实盘 algo 需要四个松耦合阶段——信号、风控关卡、订单路由、对账——每个都能独立测试和熔断。
四阶段流水线
1. 信号引擎。 产出目标仓位:每个决策 tick 一个 {symbol, side, size, confidence} 向量。除指标历史外保持无状态。一个知道成交或现金的信号模块是耦合 bug。
2. 风控关卡。 唯一允许否决的阶段。按顺序检查:
- 仓位 ≤ 账户 1% 风险
- 总敞口 ≤ 100%(或你的杠杆上限)
- 净板块敞口在限额内
- 最大日亏未触线(回撤 > 3% 停)
- 相关性预算:开仓组合风险 ≤ 6%
任一检查失败,订单被拒并记日志。风控关卡必须是路由前最后一个碰订单的代码。
3. 订单路由。 把目标仓位翻译成券商订单。处理智能订单路由、切片(规模 > 1 分钟成交量 5% 时 TWAP/VWAP)、场所选择。它永远不能算仓位——那是信号引擎的活。
4. 对账。 独立进程每 60 秒把券商报的成交和内部预期成交比对。不匹配 > 0.05% 告警;> 0.5% 触发全平。
数据流和解耦
阶段之间用消息队列(Redis、ZeroMQ)连,而不是直接函数调用。这能让你重启信号引擎而不丢半空中的订单,也让风控关卡跑在专用硬件上。
熔断开关
每个系统都需要硬件级熔断:一条命令撤所有挂单并平掉所有仓位。绑到一个物理按钮,再绑到一个看门狗——信号引擎 30 秒不发心跳就自动触发。大多数爆仓发生在一个卡死进程留下了活的旧单。
部署清单
- 每个阶段每 5 秒发心跳,集中记录
- 用 NTP 同步时钟;否则订单时间戳会漂
- 用 client_order_id 做幂等订单提交,防重连重复
- paper 和 live 配置用环境变量区分,永远不用注释开关
- 每日对账报告,把实现盈亏和信号日志的预期盈亏比对
常见架构失败
混信号和执行的单体脚本没法安全重启、没法审计。一个 200 行"啥都干"的 bot 跑到第一次重连就重复成交。第一天就拆流水线;成本几百行代码,收益是扛过你的第一次故障。
实时行情
打开完整图表 →相关市场数据由 TradingView 提供。
我的笔记
登录后可在本文保存笔记并与社区分享。
下一篇推荐
Quant Research Workflow: Jupyter Notebooks and Feature Engineering
A repeatable quant research workflow using Jupyter notebooks covers feature engineering, validation, and notebook hygiene that produces deployable signals.
阅读更多 →Smart Recommendations