Skip to content

交易引擎

字数
1085 字
阅读时间
5 分钟

交易引擎是 Homalos 量化交易系统的中央协调器,负责协调策略执行、风险管理、订单处理和账户管理。它采用事件驱动架构,能够实时处理市场数据和交易信号,同时保持严格的风险控制和订单生命周期管理。

底层事件系统详见事件驱动系统,策略开发详见策略开发,网页端交易引擎管理详见后端API

核心架构

交易引擎由四个主要管理组件组成,它们协同处理交易操作的各个方面:

text
StrategyManager
RiskManager
OrderManager
AccountManager

策略管理

该类StrategyManager处理交易策略的完整生命周期,从动态加载到执行监控和错误恢复。

关键组件

成分目的关键方法
StrategyManager主要协调员load_strategy()start_strategy()stop_strategy()
StrategyHealthMonitor健康监测check_strategy_health()attempt_recovery()
StrategyEventHandler事件处理事件路由和处理

策略加载流程

策略管理器使用动态模块加载在运行时实例化策略

load_strategy()方法执行自动策略类发现和 UUID 生成:

  • 从文件路径动态导入策略模块
  • 自动发现继承自BaseStrategy
  • 生成唯一的 UUID 用于策略识别
  • 处理导入错误和验证失败

策略健康监测

该系统包括具有自动恢复功能的全面健康监测:

恢复配置通过以下方式管理:

  • auto_recovery_enabled:切换自动恢复
  • max_recovery_attempts:最大重试次数
  • recovery_attempts:每个策略尝试的跟踪

风险管理器

RiskManager通过多个验证层实施全面的交易前风险控制:

风险控制配置

风险检查配置键目的
头寸规模max_position_size最大位置值
每日损失max_daily_loss每日亏损限额
订单大小max_order_size最大订购数量
订单频率order_frequency_limit每分钟订单限制
价格验证price_deviation_threshold价格偏离市场
交易时间trading_hours_check基于时间的验证

增强价格验证

风险管理者实施双层价格验证:

  1. 绝对价格限制:按工具类型划分的硬性限制
  2. 相对价格偏差:与市场价格的百分比偏差

风险监控

该系统包括实时风险监控和定期检查:

  • 错误率监控:跟踪策略错误频率
  • 市场状况检查:验证交易时间和市场状况
  • 持仓集中度:监控投资组合集中度风险

订单管理器

该类OrderManager处理从下单到执行的完整订单生命周期、维护订单状态并与交易网关协调。

订单数据管理

订单管理器维护全面的订单跟踪:

数据结构目的关键字段
OrderInfo订单元数据order_datastrategy_idcreate_time
orders活动订单缓存Dict[str, OrderInfo]
strategy_orders策略顺序映射Dict[str, set]
system_to_ctp_orderidID映射系统 ID → CTP ID

订单 ID 映射

系统维护内部订单ID和网关订单ID之间的双向映射:

  • system_to_ctp_orderid:将内部 UUID 映射到 CTP 订单 ID
  • ctp_to_system_orderid:将 CTP 订单 ID 映射回内部 UUID

这使得跨系统边界的正确订单跟踪成为可能。

账户管理

AccountManager类别通过交易网关定期同步来跟踪账户余额、头寸和策略级损益。

定期同步

账户管理器实现自动同步:

  • 查询间隔:30秒定期更新
  • 事件驱动更新:实时交易处理
  • 网关集成:账户和头寸查询

集成架构

交易引擎通过事件驱动接口与更广泛的系统集成:

关键事件类型

事件类型来源目标目的
STRATEGY_SIGNAL战略订单管理器订单下达请求
RISK_APPROVED风险管理器订单管理器风险验证结果
GATEWAY_SEND_ORDER订单管理器网关订单执行
ORDER_FILLED网关客户经理贸易更新
ACCOUNT_UPDATED网关客户经理帐户同步