把抽象的市场微观结构,变成可以观察、调参、推演和验证的交互式实验。
HFT Microstructure Lab 是一套面向量化研究者、交易系统开发者和进阶学习者的中文开源课程。它不把 Bid、Ask、OFI、Microprice、Markout、Queue Position 等概念停留在定义上,而是把它们放进同一个可交互市场:改变订单簿、订单流、延迟、费用、库存与风险参数,立即看到公式、价格和决策如何联动。
在线体验: https://hft-microstructure-lab.beijinglining.chatgpt.site/
大多数市场微观结构材料有两个断层:理论教材缺少可操作场景,交易代码又往往省略原理。本项目试图把两者连起来:
- 每个概念都有直观解释、因果机制和公式;
- 每个公式都能代入当前实验参数,而不是孤立展示;
- 每节都有专属可视化、数值例题和对应练习;
- 从订单簿逐步推进到做市、执行、组合风险和生产系统;
- 内置确定性事件回放与自动测试,便于教学、研究和二次开发。
| 章节 | 核心问题 | 代表性内容 |
|---|---|---|
| 1. 市场微观结构基础 | 订单簿究竟告诉我们什么? | Mid、Spread、Depth、Imbalance、Microprice、OFI、Markout、库存与对冲 |
| 2. 短周期 Alpha 与严谨回测 | 预测能力何时才是真实可交易的 Edge? | 标签、四个时钟、特征工程、延迟、成交模型、Walk-forward、PnL 归因 |
| 3. 高频做市 | 如何同时管理价差收入与库存风险? | Avellaneda–Stoikov、Reservation Price、动态 Spread、Queue、Venue、Hedge |
| 4. 跨市场价格发现 | 谁领先,谁跟随,如何安全执行多腿策略? | Lead–lag、共同 Fair Value、ETF 篮子、协整、Z-score、Leg Risk |
| 5. 期权微观结构 | 波动率曲面如何转化为报价和风险? | Greeks、隐含波动率、Skew、Vol Surface、Delta/Gamma/Vega 风险 |
| 6. 最优执行与 TCA | 大订单怎样降低冲击和机会成本? | VWAP、TWAP、POV、Implementation Shortfall、冲击模型、执行归因 |
| 7. 组合与资本配置 | 多策略 Edge 如何变成可持续组合? | 相关性、风险预算、容量、资金分配、组合约束 |
| 8. 风险管理与治理 | 系统如何在异常时主动停止? | 限额、压力测试、Kill Switch、模型风险、审计与治理 |
| 9. 生产交易系统 | 如何把研究原型接入真实行情? | 事件驱动架构、时钟、订单状态机、监控、故障恢复、实时数据适配 |
- L1–L5 订单簿、Mid、Spread、Queue Imbalance 与 Microprice;
- OFI、TFI、成交方向、消耗/补充速度与订单流毒性;
- 领先市场、Fair Value、Beta、延迟和信号半衰期;
- Maker/Taker 决策、成交概率、排队价值、撤单竞赛与 Markout;
- Reservation Price、库存偏移、动态数量、对冲与基差风险;
- 事件驱动回测、Walk-forward、防泄漏、压力测试与上线闸门;
- 可搜索的 Parameter Atlas 和标准化实时行情网关。
每一节都沿着同一条学习闭环展开:
- 先明确本节要解决的真实交易问题;
- 用市场参与者行为解释第一性原理;
- 给出公式、变量含义与数值代入;
- 用交互可视化观察参数变化;
- 识别延迟、队列、数据和建模中的失效方式;
- 完成与本节知识点对应的练习与答案解析。
需要 Node.js 22.13 或更新版本。
git clone https://github.com/AIfinanceplus/hft-microstructure-lab.git
cd hft-microstructure-lab
npm install
npm run dev浏览器访问 http://localhost:5173。
项目内置无密钥 Mock 行情,可先用统一接口验证教学和研究流程:
cp .env.example .env.local
set -a; source .env.local; set +a
npm run gatewayhttp://localhost:8787/stream?provider=mock&symbols=LAB
网关已经提供 Alpaca 股票 Quote/Trade 消息的标准化适配。配置方法与安全边界见 实时数据接入,整体架构见 系统设计,后续计划见 开发路线。
当前系统刻意不包含真实下单。未来接入券商时,仍需独立完成账户授权、交易前风控、合规审查、精确时钟、审计、灾备和人工 Kill Switch。
npm run lint
npm run test:unit
npm testnpm test 会完成生产构建,并运行课程结构、公式机制、行情适配、仿真引擎和页面渲染测试。
- React 19 + TypeScript
- Next-compatible App Router via Vinext
- Cloudflare Workers / Sites 部署目标
- Node.js SSE 实时行情网关
- 原生 Node Test Runner
欢迎提交 Issue 或 Pull Request,尤其欢迎以下方向:
- 补充市场微观结构案例与中文解释;
- 改进可视化、无障碍与移动端体验;
- 增加新的行情数据适配器;
- 改进成交、队列、滑点与延迟模型;
- 提供可公开复现的数据集和研究实验。
本项目仅用于教学、仿真和研究,不构成投资建议、交易建议或收益承诺。历史统计关系和模拟结果不代表未来表现。