拆单算法回测框架搭建实战

📚 共计 30 章节
01
课程导学与回测框架概述
拆单算法背景、回测框架的价值、课程目标与学习路径
导学概述
02
环境搭建与项目初始化
Python虚拟环境、依赖管理(Poetry/Conda)、项目目录结构设计
环境Poetry
03
数据模型设计(上)
订单(Order)、成交(Fill)、资产(Portfolio)的数据类定义
数据类Order
04
数据模型设计(下)
市场行情(MarketData)、交易信号(Signal)的数据类定义与类型注解
MarketDataSignal
05
数据源抽象层
设计数据源接口(DataSource),实现本地CSV/Parquet数据读取
接口CSV
06
数据源实现
对接Tushare/AkShare等免费数据源,实现数据清洗与标准化
TushareAkShare
07
事件驱动引擎(上)
事件(Event)与事件队列(EventQueue)的设计与实现
事件队列
08
事件驱动引擎(下)
事件循环(EventLoop)与事件处理器(EventHandler)的注册与调度
EventLoop调度
09
订单管理模块
订单状态机(待报、已报、部成、全成、已撤)、订单簿(OrderBook)实现
状态机OrderBook
10
拆单算法基础:TWAP
时间加权平均价格算法(TWAP)原理与Python实现
TWAP时间加权
11
拆单算法进阶:VWAP
成交量加权平均价格算法(VWAP)原理与Python实现
VWAP成交量加权
12
拆单算法实战:冰山订单
冰山订单(Iceberg)与自适应拆单策略的实现
Iceberg自适应
13
模拟撮合引擎(上)
限价单与市价单的撮合逻辑,价格优先、时间优先原则
撮合价格优先
14
模拟撮合引擎(下)
部分成交、完全成交、撤单处理,以及滑点模型(Slippage Model)
滑点撤单
15
交易成本模型
固定成本、比例成本、市场冲击成本(Market Impact)的建模
成本市场冲击
16
资产组合与风险管理
PnL计算、持仓管理、最大回撤与夏普比率计算
PnL夏普
17
策略基类设计
定义抽象策略类(Strategy),实现信号生成与订单回调接口
Strategy抽象类
18
回测引擎核心(上)
回测循环(Bar-by-Bar或Tick-by-Tick)的实现
回测循环Bar
19
回测引擎核心(下)
性能优化(向量化计算、Numba加速、多进程回测)
Numba多进程
20
绩效分析模块
收益率曲线、最大回撤、夏普比率、卡玛比率、胜率等指标计算
绩效卡玛
21
可视化模块(上)
使用Matplotlib/Plotly绘制净值曲线、回撤曲线、成交分布图
MatplotlibPlotly
22
可视化模块(下)
交互式仪表盘(Dash/Streamlit)展示回测结果
DashStreamlit
23
参数优化框架
网格搜索(Grid Search)与随机搜索(Random Search)的实现
网格搜索随机搜索
24
并行回测
使用concurrent.futures或Ray进行多参数并行回测
并行Ray
25
日志与监控
使用Loguru记录回测日志,实现断点续跑与异常告警
Loguru监控
26
单元测试与集成测试
使用Pytest对核心模块(撮合、订单、策略)进行测试
Pytest测试
27
配置文件管理
使用YAML/TOML管理策略参数、数据源配置、回测参数
YAMLTOML
28
实战案例一:TWAP拆单
TWAP拆单策略在A股分钟线数据上的回测
A股分钟线
29
实战案例二:VWAP拆单
VWAP拆单策略在期货Tick数据上的回测与对比
期货Tick
30
课程总结与扩展
框架优化方向、实盘对接思路、社区与资源推荐
总结实盘