高频交易订单簿数据清洗实战

📚 共计 30 章节
01
订单簿基础
Level1与Level2数据区别、买卖盘口结构、Tick级数据特征。
盘口Tick
02
数据源接入
交易所API协议、WebSocket实时流、CSV/Parquet历史数据加载。
APIWebSocket
03
时间戳对齐
交易所时间与本地时间偏差、NTP同步、微秒级精度处理。
NTP微秒
04
缺失值处理
空价格/空量的识别、前向填充、插值策略、删除阈值设定。
填充插值
05
异常价格过滤
零价格、负价格、极端偏离值(3σ/中位数绝对偏差)检测。
MAD
06
异常数量过滤
零量、巨量(超过均值+5倍标准差)、手数与股数单位统一。
单位标准差
07
买卖价差逻辑校验
卖一价必须大于买一价、价差为负的修复策略。
价差修复
08
价格档位顺序校验
买价从高到低、卖价从低到高、档位错乱重排序。
排序档位
09
重复数据去重
完全重复行、时间戳相同但价格不同、基于哈希的快速去重。
哈希去重
10
数据切片与对齐
不同时间粒度(1ms/10ms/100ms)的快照对齐。
快照对齐
11
涨跌停板过滤
涨停时卖盘清空、跌停时买盘清空、特殊状态标记。
涨跌停状态
12
盘口深度标准化
固定深度(10档/20档/50档)截断或补零。
深度标准化
13
成交量异常检测
单笔成交量超过总流通量、成交量突增(Z-score)。
Z-score流通量
14
订单簿快照一致性
买卖总量平衡检查、价格档位连续性检查。
平衡连续性
15
数据拼接与合并
多日数据无缝拼接、交易日切分、隔夜跳空处理。
拼接跳空
16
交易状态标记
集合竞价、连续交易、午间休市、收盘状态的识别与过滤。
状态过滤
17
除权除息调整
分红送股对价格的影响、复权因子计算、历史数据修正。
复权除息
18
数据采样策略
等间隔采样、事件驱动采样、成交量加权采样。
采样加权
19
内存优化
使用numpy数组替代list、float32替代float64、内存映射文件。
numpy映射
20
并行处理
多进程分片清洗、Dask/Modin加速、GPU加速尝试。
DaskGPU
21
数据验证框架
编写自动化测试用例、断言检查、清洗前后统计对比。
测试断言
22
日志与监控
清洗过程日志记录、异常报警、清洗质量指标仪表盘。
日志监控
23
数据版本管理
DVC数据版本控制、清洗脚本版本化、回滚机制。
DVC回滚
24
存储格式选择
Parquet列式存储、HDF5、Arrow格式对比与选型。
ParquetArrow
25
增量清洗
每日增量数据清洗、与历史数据合并、状态保持。
增量合并
26
回测数据准备
避免未来信息、点差成本模拟、滑点模型嵌入。
回测滑点
27
实盘数据管道
Kafka流式清洗、Flink实时处理、Redis缓存中间结果。
KafkaFlink
28
数据质量报告
缺失率、异常率、延迟分布、清洗前后对比可视化。
可视化质量
29
常见坑与避障
交易所数据Bug、网络延迟导致乱序、节假日特殊规则。
避坑乱序
30
综合实战
从原始数据到可用订单簿的完整Pipeline搭建。
Pipeline实战