01
事件驱动架构概述
什么是事件驱动架构、为什么用于回测、核心组件(事件、事件队列、事件处理器)
概念基础
02
回测系统性能瓶颈分析
CPU密集型 vs IO密集型、GIL的影响、Python在回测中的性能痛点
瓶颈GIL
03
事件循环优化
从基础while循环到高效的事件循环设计、事件优先级调度
循环调度
04
数据结构选型
列表 vs 队列 vs 堆、事件队列的底层实现选择、deque与PriorityQueue的性能对比
数据结构队列
05
内存管理技巧
对象池模式、事件对象复用、减少垃圾回收压力
内存对象池
06
多线程与事件驱动
线程安全的事件队列、锁的粒度控制、避免死锁
多线程锁
07
多进程架构
进程池模式、共享内存与事件分发、进程间通信(Pipe/Queue)
多进程IPC
08
异步IO集成
asyncio与事件驱动结合、协程作为事件处理器、异步事件循环
异步asyncio
09
C扩展加速
使用Cython编写事件处理器、ctypes调用C库、性能提升实测
C扩展Cython
10
Numba JIT编译
@jit装饰器加速数值计算、nopython模式下的限制、实战案例
JITNumba
11
缓存策略
事件结果缓存、LRU缓存实现、缓存失效与更新机制
缓存LRU
12
批处理优化
批量事件处理、向量化操作、减少函数调用开销
批处理向量化
13
事件过滤与路由
基于条件的事件过滤、高效的事件路由表、通配符匹配优化
过滤路由
14
时间序列数据优化
使用numpy数组存储OHLCV、内存映射文件、列式存储
时序numpy
15
指标计算加速
TA-Lib集成、向量化指标计算、自定义C扩展指标
指标TA-Lib
16
订单簿与撮合引擎优化
订单簿数据结构、撮合算法优化、事件驱动下的撮合
订单簿撮合
17
日志与监控
异步日志、性能指标采集、火焰图分析
日志监控
18
Profiling工具实战
cProfile、line_profiler、memory_profiler使用技巧
Profiling工具
19
热点代码识别
通过火焰图定位瓶颈、函数调用统计、内存泄漏检测
热点火焰图
20
并行策略回测
策略并行执行、结果合并、避免重复计算
并行策略
21
分布式回测架构
消息队列(RabbitMQ/Kafka)集成、任务分发、结果汇总
分布式消息队列
22
GPU加速
CUDA与事件处理、GPU上的并行回测、cuDF数据框加速
GPUCUDA
23
数据库优化
时序数据库选型(InfluxDB/QuestDB)、批量写入、查询优化
数据库时序
24
序列化优化
Pickle vs MessagePack vs Protobuf、序列化性能对比、零拷贝技术
序列化零拷贝
25
网络IO优化
epoll/kqueue事件循环、非阻塞IO、连接池复用
网络IOepoll
26
配置与参数优化
YAML/JSON解析加速、配置缓存、热加载
配置热加载
27
测试与基准
单元测试性能、基准测试框架(pytest-benchmark)、回归测试
测试基准
28
容器化部署
Docker性能调优、资源限制、Kubernetes下的弹性伸缩
容器K8s
29
实战案例一
股票回测系统从10分钟到30秒的优化历程
实战股票
30
实战案例二
加密货币高频回测系统的架构设计与性能调优
实战高频