C++ 高频行情解析与数据清洗实战

📚 共计 30 章节
01
高频行情系统概述
行情数据源(交易所、第三方)、数据特征(海量、高并发、低延迟)、系统架构概览。
入门架构
02
C++基础回顾
指针与引用、内存管理(RAII)、STL容器在高频场景下的选择。
基础STL
03
网络编程基础
Socket API、TCP/UDP协议、非阻塞I/O与epoll模型。
网络epoll
04
行情协议解析(一)
Step协议解析——二进制报文结构、字段对齐、字节序处理。
Step二进制
05
行情协议解析(二)
Step协议实战——行情快照与增量数据解析。
Step快照
06
行情协议解析(三)
CTP协议解析——期货行情数据结构、API调用流程。
CTP期货
07
行情协议解析(四)
自定义私有协议解析——基于长度与类型字段的通用解析框架。
私有协议框架
08
内存池设计
高频场景下的内存分配优化、固定大小对象池、无锁队列实现。
性能无锁
09
数据清洗基础
脏数据定义(乱码、重复、延迟、异常值)、清洗策略概述。
清洗策略
10
时间戳清洗
时间戳格式统一、时钟同步(PTP/NTP)、异常时间戳过滤。
时间同步
11
价格与成交量清洗
价格范围校验、成交量异常检测(闪电数据、零值处理)。
价格成交量
12
去重与排序
基于时间戳与序列号的去重算法、多路归并排序。
去重排序
13
缺失值处理
线性插值、前向填充、基于统计模型的填充策略。
插值填充
14
数据对齐
不同频率数据(Tick、1秒、1分钟)的对齐方法、时间桶设计。
对齐Time Bucket
15
异常检测与过滤
基于统计(Z-Score、IQR)与基于规则(涨跌停、熔断)的异常检测。
异常统计
16
数据压缩
有损压缩(量化、降采样)与无损压缩(差分编码、LZ4)在高频数据中的应用。
压缩LZ4
17
多源数据融合
不同交易所、不同品种的数据合并、跨市场数据同步。
融合跨市场
18
实时清洗流水线设计
生产者-消费者模型、流水线阶段划分、背压处理。
流水线背压
19
高性能日志系统
异步日志、二进制日志格式、日志回滚与清理。
日志异步
20
配置文件管理
JSON/YAML解析、热加载配置、参数校验。
配置热加载
21
单元测试与集成测试
Google Test框架、Mock对象、性能基准测试。
测试GTest
22
性能分析工具
perf、gprof、火焰图、CPU与内存热点分析。
性能火焰图
23
代码优化技巧
分支预测、缓存友好(Cache Line对齐)、SIMD指令集简介。
优化SIMD
24
实战项目(一)
搭建一个简单的行情接收与解析引擎。
实战引擎
25
实战项目(二)
实现一个实时数据清洗模块。
实战清洗
26
实战项目(三)
构建一个高性能数据存储模块(基于内存映射文件)。
实战MMAP
27
实战项目(四)
整合所有模块,形成完整的行情处理流水线。
实战整合
28
部署与运维
Docker容器化、Kubernetes编排、监控与告警。
DockerK8s
29
进阶话题
FPGA加速行情解析、低延迟网卡(Solarflare)的使用。
FPGA低延迟
30
课程总结与展望
高频交易系统的发展趋势、推荐学习路径与资源。
总结路径