自有机房侧平台与模块设计文档
版本:v0.1
范围:私募基金高频量化交易系统 —— 自有机房侧
口径:交易系统为整体;自有机房侧由多个平台组成;平台内部由模块组成。
当前版本:不建设仿真交易平台;仿真能力后续可放在 Colo 侧,以“模拟柜台进程”方式实现。
1. 设计目标
自有机房侧不参与微秒级交易决策,不直接承载低延迟撮合链路。它的定位是交易系统的 生产管理中枢、数据中枢、研发中枢、运维中枢和审计中枢。
核心目标:
- 可控:能够启动、停止、暂停、恢复、全撤、禁买、禁卖、Kill Switch。
- 可观测:能够查看机器、进程、行情、信号、订单、成交、PnL、延迟、日志、时钟状态。
- 可配置:能够管理并下发信号参数、交易机器人参数、柜台参数、风控参数、账户配置、标的池等。
- 可审计:所有控制指令、参数变更、发布操作、应急操作、权限操作都可追溯。
- 可结算:能够完成成交、持仓、资金、费用、PnL、券商数据的日终对账。
- 可研发:支持研究平台、回测分析、实验管理和行情数据查询。
- 可运维:支持部署发布、日志归档、任务调度、备份恢复、基础设施管理。
2. 自有机房侧总体边界
自有机房侧当前版本建议由四类平台组成:
自有机房侧
├── 1. 管控平台
├── 2. 研究平台
├── 3. 行情数据管理平台
└── 4. 基础设施平台其中:
| 平台 | 定位 | 是否核心 |
|---|---|---|
| 管控平台 | 生产交易系统的统一管理入口 | 是 |
| 研究平台 | 面向策略研究、回测分析、实验管理 | 是 |
| 行情数据管理平台 | 面向行情数据采集、清洗、存储、查询、回放数据准备 | 是 |
| 基础设施平台 | 支撑计算、存储、网络、数据库、消息、权限、备份等底层能力 | 是 |
3. 总体架构图
flowchart TB
subgraph COLO[Colo 侧]
MD[行情进程]
SIG[信号进程]
BOT[交易机器人进程]
GW[柜台发单进程]
CA[管控代理进程]
OPS[运维进程组]
end
subgraph IDC[自有机房侧]
subgraph CTRL[管控平台]
ROBOT_CTRL[交易机器人管控模块]
SIG_CTRL[信号进程管控模块]
GW_CTRL[柜台发单管控模块]
ORDER[订单与成交模块]
PNL[持仓与 PnL 模块]
CONFIG[参数与配置模块]
SETTLE[结算与对账模块]
OBS[观测模块]
DEPLOY[部署与发布模块]
AUTH[权限与审计模块]
LOG[日志与事件模块]
TIME[时间与时钟状态模块]
SCHED[任务调度模块]
EMG[应急控制模块]
end
RESEARCH[研究平台]
MDATA[行情数据管理平台]
INFRA[基础设施平台]
end
CA <--> ROBOT_CTRL
CA <--> SIG_CTRL
CA <--> GW_CTRL
CA --> ORDER
CA --> PNL
CA --> OBS
CA --> LOG
CA --> TIME
CONFIG --> CA
DEPLOY --> CA
EMG --> CA
ORDER --> SETTLE
PNL --> SETTLE
LOG --> SETTLE
SCHED --> SETTLE
SCHED --> DEPLOY
SCHED --> LOG
MD --> MDATA
MDATA --> RESEARCH
MDATA --> SCHED
RESEARCH --> SCHED
AUTH --> ROBOT_CTRL
AUTH --> SIG_CTRL
AUTH --> GW_CTRL
AUTH --> CONFIG
AUTH --> DEPLOY
AUTH --> EMG
INFRA --> CTRL
INFRA --> RESEARCH
INFRA --> MDATA4. 平台职责总览
mindmap
root((自有机房侧))
管控平台
交易机器人管控
信号进程管控
柜台发单管控
订单与成交
持仓与PnL
参数与配置
结算与对账
观测
部署与发布
权限与审计
日志与事件
时间与时钟状态
任务调度
应急控制
研究平台
策略研究
因子研究
回测分析
参数扫描
实验管理
研究报告
行情数据管理平台
原始行情
标准化行情
订单簿数据
数据清洗
数据校验
数据查询
数据导出
基础设施平台
服务器
网络
存储
数据库
消息队列
权限认证
备份恢复5. 管控平台设计
5.1 管控平台定位
管控平台是自有机房侧最核心的平台,是生产交易系统的统一操作入口。
它负责:
1. 管理 Colo 侧行情进程、信号进程、交易机器人进程、柜台发单进程、管控代理进程、运维进程组。
2. 查看实时订单、成交、持仓、资金、PnL、延迟、日志、风控事件。
3. 管理和下发信号参数、交易机器人参数、柜台参数、风控参数、账户配置、标的池。
4. 管理部署、发布、回滚和版本切换。
5. 执行应急控制,例如禁买、禁卖、全撤、Kill Switch。
6. 承担权限、审批、审计和操作留痕。
7. 组织盘前、盘中、盘后和日终任务。5.2 管控平台内部模块
管控平台
├── 1. 交易机器人管控模块
├── 2. 信号进程管控模块
├── 3. 柜台发单管控模块
├── 4. 订单与成交模块
├── 5. 持仓与 PnL 模块
├── 6. 参数与配置模块
├── 7. 结算与对账模块
├── 8. 观测模块
├── 9. 部署与发布模块
├── 10. 权限与审计模块
├── 11. 日志与事件模块
├── 12. 时间与时钟状态模块
├── 13. 任务调度模块
└── 14. 应急控制模块5.3 管控平台架构图
flowchart TB
subgraph USER[用户角色]
TRADER[交易员]
OPS_USER[运维人员]
RISK_USER[风控人员]
PM[投资经理]
DEV[研发人员]
ADMIN[管理员]
end
subgraph CTRL[管控平台]
WEB[Web 控制台]
API[管控 API]
AUTH[权限与审计模块]
CONFIG[参数与配置模块]
ROBOT[交易机器人管控模块]
SIG[信号进程管控模块]
GW[柜台发单管控模块]
ORDER[订单与成交模块]
PNL[持仓与 PnL 模块]
OBS[观测模块]
LOG[日志与事件模块]
DEPLOY[部署与发布模块]
SETTLE[结算与对账模块]
TIME[时间与时钟状态模块]
SCHED[任务调度模块]
EMG[应急控制模块]
end
subgraph COLO[Colo 侧]
CA[管控代理进程]
BOT[交易机器人进程]
SIGP[信号进程]
GWP[柜台发单进程]
MDP[行情进程]
OPSP[运维进程组]
end
TRADER --> WEB
OPS_USER --> WEB
RISK_USER --> WEB
PM --> WEB
DEV --> WEB
ADMIN --> WEB
WEB --> API
API --> AUTH
AUTH --> CONFIG
AUTH --> ROBOT
AUTH --> SIG
AUTH --> GW
AUTH --> DEPLOY
AUTH --> EMG
ROBOT <--> CA
SIG <--> CA
GW <--> CA
DEPLOY --> CA
EMG --> CA
CONFIG --> CA
CA <--> BOT
CA <--> SIGP
CA <--> GWP
CA <--> MDP
CA <--> OPSP
CA --> ORDER
CA --> PNL
CA --> OBS
CA --> LOG
CA --> TIME
ORDER --> SETTLE
PNL --> SETTLE
LOG --> SETTLE
SCHED --> SETTLE5.4 交易机器人管控模块
5.4.1 模块定位
交易机器人管控模块负责管理 Colo 侧所有交易机器人进程的运行状态、交易状态、参数状态、订单成交状态和应急控制。
5.4.2 功能清单
交易机器人管控模块
├── 机器人列表
├── 机器人详情
├── 机器人运行状态
├── 机器人交易状态
├── 机器人当前参数
├── 机器人当前订单
├── 机器人实时成交
├── 机器人实时持仓
├── 机器人实时 PnL
├── 机器人日志查询
├── 启动机器人
├── 停止机器人
├── 暂停交易
├── 恢复交易
├── 禁买
├── 禁卖
├── 单机器人全撤
├── 修改机器人参数
├── 下发机器人参数
└── 机器人操作审计5.4.3 输入与输出
| 类型 | 内容 |
|---|---|
| 输入 | 用户控制指令、参数变更、权限校验结果、机器人状态上报、订单成交事件 |
| 输出 | 控制指令、参数下发、状态展示、审计事件、告警事件 |
5.4.4 关键状态
机器人生命周期状态:
- 未部署
- 已部署
- 未启动
- 启动中
- 运行中
- 暂停交易
- 停止中
- 已停止
- 异常
- 失联
机器人交易状态:
- 正常交易
- 只撤不报
- 禁买
- 禁卖
- 已全撤
- 已 Kill5.4.5 控制流程
sequenceDiagram
participant U as 用户
participant WEB as 管控平台 Web
participant AUTH as 权限与审计模块
participant ROBOT as 交易机器人管控模块
participant CA as Colo 管控代理进程
participant BOT as 交易机器人进程
U->>WEB: 点击启动/停止/暂停/恢复/禁买/禁卖
WEB->>AUTH: 校验权限与操作风险
AUTH-->>WEB: 返回校验结果
WEB->>ROBOT: 提交控制指令
ROBOT->>AUTH: 写入操作审计
ROBOT->>CA: 下发控制指令
CA->>BOT: 转发指令
BOT-->>CA: 返回执行结果
CA-->>ROBOT: 上报执行结果
ROBOT-->>WEB: 更新页面状态
ROBOT->>AUTH: 写入执行审计5.5 信号进程管控模块
5.5.1 模块定位
信号进程管控模块负责管理信号进程的运行状态、信号输出状态、信号参数、信号延迟和异常信号。
5.5.2 功能清单
信号进程管控模块
├── 信号进程列表
├── 信号进程详情
├── 信号进程运行状态
├── 信号输入行情状态
├── 信号输出状态
├── 信号频率监控
├── 信号延迟监控
├── 当前信号值查看
├── 异常信号查看
├── 信号参数查看
├── 信号参数下发
├── 信号进程启动
├── 信号进程停止
├── 信号进程重启
├── 信号版本切换
└── 信号日志查询5.5.3 输入与输出
| 类型 | 内容 |
|---|---|
| 输入 | 信号进程状态、信号值、信号频率、参数变更请求、行情状态 |
| 输出 | 信号进程控制指令、信号参数、异常告警、审计事件 |
5.5.4 关键指标
- 信号计算延迟
- 信号输出频率
- 信号有效率
- 信号为空比例
- 异常信号数量
- 输入行情延迟
- 输出到交易机器人的延迟
- 信号进程 CPU / 内存5.5.5 信号参数下发流程
sequenceDiagram
participant U as 用户
participant WEB as 管控平台
participant CFG as 参数与配置模块
participant AUTH as 权限与审计模块
participant CA as Colo 管控代理进程
participant SIG as 信号进程
U->>WEB: 修改信号参数
WEB->>CFG: 创建参数变更草稿
CFG->>AUTH: 发起审批/权限校验
AUTH-->>CFG: 通过
CFG->>CFG: 生成参数版本
CFG->>CA: 下发参数版本
CA->>SIG: 转发参数
SIG->>SIG: 校验并加载参数
SIG-->>CA: 返回加载结果
CA-->>CFG: 回传执行结果
CFG->>AUTH: 记录参数变更审计5.6 柜台发单管控模块
5.6.1 模块定位
柜台发单管控模块负责管理 Colo 侧柜台发单进程,包括柜台连接状态、账户登录状态、报撤单通道状态、回报状态、拒单状态、流控状态、风控拦截状态和应急操作。
5.6.2 功能清单
柜台发单管控模块
├── 柜台连接状态
├── 账户登录状态
├── 报单通道状态
├── 撤单通道状态
├── 订单回报状态
├── 成交回报状态
├── 拒单明细
├── 流控状态
├── 风控拦截明细
├── 柜台参数查看
├── 柜台参数修改
├── 风控参数查看
├── 风控参数修改
├── 柜台连接启动
├── 柜台连接停止
├── 柜台重连
├── 单账户全撤
├── 单策略全撤
├── 只撤不报
└── 全局 Kill Switch5.6.3 当前阶段风控边界
当前阶段,实时硬风控由 Colo 侧柜台发单进程执行。管控平台负责:
1. 管理风控参数。
2. 下发风控参数。
3. 查看风控拦截事件。
4. 查看风控规则命中原因。
5. 审计风控规则变更。
6. 执行应急风控指令。5.6.4 柜台状态监控流程
sequenceDiagram
participant GW as 柜台发单进程
participant CA as Colo 管控代理进程
participant GWC as 柜台发单管控模块
participant OBS as 观测模块
participant WEB as 管控平台 Web
GW->>CA: 上报柜台连接状态
GW->>CA: 上报订单回报状态
GW->>CA: 上报成交回报状态
GW->>CA: 上报拒单/风控/流控事件
CA->>GWC: 写入柜台业务状态
CA->>OBS: 写入柜台观测指标
GWC->>WEB: 展示柜台详情
OBS->>WEB: 展示柜台健康状态5.7 订单与成交模块
5.7.1 模块定位
订单与成交模块负责接收、存储、查询、展示和追踪盘中订单、撤单、成交、拒单、风控拦截等交易事件。
5.7.2 功能清单
订单与成交模块
├── 实时订单列表
├── 实时成交列表
├── 撤单列表
├── 拒单列表
├── 风控拦截列表
├── 按机器人查询订单
├── 按策略查询订单
├── 按账户查询订单
├── 按产品查询订单
├── 按标的查询订单
├── 订单状态流转追踪
├── 成交明细追踪
├── 撤单状态追踪
├── 拒单原因分析
├── 订单延迟分析
├── 订单事件回放
└── 订单成交导出5.7.3 订单状态模型
stateDiagram-v2
[*] --> LocalCreated: 本地创建
LocalCreated --> SentToGateway: 发送柜台进程
SentToGateway --> BrokerAccepted: 柜台接收
BrokerAccepted --> ExchangeAccepted: 交易所接收
ExchangeAccepted --> PartiallyFilled: 部分成交
PartiallyFilled --> Filled: 全部成交
ExchangeAccepted --> CancelPending: 撤单中
PartiallyFilled --> CancelPending: 撤单中
CancelPending --> Canceled: 已撤单
SentToGateway --> Rejected: 柜台拒单
BrokerAccepted --> Rejected: 交易所拒单
ExchangeAccepted --> Unknown: 状态未知
Unknown --> Canceled: 恢复为已撤
Unknown --> Filled: 恢复为已成
Unknown --> Rejected: 恢复为拒单
Filled --> [*]
Canceled --> [*]
Rejected --> [*]5.7.4 订单事件流
flowchart LR
BOT[交易机器人进程] -->|订单意图| GW[柜台发单进程]
GW -->|报单事件| CA[管控代理进程]
GW -->|撤单事件| CA
GW -->|订单回报| CA
GW -->|成交回报| CA
GW -->|拒单事件| CA
GW -->|风控拦截| CA
CA --> ORDER[订单与成交模块]
ORDER --> PNL[持仓与 PnL 模块]
ORDER --> SETTLE[结算与对账模块]
ORDER --> LOG[日志与事件模块]
ORDER --> WEB[实时交易看板]5.8 持仓与 PnL 模块
5.8.1 模块定位
持仓与 PnL 模块负责基于昨夜持仓、盘中订单成交、实时行情和费用规则,计算账户、产品、策略、机器人、标的等维度的持仓、资金、冻结和 PnL。
5.8.2 功能清单
持仓与 PnL 模块
├── 实时持仓
├── 实时资金
├── 实时冻结
├── 实时可用
├── 实时 PnL
├── 日内 PnL
├── 隔夜 PnL
├── 策略 PnL
├── 机器人 PnL
├── 账户 PnL
├── 产品 PnL
├── 标的 PnL
├── 手续费估算
├── 滑点分析
├── 成交成本分析
├── 收益归因基础版
└── PnL 异常告警5.8.3 输入与输出
| 类型 | 内容 |
|---|---|
| 输入 | 昨夜持仓、盘中成交、订单状态、实时行情、费用规则、账户信息 |
| 输出 | 实时持仓、实时资金、实时 PnL、冻结资金、风险指标、结算输入 |
5.8.4 PnL 计算数据流
flowchart TB
PREV[昨夜持仓/资金] --> POS[持仓与 PnL 模块]
TRADE[盘中成交回报] --> POS
ORDER[订单状态/冻结信息] --> POS
MKT[实时行情价格] --> POS
FEE[费用规则] --> POS
POS --> RT_POS[实时持仓]
POS --> RT_CASH[实时资金]
POS --> RT_FROZEN[冻结资金]
POS --> RT_PNL[实时 PnL]
POS --> RISK[风险与敞口指标]
POS --> SETTLE[结算与对账模块]5.9 参数与配置模块
5.9.1 模块定位
参数与配置模块负责统一管理信号参数、交易机器人参数、柜台参数、风控参数、账户配置、产品配置、标的池、黑白名单、交易日历、进程配置等。
5.9.2 功能清单
参数与配置模块
├── 信号参数管理
├── 交易机器人参数管理
├── 柜台参数管理
├── 风控参数管理
├── 账户配置管理
├── 产品配置管理
├── 交易标的池管理
├── 黑白名单管理
├── 交易日历管理
├── 交易时段管理
├── 机器配置管理
├── 进程配置管理
├── 参数版本管理
├── 参数审批
├── 参数灰度
├── 参数下发
├── 参数回滚
└── 参数变更审计5.9.3 参数对象模型
erDiagram
CONFIG_VERSION ||--o{ CONFIG_ITEM : contains
CONFIG_VERSION ||--o{ CONFIG_TARGET : applies_to
CONFIG_VERSION ||--o{ CONFIG_APPROVAL : requires
CONFIG_VERSION ||--o{ CONFIG_DEPLOY_RESULT : produces
CONFIG_VERSION {
string config_id
string config_type
string version
string status
string operator
datetime created_at
datetime effective_at
}
CONFIG_ITEM {
string key
string value
string value_type
string description
}
CONFIG_TARGET {
string target_type
string target_id
string colo_id
string process_name
}
CONFIG_APPROVAL {
string approver
string approval_status
datetime approved_at
string comment
}
CONFIG_DEPLOY_RESULT {
string target_id
string result
string message
datetime deployed_at
}5.9.4 参数发布流程
flowchart TD
A[创建参数草稿] --> B[参数合法性校验]
B --> C{是否通过校验}
C -- 否 --> C1[返回错误并禁止提交]
C -- 是 --> D[提交审批]
D --> E{审批是否通过}
E -- 否 --> E1[驳回并记录原因]
E -- 是 --> F[生成参数版本]
F --> G[选择目标进程/账户/策略]
G --> H[下发至管控代理进程]
H --> I[Colo 侧加载参数]
I --> J{加载是否成功}
J -- 否 --> J1[回滚旧版本并告警]
J -- 是 --> K[标记版本生效]
K --> L[写入审计日志]5.10 结算与对账模块
5.10.1 模块定位
结算与对账模块负责盘后和日终处理,包括成交汇总、持仓计算、资金计算、费用计算、券商数据对账、差异处理和报表生成。
5.10.2 功能清单
结算与对账模块
├── 日终成交汇总
├── 日终持仓计算
├── 日终资金计算
├── 日终 PnL 计算
├── 券商成交对账
├── 券商持仓对账
├── 券商资金对账
├── 交易费用计算
├── 印花税/过户费/规费计算
├── 策略盈亏汇总
├── 产品盈亏汇总
├── 账户盈亏汇总
├── 对账差异检查
├── 差异处理流程
├── 结算报表生成
└── 次日初始持仓生成5.10.3 日终结算流程
flowchart TD
A[收盘] --> B[冻结盘中订单成交数据]
B --> C[拉取券商成交/持仓/资金数据]
C --> D[汇总内部成交]
D --> E[计算内部日终持仓]
E --> F[计算内部日终资金]
F --> G[计算费用和 PnL]
G --> H[与券商成交对账]
H --> I[与券商持仓对账]
I --> J[与券商资金对账]
J --> K{是否存在差异}
K -- 是 --> L[生成差异单]
L --> M[人工复核/修正]
M --> N[重新生成结算结果]
K -- 否 --> N[确认结算结果]
N --> O[生成日报/结算报表]
O --> P[生成次日初始持仓和资金]
P --> Q[归档结算数据]5.11 观测模块
5.11.1 模块定位
观测模块负责生产系统运行状态监控,覆盖系统观测和业务观测。
5.11.2 功能清单
观测模块
├── Colo 机器状态
├── 进程状态
├── CPU 监控
├── 内存监控
├── 磁盘监控
├── 网卡监控
├── 网络延迟监控
├── 行情延迟监控
├── 信号延迟监控
├── 发单延迟监控
├── 回报延迟监控
├── 订单量监控
├── 撤单量监控
├── 成交量监控
├── 拒单量监控
├── 风控拦截监控
├── 告警规则管理
└── 告警通知5.11.3 观测分类
| 分类 | 监控对象 | 示例 |
|---|---|---|
| 系统观测 | 机器、进程、网络、磁盘、CPU、内存 | 机器宕机、进程退出、网卡丢包 |
| 业务观测 | 行情、信号、订单、成交、风控、PnL | 行情断流、拒单过高、撤单率异常 |
| 延迟观测 | 行情链路、信号链路、发单链路、回报链路 | 行情接收延迟、柜台回报延迟 |
| 时间观测 | PTP/NTP、时钟漂移、时间源 | 时钟漂移过大、时间源不可用 |
5.11.4 观测数据流
flowchart LR
COLO[Colo 进程/机器] --> AGENT[管控代理进程]
AGENT --> METRIC[指标采集]
AGENT --> EVENT[事件采集]
AGENT --> LOG[日志采集]
METRIC --> TSDB[时序数据库]
EVENT --> EVENTDB[事件库]
LOG --> LOGSTORE[日志存储]
TSDB --> DASH[观测看板]
EVENTDB --> DASH
LOGSTORE --> DASH
DASH --> ALERT[告警引擎]
ALERT --> NOTICE[短信/电话/邮件/IM]5.12 部署与发布模块
5.12.1 模块定位
部署与发布模块负责程序、配置、脚本、风控规则等发布对象从自有机房到 Colo 的发布、灰度、验证和回滚。
5.12.2 功能清单
部署与发布模块
├── 构建管理
├── 制品管理
├── 版本管理
├── 环境管理
├── 发布申请
├── 发布审批
├── 发布计划
├── 发布到测试环境
├── 发布到 Colo 环境
├── 灰度发布
├── 发布前检查
├── 发布后验证
├── 进程重启
├── 配置热更新
├── 版本回滚
└── 发布审计5.12.3 发布对象
- 行情进程
- 信号进程
- 交易机器人进程
- 柜台发单进程
- 管控代理进程
- 运维进程组
- 策略参数
- 风控参数
- 柜台参数
- 配置文件
- 运维脚本5.12.4 发布流程
flowchart TD
A[提交发布申请] --> B[选择发布对象]
B --> C[选择目标环境/Colo 节点]
C --> D[发布前检查]
D --> E{检查是否通过}
E -- 否 --> E1[阻断发布并生成报告]
E -- 是 --> F[审批]
F --> G{审批是否通过}
G -- 否 --> G1[发布取消]
G -- 是 --> H[推送制品/配置到 Colo]
H --> I[停止或热更新目标进程]
I --> J[启动/重载目标进程]
J --> K[发布后健康检查]
K --> L{是否健康}
L -- 否 --> M[自动或人工回滚]
L -- 是 --> N[发布成功]
M --> O[记录发布结果]
N --> O[记录发布结果]5.13 权限与审计模块
5.13.1 模块定位
权限与审计模块负责用户身份、角色权限、操作审批、敏感操作复核和全链路审计。
5.13.2 功能清单
权限与审计模块
├── 用户管理
├── 角色管理
├── 权限管理
├── 登录审计
├── 操作审计
├── 参数变更审计
├── 发布审计
├── 控制指令审计
├── 风控规则审计
├── 敏感操作二次确认
├── 双人复核
├── 审批流管理
└── 审计日志归档5.13.3 敏感操作清单
- 启动交易机器人
- 停止交易机器人
- 停止信号进程
- 修改信号参数
- 修改交易机器人参数
- 修改柜台参数
- 修改风控参数
- 下发参数
- 柜台重连
- 单策略全撤
- 单账户全撤
- 全局 Kill Switch
- 发布程序
- 回滚程序
- 修改权限5.13.4 权限审计流程
sequenceDiagram
participant U as 用户
participant WEB as 管控平台
participant AUTH as 权限与审计模块
participant FLOW as 审批流
participant TARGET as 目标模块
U->>WEB: 提交敏感操作
WEB->>AUTH: 身份与权限校验
AUTH-->>WEB: 返回权限结果
WEB->>FLOW: 发起审批/复核
FLOW-->>WEB: 审批通过
WEB->>TARGET: 执行操作
TARGET-->>WEB: 返回执行结果
WEB->>AUTH: 写入完整审计记录5.14 日志与事件模块
5.14.1 模块定位
日志与事件模块负责采集、存储、查询和归档系统日志、业务日志、订单事件、成交事件、控制事件、发布事件、风控事件等。
5.14.2 功能清单
日志与事件模块
├── 系统日志采集
├── 业务日志采集
├── 订单事件采集
├── 成交事件采集
├── 风控事件采集
├── 控制事件采集
├── 发布事件采集
├── 参数事件采集
├── 异常事件采集
├── 日志查询
├── 事件查询
├── Trace ID 关联查询
├── 日志归档
├── 日志压缩
└── 日志留存策略5.14.3 统一事件字段
- event_id
- trace_id
- event_type
- source_platform
- source_process
- source_module
- account_id
- product_id
- strategy_id
- robot_id
- symbol
- order_id
- event_time
- receive_time
- payload5.14.4 日志事件链路
flowchart LR
P1[行情进程] --> CA[管控代理进程]
P2[信号进程] --> CA
P3[交易机器人进程] --> CA
P4[柜台发单进程] --> CA
P5[运维进程组] --> CA
CA --> LOG[日志与事件模块]
LOG --> HOT[热存储]
LOG --> COLD[冷归档]
LOG --> SEARCH[查询引擎]
LOG --> TRACE[Trace 关联]
SEARCH --> WEB[管控平台查询页面]
TRACE --> WEB5.15 时间与时钟状态模块
5.15.1 模块定位
时间与时钟状态模块负责监控 Colo 机器和自有机房机器的 PTP/NTP 状态、时间源状态、时钟漂移和关键业务链路时间戳。
5.15.2 功能清单
时间与时钟状态模块
├── Colo 机器时钟状态
├── 自有机房机器时钟状态
├── PTP 状态
├── NTP 状态
├── 时间源状态
├── 时钟漂移监控
├── 各进程时间戳检查
├── 行情时间戳对齐
├── 订单时间戳对齐
├── 成交时间戳对齐
├── 延迟分段统计
└── 时间异常告警5.15.3 延迟分段
交易所行情时间
↓
行情接收时间
↓
行情解析完成时间
↓
信号生成时间
↓
交易机器人生成订单时间
↓
柜台发单进程接收订单时间
↓
柜台发送时间
↓
柜台回报时间
↓
成交回报时间
↓
管控平台接收时间5.15.4 时间戳链路图
flowchart LR
EX[交易所行情时间] --> MD_RECV[行情接收时间]
MD_RECV --> MD_PARSE[行情解析完成时间]
MD_PARSE --> SIG_TIME[信号生成时间]
SIG_TIME --> BOT_TIME[机器人生成订单时间]
BOT_TIME --> GW_RECV[柜台进程接收时间]
GW_RECV --> GW_SEND[柜台发送时间]
GW_SEND --> RPT_RECV[柜台回报时间]
RPT_RECV --> CTRL_RECV[管控平台接收时间]
CTRL_RECV --> LAT[延迟分段统计]
LAT --> ALERT[时间异常告警]5.16 任务调度模块
5.16.1 模块定位
任务调度模块负责管理日前、盘前、盘中、盘后、日终、夜间任务,支撑结算、对账、数据同步、行情归档、日志归档、备份、回测和研究任务。
5.16.2 功能清单
任务调度模块
├── 日前任务
├── 盘前任务
├── 盘中任务
├── 盘后任务
├── 日终任务
├── 夜间任务
├── 数据同步任务
├── 行情归档任务
├── 日志归档任务
├── 结算任务
├── 对账任务
├── 报表任务
├── 回测任务
├── 研究任务
├── 任务依赖管理
├── 任务失败重试
├── 任务告警
└── 任务执行审计5.16.3 交易日任务流
flowchart TD
A[日前任务] --> B[同步交易日历]
B --> C[生成标的池]
C --> D[生成参数版本]
D --> E[盘前任务]
E --> F[同步昨夜持仓/资金]
F --> G[下发参数]
G --> H[启动进程健康检查]
H --> I[盘中任务]
I --> J[同步订单成交]
I --> K[监控告警]
I --> L[实时 PnL 计算]
J --> M[盘后任务]
K --> M
L --> M
M --> N[拉取券商数据]
N --> O[结算与对账]
O --> P[生成报表]
P --> Q[归档日志/行情]
Q --> R[夜间回测/研究任务]5.17 应急控制模块
5.17.1 模块定位
应急控制模块负责高风险场景下的快速止损和交易系统保护。它和普通控制不同,需要更严格的权限、二次确认、操作审计和结果追踪。
5.17.2 功能清单
应急控制模块
├── 全局 Kill Switch
├── 单账户 Kill Switch
├── 单产品 Kill Switch
├── 单策略 Kill Switch
├── 单机器人 Kill Switch
├── 禁买
├── 禁卖
├── 只撤不报
├── 全撤
├── 停止发单
├── 停止信号
├── 停止机器人
├── 柜台断开
├── 应急参数切换
├── 应急预案执行
└── 应急操作审计5.17.3 应急控制流程
sequenceDiagram
participant U as 授权用户
participant WEB as 管控平台
participant AUTH as 权限与审计模块
participant EMG as 应急控制模块
participant CA as Colo 管控代理进程
participant GW as 柜台发单进程
participant BOT as 交易机器人进程
U->>WEB: 触发应急操作
WEB->>AUTH: 高危权限校验/二次确认
AUTH-->>WEB: 校验通过
WEB->>EMG: 创建应急指令
EMG->>AUTH: 写入应急操作审计
EMG->>CA: 下发应急指令
CA->>GW: 执行停止发单/全撤/Kill
CA->>BOT: 执行停止交易/禁买/禁卖
GW-->>CA: 返回执行结果
BOT-->>CA: 返回执行结果
CA-->>EMG: 汇总执行结果
EMG-->>WEB: 展示执行状态
EMG->>AUTH: 写入执行结果审计6. 研究平台设计
6.1 平台定位
研究平台面向策略研究员、量化开发和数据研究人员,负责策略研究、因子研究、回测分析、参数扫描、实验管理和研究报告。
研究平台不直接控制实盘交易,不直接操作 Colo 侧生产进程。
6.2 研究平台模块
研究平台
├── 1. 策略研究模块
├── 2. 因子研究模块
├── 3. 特征工程模块
├── 4. 回测分析模块
├── 5. 参数扫描模块
├── 6. 实验管理模块
├── 7. 研究报告模块
└── 8. Notebook / 研究环境模块6.3 研究平台架构图
flowchart TB
subgraph RESEARCH[研究平台]
NOTEBOOK[Notebook / 研究环境]
STRATEGY[策略研究模块]
FACTOR[因子研究模块]
FEATURE[特征工程模块]
BACKTEST[回测分析模块]
PARAM[参数扫描模块]
EXP[实验管理模块]
REPORT[研究报告模块]
end
subgraph DATA[数据来源]
MDATA[行情数据管理平台]
ORDERDATA[订单与成交数据]
PNL[持仓与 PnL 数据]
SETTLE[结算数据]
end
subgraph SCHED[调度能力]
TASK[任务调度模块]
end
MDATA --> NOTEBOOK
MDATA --> STRATEGY
MDATA --> FACTOR
MDATA --> FEATURE
ORDERDATA --> BACKTEST
PNL --> BACKTEST
SETTLE --> REPORT
NOTEBOOK --> EXP
STRATEGY --> BACKTEST
FACTOR --> FEATURE
FEATURE --> BACKTEST
BACKTEST --> PARAM
PARAM --> EXP
EXP --> REPORT
TASK --> BACKTEST
TASK --> PARAM6.4 主要模块功能
策略研究模块
策略研究模块
├── 策略逻辑开发
├── 策略样本选择
├── 策略指标计算
├── 策略表现分析
├── 策略版本管理
└── 策略上线候选生成因子研究模块
因子研究模块
├── 因子定义
├── 因子计算
├── 因子清洗
├── 因子 IC 分析
├── 因子分层回测
├── 因子稳定性分析
└── 因子入库特征工程模块
特征工程模块
├── 特征定义
├── 特征计算
├── 特征归一化
├── 特征缺失处理
├── 特征版本管理
└── 特征数据导出回测分析模块
回测分析模块
├── 历史行情加载
├── 历史订单簿重建
├── 策略回测运行
├── 成本模型
├── 滑点模型
├── 成交模型
├── 延迟模型
├── 回测指标计算
├── 回测结果分析
└── 回测报告生成参数扫描模块
参数扫描模块
├── 参数空间定义
├── 批量任务生成
├── 并行回测
├── 结果聚合
├── 最优参数筛选
├── 稳定性分析
└── 参数候选输出实验管理模块
实验管理模块
├── 实验创建
├── 实验版本管理
├── 输入数据版本记录
├── 策略代码版本记录
├── 参数版本记录
├── 回测结果记录
├── 实验对比
└── 实验归档研究报告模块
研究报告模块
├── 策略报告
├── 因子报告
├── 回测报告
├── 参数扫描报告
├── 实盘复盘报告
└── 报告归档6.5 策略研究到参数候选流程
flowchart TD
A[提出策略想法] --> B[查询行情和历史数据]
B --> C[开发因子/特征]
C --> D[实现策略逻辑]
D --> E[提交回测任务]
E --> F[分析回测结果]
F --> G{是否需要参数扫描}
G -- 是 --> H[提交参数扫描任务]
H --> I[聚合扫描结果]
I --> J[生成参数候选]
G -- 否 --> J
J --> K[生成研究报告]
K --> L[进入上线评审]7. 行情数据管理平台设计
7.1 平台定位
行情数据管理平台负责行情数据的采集、清洗、存储、校验、查询、导出和回放数据准备。它是研究、回测、复盘、风控分析和交易成本分析的数据底座。
7.2 行情数据管理平台模块
行情数据管理平台
├── 1. 原始行情管理模块
├── 2. 标准化行情管理模块
├── 3. 订单簿数据模块
├── 4. 数据清洗模块
├── 5. 数据校验模块
├── 6. 数据补全模块
├── 7. 数据查询模块
├── 8. 数据导出模块
├── 9. 数据版本管理模块
└── 10. 数据权限模块7.3 行情数据平台架构图
flowchart TB
subgraph SOURCE[数据来源]
COLO_MD[Colo 行情进程录制]
EXCHANGE[交易所历史数据]
VENDOR[第三方数据源]
BROKER[券商数据源]
end
subgraph MDATA[行情数据管理平台]
RAW[原始行情管理]
STD[标准化行情管理]
BOOK[订单簿数据]
CLEAN[数据清洗]
CHECK[数据校验]
FILL[数据补全]
VERSION[数据版本管理]
QUERY[数据查询]
EXPORT[数据导出]
PERM[数据权限]
end
subgraph CONSUMER[数据消费者]
RESEARCH[研究平台]
BACKTEST[回测分析]
REPLAY[盘后复盘]
RISK[风控分析]
TCA[交易成本分析]
end
COLO_MD --> RAW
EXCHANGE --> RAW
VENDOR --> RAW
BROKER --> RAW
RAW --> CLEAN
CLEAN --> CHECK
CHECK --> FILL
FILL --> STD
STD --> BOOK
STD --> VERSION
BOOK --> VERSION
VERSION --> QUERY
VERSION --> EXPORT
PERM --> QUERY
PERM --> EXPORT
QUERY --> RESEARCH
QUERY --> BACKTEST
QUERY --> REPLAY
EXPORT --> RISK
EXPORT --> TCA7.4 主要模块功能
原始行情管理模块
原始行情管理模块
├── 原始行情包接收
├── 原始行情包落盘
├── 原始行情包索引
├── 原始行情包压缩
├── 原始行情包校验
├── 原始行情包归档
└── 原始行情包恢复标准化行情管理模块
标准化行情管理模块
├── 行情字段标准化
├── 证券代码标准化
├── 交易所字段映射
├── 时间戳标准化
├── 价格精度处理
├── 数量单位处理
└── 标准化行情入库订单簿数据模块
订单簿数据模块
├── 历史订单簿重建
├── 快照订单簿管理
├── 增量订单簿管理
├── 档位数据查询
├── 订单簿一致性检查
└── 订单簿回放数据生成数据清洗模块
数据清洗模块
├── 重复数据去重
├── 异常价格处理
├── 异常数量处理
├── 异常时间戳处理
├── 停牌数据处理
├── 涨跌停数据处理
└── 缺失字段处理数据校验模块
数据校验模块
├── 行情连续性校验
├── 序号连续性校验
├── 时间戳校验
├── 价格边界校验
├── 成交量校验
├── 快照增量一致性校验
└── 数据完整性报告数据补全模块
数据补全模块
├── 缺失行情识别
├── 多源数据比对
├── 数据补采
├── 数据修复
├── 修复版本生成
└── 修复记录审计数据查询模块
数据查询模块
├── 按日期查询
├── 按市场查询
├── 按标的查询
├── 按数据类型查询
├── 按时间区间查询
├── 按版本查询
└── 查询权限控制数据导出模块
数据导出模块
├── 批量导出
├── 分区导出
├── 回测数据导出
├── 研究数据导出
├── 压缩导出
└── 导出记录审计7.5 行情数据入库流程
flowchart TD
A[Colo 行情进程录制] --> B[传输到自有机房]
B --> C[原始行情落盘]
C --> D[原始数据校验]
D --> E{是否完整}
E -- 否 --> F[触发补采/修复]
F --> D
E -- 是 --> G[行情标准化]
G --> H[数据清洗]
H --> I[订单簿重建]
I --> J[生成数据版本]
J --> K[写入行情数据存储]
K --> L[生成数据质量报告]
L --> M[供研究/回测/复盘查询]8. 基础设施平台设计
8.1 平台定位
基础设施平台为管控平台、研究平台、行情数据管理平台提供底层计算、网络、存储、数据库、消息队列、权限认证、备份恢复和安全访问能力。
8.2 基础设施模块
基础设施平台
├── 1. 服务器资源模块
├── 2. 网络模块
├── 3. 存储模块
├── 4. 数据库模块
├── 5. 消息队列模块
├── 6. 权限认证模块
├── 7. 密钥与证书模块
├── 8. 备份恢复模块
├── 9. 服务发现模块
├── 10. 内部 DNS 模块
└── 11. 基础监控模块8.3 基础设施架构图
flowchart TB
subgraph APP[上层平台]
CTRL[管控平台]
RESEARCH[研究平台]
MDATA[行情数据管理平台]
end
subgraph INFRA[基础设施平台]
SERVER[服务器资源]
NET[网络]
STORAGE[存储]
DB[数据库]
MQ[消息队列]
AUTH[权限认证]
SECRET[密钥与证书]
BACKUP[备份恢复]
SD[服务发现]
DNS[内部 DNS]
MON[基础监控]
end
CTRL --> SERVER
CTRL --> DB
CTRL --> MQ
CTRL --> AUTH
CTRL --> SECRET
CTRL --> SD
RESEARCH --> SERVER
RESEARCH --> STORAGE
RESEARCH --> DB
RESEARCH --> AUTH
MDATA --> STORAGE
MDATA --> DB
MDATA --> MQ
MDATA --> BACKUP
SERVER --> MON
NET --> MON
STORAGE --> MON
DB --> MON
MQ --> MON8.4 主要模块功能
服务器资源模块
服务器资源模块
├── 服务器资产管理
├── 资源分配
├── CPU/内存/磁盘信息管理
├── 操作系统版本管理
├── 机器标签管理
└── 资源使用统计网络模块
网络模块
├── 自有机房网络管理
├── Colo 专线管理
├── 网络隔离
├── 防火墙规则
├── 访问控制
├── 网络连通性检查
└── 网络延迟监控存储模块
存储模块
├── 热数据存储
├── 冷数据存储
├── 对象存储
├── 文件存储
├── 容量管理
├── 存储生命周期管理
└── 存储访问权限数据库模块
数据库模块
├── 关系型数据库
├── 时序数据库
├── 日志数据库
├── 行情数据库
├── 元数据数据库
├── 数据库备份
├── 数据库恢复
└── 数据库权限消息队列模块
消息队列模块
├── 业务事件队列
├── 订单成交事件队列
├── 日志事件队列
├── 任务事件队列
├── 消息重试
├── 消息积压监控
└── 消息权限控制权限认证模块
权限认证模块
├── 用户认证
├── 单点登录
├── Token 管理
├── 服务间认证
├── API 访问控制
└── 权限同步密钥与证书模块
密钥与证书模块
├── 数据库密码管理
├── API Key 管理
├── SSH Key 管理
├── 证书管理
├── 证书到期提醒
└── 敏感配置加密备份恢复模块
备份恢复模块
├── 数据库备份
├── 行情数据备份
├── 配置备份
├── 日志备份
├── 制品备份
├── 备份校验
├── 恢复演练
└── 恢复审计9. 自有机房与 Colo 侧交互设计
9.1 交互对象
自有机房侧不直接连接 Colo 内部所有进程,而是通过 Colo 侧 管控代理进程 进行交互。
自有机房管控平台
↓↑
Colo 管控代理进程
↓↑
行情进程 / 信号进程 / 交易机器人进程 / 柜台发单进程 / 运维进程组9.2 控制指令流
flowchart LR
U[用户] --> WEB[管控平台]
WEB --> AUTH[权限与审计]
AUTH --> CTRL[控制模块]
CTRL --> CA[Colo 管控代理进程]
CA --> TARGET[目标进程]
TARGET --> CA
CA --> CTRL
CTRL --> WEB
CTRL --> AUDIT[审计日志]9.3 状态上报流
flowchart LR
TARGET[Colo 目标进程] --> CA[Colo 管控代理进程]
CA --> EVENT[事件接收]
CA --> METRIC[指标接收]
CA --> LOG[日志接收]
EVENT --> ORDER[订单与成交]
EVENT --> PNL[持仓与 PnL]
EVENT --> SETTLE[结算与对账]
METRIC --> OBS[观测]
LOG --> LOGMOD[日志与事件]
ORDER --> DASH[业务看板]
PNL --> DASH
OBS --> DASH
LOGMOD --> DASH9.4 数据传输类型
| 类型 | 方向 | 示例 |
|---|---|---|
| 控制指令 | 自有机房 → Colo | 启停、参数下发、全撤、Kill Switch |
| 配置数据 | 自有机房 → Colo | 策略参数、柜台参数、风控参数、标的池 |
| 业务事件 | Colo → 自有机房 | 订单、成交、拒单、风控拦截 |
| 观测指标 | Colo → 自有机房 | CPU、内存、延迟、订单量、撤单量 |
| 日志事件 | Colo → 自有机房 | 业务日志、系统日志、异常日志 |
| 行情数据 | Colo → 自有机房 | 原始行情、标准化行情、订单簿数据 |
10. 关键业务流程
10.1 盘前流程
flowchart TD
A[交易日前准备] --> B[同步交易日历]
B --> C[同步昨夜持仓/资金]
C --> D[生成交易标的池]
D --> E[生成信号/机器人/柜台参数]
E --> F[参数审批]
F --> G[下发参数到 Colo]
G --> H[检查 Colo 机器和进程状态]
H --> I[检查柜台连接]
I --> J[检查行情状态]
J --> K[启动信号进程]
K --> L[启动交易机器人]
L --> M[进入盘中监控]10.2 盘中流程
flowchart TD
A[盘中交易] --> B[接收订单成交事件]
B --> C[更新订单与成交]
C --> D[更新持仓与 PnL]
D --> E[更新观测指标]
E --> F{是否触发告警}
F -- 否 --> B
F -- 是 --> G[生成告警]
G --> H{是否需要人工处理}
H -- 否 --> B
H -- 是 --> I[人工处理/应急控制]
I --> J[审计留痕]
J --> B10.3 盘后流程
flowchart TD
A[收盘] --> B[停止或暂停交易机器人]
B --> C[确认无未决订单]
C --> D[拉取券商数据]
D --> E[执行结算与对账]
E --> F[生成 PnL 报表]
F --> G[生成交易日报]
G --> H[归档订单成交日志]
H --> I[归档行情数据]
I --> J[触发夜间研究/回测任务]10.4 异常处理流程
flowchart TD
A[异常事件发生] --> B[观测模块识别异常]
B --> C[生成告警]
C --> D[通知值班人员]
D --> E{异常类型}
E -- 行情异常 --> F[检查行情进程/行情源]
E -- 信号异常 --> G[暂停信号或切换参数]
E -- 交易异常 --> H[暂停机器人/只撤不报]
E -- 柜台异常 --> I[柜台重连/停止发单]
E -- 风控异常 --> J[执行禁买/禁卖/Kill]
F --> K[记录处理过程]
G --> K
H --> K
I --> K
J --> K
K --> L[恢复或保持停机]
L --> M[生成故障复盘]11. 当前版本建设范围
当前版本建议建设范围:
当前版本建设范围
├── 管控平台
│ ├── 交易机器人管控
│ ├── 信号进程管控
│ ├── 柜台发单管控
│ ├── 订单与成交
│ ├── 持仓与 PnL
│ ├── 参数与配置
│ ├── 结算与对账
│ ├── 观测
│ ├── 部署与发布
│ ├── 权限与审计
│ ├── 日志与事件
│ ├── 时间与时钟状态
│ ├── 任务调度
│ └── 应急控制
│
├── 研究平台
│ ├── 策略研究
│ ├── 因子研究
│ ├── 回测分析
│ ├── 参数扫描
│ └── 实验管理
│
├── 行情数据管理平台
│ ├── 原始行情
│ ├── 标准化行情
│ ├── 订单簿数据
│ ├── 数据清洗
│ ├── 数据校验
│ └── 数据查询
│
└── 基础设施平台
├── 服务器
├── 网络
├── 存储
├── 数据库
├── 消息队列
├── 权限认证
└── 备份恢复当前版本不包含:
- 仿真交易平台
- Colo 侧模拟柜台进程
- 复杂模型训练平台
- 完整自动化合规报送平台
- 多地域灾备自动切换平台12. 建设优先级
12.1 P0:生产可控
1. 交易机器人管控模块
2. 信号进程管控模块
3. 柜台发单管控模块
4. 订单与成交模块
5. 参数与配置模块
6. 应急控制模块
7. 权限与审计模块
8. 观测模块
9. 日志与事件模块目标:
能启动、能停止、能看状态、能查订单成交、能下参数、能审计、能应急停止。12.2 P1:生产闭环
1. 持仓与 PnL 模块
2. 结算与对账模块
3. 部署与发布模块
4. 时间与时钟状态模块
5. 任务调度模块
6. 行情数据管理平台基础版目标:
能跑完整交易日,能完成盘前准备、盘中监控、盘后结算、日志归档和数据入库。12.3 P2:研发闭环
1. 研究平台
2. 回测分析模块
3. 参数扫描模块
4. 实验管理模块
5. 行情数据查询与导出能力目标:
能支持策略研究、回测分析、参数扫描、实验记录和研究报告。13. 总结
自有机房侧建议以 管控平台为核心,把生产交易相关的控制、观测、配置、订单成交、PnL、结算、部署、权限、审计、日志、时间、任务调度、应急控制都纳入管控平台内部模块。
研究平台和行情数据管理平台独立建设:
管控平台:面向生产交易管理。
研究平台:面向策略研发和回测分析。
行情数据管理平台:面向行情数据治理和数据查询。
基础设施平台:面向底层计算、存储、网络、数据库、消息、权限和备份能力。Colo 侧保持低延迟、轻量、稳定;自有机房侧承担完整的控制、观测、研发、数据、结算、运维和审计能力。