事件驱动回测系统构建实战

📚 共计 30 章节
01
回测系统概述
什么是事件驱动回测、回测在量化交易中的重要性、事件驱动架构 vs 向量化回测。
概念入门
02
系统架构设计
核心组件(事件引擎、策略模块、数据模块、风控模块、执行模块)、模块间通信机制。
架构核心
03
事件类型定义
市场事件(Tick、Bar)、订单事件、信号事件、账户事件、风控事件。
事件模型
04
事件队列实现
Python queue模块的使用、多线程安全的事件队列、优先级队列设计。
队列并发
05
事件引擎核心
事件循环(Event Loop)、事件分发机制、事件处理器的注册与调用。
引擎调度
06
数据模块设计
数据源抽象(CSV、数据库、API)、数据加载与缓存、历史数据回放机制。
数据回放
07
Bar数据模型
OHLCV数据结构、时间戳处理、复权数据处理(前复权/后复权)。
K线复权
08
Tick数据模型
逐笔成交数据结构、买卖盘口深度、Tick数据合成Bar。
Tick合成
09
策略模块架构
策略基类设计、策略生命周期(初始化、更新、销毁)、策略参数管理。
策略生命周期
10
技术指标计算
TA-Lib库集成、移动平均线、RSI、MACD等常见指标实现、指标缓存优化。
指标TA-Lib
11
信号生成逻辑
基于规则的信号生成、信号强度与置信度、信号过滤与合并。
信号规则
12
订单管理
订单类型(市价单、限价单、止损单)、订单状态机、订单簿维护。
订单状态机
13
仓位管理
持仓数据结构、仓位计算(开仓、平仓、加仓、减仓)、持仓成本核算。
仓位成本
14
资金管理
账户余额管理、冻结资金、可用资金计算、杠杆与保证金处理。
资金风控
15
风控模块设计
风控规则引擎、常见风控规则(最大持仓、最大亏损、日内交易次数)、风控事件处理。
风控规则引擎
16
滑点与手续费模型
固定滑点模型、百分比滑点模型、手续费计算(按成交额/按手数)。
滑点手续费
17
执行模块设计
模拟撮合引擎、订单簿匹配逻辑、成交价格与数量确定。
撮合执行
18
交易记录与日志
交易流水记录、成交明细、每日持仓汇总、日志分级与持久化。
日志记录
19
绩效评估指标
收益率、夏普比率、最大回撤、胜率、盈亏比、年化收益计算。
绩效指标
20
资金曲线绘制
净值曲线、回撤曲线、交易信号标记、交互式图表实现。
可视化图表
21
多策略回测
策略组合管理、资金分配策略、多策略结果汇总。
组合多策略
22
多品种回测
品种配置、跨品种相关性分析、组合风险度量。
多品种相关性
23
参数优化
网格搜索、随机搜索、贝叶斯优化、过拟合检测。
优化搜索
24
并行回测
多进程架构设计、任务拆分与合并、性能监控与调优。
并行多进程
25
回测结果分析
交易报告生成、归因分析、情景分析、蒙特卡洛模拟。
分析报告
26
实盘模拟对接
模拟交易API设计、实盘与回测差异处理、实时数据接入。
实盘模拟
27
系统测试与调试
单元测试(pytest)、集成测试、回测结果复现、Bug定位技巧。
测试调试
28
性能优化
事件处理延迟优化、内存管理、数据结构选择、Cython加速。
性能Cython
29
扩展性设计
插件化策略加载、自定义数据源、自定义风控规则、事件总线模式。
扩展插件
30
项目实战
从零构建一个完整的期货双均线策略回测系统、系统部署与文档编写。
实战期货