侧边栏壁纸
博主头像
欧度南栖 博主等级

步不停,心自由

  • 累计撰写 17 篇文章
  • 累计创建 17 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

私有量化平台:交易引擎设计(Execution Engine)

在自建私有量化交易平台中,执行模块(Execution Engine)是策略与真实市场之间的“唯一通道”。
它不负责判断对错,只负责忠实、稳定、可控地执行策略意图

一句话定位:

执行模块是量化系统中最“脏”、但也最关键的一层。


一、执行模块的核心职责

执行模块的职责可以总结为三类:

1. 下单执行

  • 买入 / 卖出

  • 市价单 / 限价单

  • 撤单、改单

  • 分批下单(如拆单执行)

执行模块接收的不是“交易想法”,而是标准化交易指令,例如:

买入 600000
数量:10,000 股
价格:限价 10.25
有效期:当日有效

策略不关心:

  • 用的是哪家券商

  • 接口是 HTTP、TCP 还是本地 SDK

  • 是否需要重试

👉 这些都属于执行模块的职责范围。


2. 订单管理与状态跟踪

真实交易环境中,订单不是“一下就成”的。

执行模块必须完整管理订单生命周期:

已提交 → 已受理 → 部分成交 → 全部成交
           ↘ 已撤单 / 已拒绝 / 异常

核心能力包括:

  • 本地订单 ID 与交易所订单 ID 映射

  • 成交回报处理

  • 实时更新持仓与资金冻结状态

  • 支持部分成交的连续处理

一个不能正确处理“部分成交”的执行模块,永远不具备实盘资格


3. 异常与容错处理

执行模块面对的是不可靠世界

  • 网络抖动

  • 接口超时

  • 券商系统短暂不可用

  • 行情与交易不同步

必须具备:

  • 自动重试机制(可配置)

  • 失败降级(暂停下单、切换状态)

  • 明确的错误码与异常分类

  • 可追溯日志(否则排错地狱)

执行模块的底线目标不是“每单都成交”,而是:

在任何异常情况下,不做错误交易。


二、执行模块的设计原则

1. 与策略逻辑强解耦(非常关键)

策略 ≠ 执行

策略只做三件事:

  • 生成信号

  • 计算目标仓位

  • 发出“交易意图”

执行模块只做一件事:

  • 把交易意图变成现实(或失败)

推荐的接口形式:

策略 → 标准化订单指令 → 执行模块 → 交易接口

策略层绝对不能

  • 直接调用券商 API

  • 感知网络状态

  • 处理成交回报

否则你将得到一个:

  • 无法回测

  • 无法仿真

  • 无法迁移

  • 无法私有化的系统


2. 执行接口统一抽象

执行模块内部,应对不同交易通道进行抽象封装:

ExecutionInterface
 ├─ BacktestExecutor
 ├─ SimulatedExecutor
 ├─ RealTradeExecutor

这样可以做到:

  • 同一份策略代码

  • 回测 / 仿真 / 实盘无感切换

这正是自建私有量化平台的核心价值之一。


3. 严格的状态机设计

执行模块本质是一个状态机系统

典型状态包括:

  • 系统状态(运行 / 暂停 / 降级)

  • 账户状态(可交易 / 风控冻结)

  • 订单状态(生命周期)

没有状态机,执行模块迟早会:

  • 重复下单

  • 丢成交回报

  • 仓位错乱

工程上应明确:

  • 状态转换条件

  • 非法状态直接拒绝执行


三、执行模块的关键设计点

1. 下单策略与拆单机制

执行模块不一定“照单全收”。

常见增强能力:

  • 大单拆分(减少冲击成本)

  • 成交进度跟踪

  • 超时未成交自动调整价格

策略只关心“我想要多少仓位”,
执行模块负责“怎么下得更合理”。


2. 风控前置校验

即使策略层已有风控,执行模块仍应做最后一道防线

  • 最大下单金额

  • 单日最大交易次数

  • 禁止交易标的

  • 账户可用资金校验

原则是:

执行模块宁可拒单,也不能执行明显异常的交易。


3. 时间与交易日感知

执行模块必须明确:

  • 当前是否交易时段

  • 是否集合竞价

  • 是否临近收盘

  • 是否节假日或停牌

策略层可以“天真”,
执行模块必须“现实”。


四、执行模块在私有化系统中的意义

你强调的**“私有化、避免策略泄漏”**,执行模块正是关键环节之一。

自建执行模块的好处:

  • 不依赖第三方托管策略

  • 不暴露交易逻辑

  • 不上传核心参数

  • 可完全本地运行

策略 → 本地执行 → 本地账户
全链路可控

这是公有量化平台永远无法给你的能力。


五、执行模块的成熟标志

一个执行模块,具备以下特征,才算“可实盘”:

  • 策略与执行彻底解耦

  • 完整订单状态管理

  • 异常可恢复、可追溯

  • 支持回测 / 仿真 / 实盘统一接口

  • 出问题时“停得下来”

一句很现实的话:

量化系统亏钱,往往不是策略错,而是执行模块出问题。


总结

在自建私有量化交易平台中:

  • 执行模块是策略落地的唯一入口

  • 它不追求聪明,只追求稳定与可控

  • 解耦设计决定系统寿命

  • 私有化执行链路,是策略安全的最后防线

0

评论区