行情处理流水线并行化设计

📚 共计 30 章节
01
课程导论与背景
为什么需要并行化?行情数据特征(高吞吐、低延迟、实时性)。传统串行瓶颈与并行化核心目标。
导论背景
02
基础概念回顾
进程/线程/协程区别,GIL影响,同步/异步I/O,并发与并行本质差异。
进程线程协程
03
流水线设计模式
什么是流水线?生产者-消费者模型,数据流图与阶段划分,深度与吞吐量关系。
流水线模式
04
Python多进程实战
multiprocessing核心API,进程池,Queue/Pipe通信,共享内存与同步原语。
多进程IPC
05
Python多线程实战
threading与ThreadPoolExecutor,锁机制(Lock/RLock),条件变量,线程局部存储。
多线程
06
异步编程(asyncio)
事件循环与协程,async/await,Future与Task,异步队列。
asyncio异步
07
数据分发策略
广播/分片模式,轮询与哈希分发,动态负载均衡,背压(Backpressure)机制。
分发背压
08
无锁数据结构
原子操作与CAS,无锁队列实现,atomicwrites,性能对比与场景。
无锁原子
09
内存管理与零拷贝
内存池,mmap共享内存,零拷贝原理,Python buffer protocol。
零拷贝mmap
10
序列化与反序列化
Pickle局限,Protobuf/FlatBuffers,Arrow列式格式,自定义二进制协议。
序列化Arrow
11
网络I/O优化
epoll/kqueue/IOCP,selectors模块,非阻塞Socket,Reactor/Proactor模式。
I/Oepoll
12
行情数据源接入
交易所API(CTP/FIX),WebSocket实时流,多源合并去重,时钟同步。
数据源WebSocket
13
数据清洗与预处理
异常值检测,对齐重采样,缺失值处理,实时移动平均线。
清洗预处理
14
订单簿重建
Level2行情解析,买卖盘口维护,增量更新与快照恢复,特征提取。
订单簿Level2
15
技术指标计算并行化
向量化与SIMD,Numba JIT,Cython扩展,GPU加速(CUDA/PyTorch)。
并行计算GPU
16
事件驱动架构
事件总线,发布-订阅,事件优先级与调度,定时器与超时处理。
事件驱动架构
17
状态管理
无状态/有状态处理,快照恢复,分布式状态存储,Checkpoint机制。
状态Checkpoint
18
容错与高可用
故障检测隔离,重试幂等,主备切换与热备份,优雅降级。
容错高可用
19
性能监控与剖析
延迟测量(百分位),吞吐量统计,CPU/内存/网络监控,火焰图。
监控火焰图
20
日志与追踪
结构化日志,分布式追踪(OpenTelemetry),日志聚合(ELK),审计日志。
日志追踪
21
配置管理
动态配置中心,热加载,配置版本管理,环境隔离。
配置热加载
22
测试策略
单元测试与Mock,集成测试,压力测试与混沌工程,回归自动化。
测试混沌
23
部署与运维
容器化(Docker),编排(K8s),CI/CD流水线,灰度发布与回滚。
DockerK8s
24
实战案例一:实时Tick聚合
需求分析,架构设计,代码实现,性能调优。
实战Tick
25
实战案例二:多合约价差监控
价差计算逻辑,并行扫描策略,告警触发与推送。
价差监控
26
实战案例三:高频因子计算
因子定义注册,并行因子流水线,因子缓存与复用。
因子高频
27
实战案例四:历史回放系统
数据存储格式,高速回放引擎,时间控制加速,实盘对比验证。
回放历史
28
进阶:DPDK与用户态网络
内核旁路技术,零拷贝网络栈,Python绑定,适用场景评估。
DPDK用户态
29
进阶:FPGA加速行情处理
FPGA基础,OpenCL与HLS,Python与FPGA协同,成本收益分析。
FPGA加速
30
课程总结与展望
并行设计模式回顾,常见陷阱与最佳实践,未来趋势(软硬协同、AI辅助)。
总结展望