01
回测系统的性能瓶颈
为什么需要无锁队列?从传统锁机制到无锁编程的演进。
锁机制演进
02
CAS原子操作原理
Compare-And-Swap的核心机制,Python中的atomic库。
CASatomic
03
内存模型与内存序
C++内存模型简介,Python GIL对无锁编程的影响。
内存序GIL
04
单生产者单消费者无锁队列
SPSC队列的经典实现,Ring Buffer设计。
SPSCRingBuffer
05
多生产者多消费者无锁队列
MPMC队列的挑战,Hazard Pointer与RCU。
MPMCHazardPointer
06
ABA问题详解
ABA问题的产生场景,解决方案(标记指针、双CAS)。
ABA双CAS
07
无锁队列的伪共享问题
Cache Line对齐,Python中的__slots__优化。
伪共享__slots__
08
回测数据流架构设计
Tick级数据流、Bar级数据流、信号流的分层设计。
分层Tick/Bar
09
基于无锁队列的Tick数据回放
从磁盘到内存的零拷贝管道。
零拷贝回放
10
订单簿快照同步
使用无锁队列实现多线程订单簿更新。
订单簿快照
11
策略信号分发
无锁广播队列在策略信号分发中的应用。
广播信号
12
回测引擎与策略解耦
无锁队列作为异步边界。
解耦异步
13
性能基准测试
对比有锁队列与无锁队列在回测中的延迟与吞吐量。
基准延迟
14
Python中的无锁队列实现
基于ctypes的CAS封装。
ctypesCAS
15
Cython加速无锁队列
将核心队列逻辑编译为C扩展。
CythonC扩展
16
Numba JIT与无锁队列
使用numba.cuda.atomic进行GPU加速。
NumbaGPU
17
多资产回测的数据同步
时间戳对齐与无锁排序网络。
多资产排序网络
18
事件驱动回测引擎
无锁事件循环的设计模式。
事件驱动循环
19
回测中的内存管理
对象池与无锁内存分配器。
对象池分配器
20
无锁队列的监控与调试
延迟直方图、队列深度监控。
监控直方图
21
回测结果收集
无锁累加器与无锁统计计数器。
累加器计数器
22
分布式回测数据管道
跨进程无锁队列(共享内存mmap)。
分布式mmap
23
回测数据持久化
无锁写入与WAL(Write-Ahead Log)结合。
WAL持久化
24
实盘与回测的代码复用
统一数据接口设计。
复用接口
25
回测中的随机性控制
无锁随机数生成器。
随机数无锁
26
回测回放速度控制
无锁节流阀与时间加速器。
节流加速
27
回测数据校验
无锁哈希链与数据完整性检查。
哈希链校验
28
回测框架集成
将无锁队列嵌入Backtrader、Zipline等框架。
BacktraderZipline
29
实战案例:高频回测系统改造
从100ms到1ms的延迟优化。
高频延迟优化
30
总结与展望
无锁编程的未来趋势,C++20/26新特性,Rust在量化领域的应用。
C++20Rust