实时行情接入与清洗实战手册
📚 共计 30 章节
01
行情接入概述
实时行情的定义、应用场景(量化交易、风控系统)、数据源分类(交易所直连、第三方数据商、WebSocket/HTTP API)。
概念
架构
02
WebSocket协议基础
WebSocket握手过程、帧结构、与HTTP的对比、心跳机制。
协议
网络
03
Python WebSocket客户端实战
使用websockets库建立连接、发送订阅消息、接收行情数据。
Python
实战
04
行情数据格式解析
JSON格式解析、Protocol Buffers(Protobuf)基础、处理嵌套数据结构。
数据
Protobuf
05
常见交易所API对接(一)
Binance现货行情API(深度、K线、成交)接入实战。
Binance
交易所
06
常见交易所API对接(二)
OKX永续合约行情API接入实战。
OKX
永续合约
07
常见交易所API对接(三)
Coinbase Pro行情API接入实战。
Coinbase
API
08
多数据源统一接入层设计
适配器模式、工厂模式、统一数据模型设计。
设计模式
架构
09
数据清洗基础
缺失值处理(前向填充、插值)、异常值检测(3-sigma、IQR)、重复数据去重。
清洗
预处理
10
时间序列对齐
不同交易所时间戳标准化、时区处理、重采样与降采样。
时间序列
对齐
11
行情数据质量监控
延迟监控、数据完整性校验、序列号检查、断线重连机制。
监控
质量
12
高性能数据管道(一)
使用asyncio实现异步非阻塞IO、事件循环管理。
异步
asyncio
13
高性能数据管道(二)
多线程与多进程在行情处理中的应用、GIL的影响与规避。
多线程
GIL
14
高性能数据管道(三)
使用ZeroMQ/RabbitMQ进行数据分发、发布-订阅模式。
消息队列
ZeroMQ
15
数据存储(一)
时序数据库选型(InfluxDB、TimescaleDB)、Schema设计。
时序库
存储
16
数据存储(二)
使用Python批量写入InfluxDB、数据压缩与保留策略。
InfluxDB
写入
17
数据存储(三)
Parquet文件格式与列式存储、使用Pandas进行批量导出。
Parquet
列式
18
实时计算(一)
滑动窗口计算(均价、波动率)、使用Pandas的rolling函数。
窗口
Pandas
19
实时计算(二)
使用Apache Flink/PyFlink进行流处理(概念与简单示例)。
Flink
流处理
20
实时计算(三)
基于Redis的实时指标聚合(Sorted Set、HyperLogLog)。
Redis
聚合
21
行情数据回放系统
设计思路、从数据库/文件读取历史数据、模拟实时推送。
回放
测试
22
单元测试与集成测试
使用pytest测试数据解析逻辑、Mock外部API、测试重连逻辑。
测试
pytest
23
日志与监控
结构化日志(structlog)、Prometheus指标暴露、Grafana仪表盘设计。
日志
监控
24
错误处理与容错
断路器模式、重试策略(指数退避)、死信队列。
容错
重试
25
安全实践
API Key管理(环境变量、Vault)、数据加密传输(TLS)、访问控制。
安全
加密
26
性能优化(一)
使用Cython/Numba加速关键路径、内存视图与零拷贝。
Cython
Numba
27
性能优化(二)
使用C/C++扩展(pybind11)处理高频行情、性能基准测试。
pybind11
扩展
28
实战项目(一)
搭建一个多交易所聚合行情系统(架构设计、模块划分)。
项目
聚合
29
实战项目(二)
实现行情数据清洗与质量监控看板(Streamlit + Plotly)。
看板
Streamlit
30
实战项目(三)
部署与运维(Docker容器化、Kubernetes编排、CI/CD流水线)。
DevOps
K8s