C++ 高频交易引擎核心开发实战

📚 共计 30 章节
01
C++与交易系统概述
高频交易的定义与核心挑战 · C++优势 · 最小化交易引擎架构预览 · 开发环境搭建 (CMake + GCC/Clang + VSCode/CLion)
入门架构
02
内存布局与性能基础
基本数据类型内存占用与对齐 · 缓存行与伪共享 · std::hardware_destructive_interference_size · 内存池简单实现
内存性能
03
无锁数据结构(上)
std::atomic基础与内存序 · 无锁SPSC队列 · 内存回收与ABA问题
无锁并发
04
无锁数据结构(下)
MPMC队列 · 无锁栈与无锁哈希表 · 性能对比与适用场景
无锁高并发
05
网络编程基础
Socket API回顾 (TCP/UDP) · 非阻塞I/O与epoll/kqueue · TCP_NODELAY & SO_REUSEPORT · 简单TCP回显服务器
网络Socket
06
高性能网络库设计
Reactor与Proactor模式 · 封装EventLoop与Channel · 简易Reactor框架 · 定时器与超时处理
网络库Reactor
07
应用层协议解析
FIX协议简介与Tag-Value解析 · 二进制协议设计 (TLV) · 零拷贝解析 (memcpy+指针) · 解析性能基准测试
协议解析
08
订单管理
订单生命周期 (New→Ack→Fill/Cancel) · OrderBook数据结构 (价格队列) · std::map与跳表对比 · 部分/完全成交逻辑
订单数据结构
09
撮合引擎核心
价格优先与时间优先 · 限价单与市价单 · 盘口 (Top of Book) 更新 · 撮合性能优化 (批量处理)
撮合核心
10
风险控制模块
前置风控检查 (资金/持仓/频率) · 订单速率限制 (Token Bucket) · 自成交预防 · 风控日志与审计
风控安全
11
系统时间与时钟
高精度时间戳 (std::chrono, clock_gettime, TSC) · 校准与同步 · 测量代码延迟 (RDTSC) · 时间戳在回放/回测中的应用
时钟性能
12
日志系统设计
异步日志 (Double Buffering) · 日志级别与分类 · 性能日志 (延迟/吞吐量) · 日志文件滚动与压缩
日志异步
13
配置管理
JSON/YAML配置文件解析 · 热更新配置 (信号+原子变量) · 多环境配置管理 (开发/测试/生产)
配置热更新
14
多线程与并发模型
线程池设计 (工作窃取) · 线程亲和性 (pthread_setaffinity_np) · 线程间通信 (EventFD, Pipe) · 避免死锁与活锁
多线程并发
15
内存管理进阶
Huge Pages (透明大页与显式分配) · 自定义分配器 (std::pmr) · 对象池与环形缓冲区 · 内存泄漏检测 (AddressSanitizer)
内存大页
16
编译期优化
编译器优化选项 (-O2, -O3, -march=native) · LTO (链接时优化) · PGO · 内联与循环展开
编译优化
17
SIMD与向量化
SSE/AVX指令集简介 · 编译器自动向量化 · 手写SIMD处理行情数据 · 性能提升实测
SIMD向量化
18
低延迟序列化
Cap'n Proto与FlatBuffers简介 · 自定义二进制序列化 (手动字节序) · 序列化/反序列化性能对比
序列化低延迟
19
行情网关开发
连接交易所行情源 (多播/订阅) · 行情解码与归一化 · 行情分发 (Busy Polling) · 行情延迟监控
行情网关
20
交易网关开发
下单接口封装 (FIX/原生API) · 会话管理与登录重连 · 订单状态同步 · 网关故障转移
交易网关
21
策略框架设计
策略基类与生命周期 (OnStart, OnTick, OnOrder) · 策略参数注入 · 多策略管理与资源隔离 · 策略回测接口
策略框架
22
回测引擎
历史数据回放 · 模拟撮合 (Tick级与Bar级) · 考虑滑点与手续费 · 回测与实盘差异分析
回测模拟
23
性能分析工具
perf与火焰图 · gprof与Valgrind · ebpf追踪内核事件 · 自定义延迟直方图
性能分析
24
系统调优
内核参数调优 (net.core.rmem_max, vm.swappiness) · BIOS设置 (关闭超线程/节能) · NUMA感知编程 · CPU隔离 (isolcpus)
调优内核
25
单元测试与集成测试
Google Test框架 · Mock对象 (Fake交易所) · 压力测试与混沌工程 · 持续集成 (CI) 流水线
测试CI
26
部署与运维
Docker容器化 (网络Host模式) · 系统监控 (Prometheus + Grafana) · 日志收集 (ELK) · 灰度发布与回滚
部署运维
27
网络安全基础
TLS/SSL加密通信 · API密钥管理 · DDoS防护思路 · 内部网络隔离
安全加密
28
FPGA与硬件加速简介
FPGA在极低延迟场景的应用 · C++与FPGA协同 (OpenCL) · 硬件时间戳 · GPU加速 (大规模回测)
硬件FPGA
29
实战项目:模拟交易系统
需求分析 · 模块划分 · 编码实现 · 集成测试 · 性能调优
实战全流程
30
前沿趋势与总结
C++20/23新特性 (协程、模块) · AI在交易中的应用 · 未来架构演进 (Serverless HFT) · 课程总结与推荐资源
趋势总结