量化进阶 · 组合与机器学习 · 第 7 期

Lean 引擎,C# 量化框架

QuantConnect Lean · event-driven, C#, backtest-to-live

backtrader 是 Python 玩具,Lean 是 C# 工程级。QuantConnect 开源的这套引擎,事件驱动+数据流/算法/交易三层分离,回测和实盘同一套代码,云端可跑。一句话——想从 Python 玩具进到机构级,Lean 是绕不开的一站。
⏱ 约 12 分钟 🎯 想用工程级框架的人 📦 源:Lean

01反共识:事件驱动 > 向量化回测

向量化回测快,但实盘跑不了——实盘是事件流,不是矩阵乘法。Lean 从一开始就是事件驱动,慢但能直接上实盘。

向量化回测(pandas+numpy)写起来爽,一行算全组合收益。问题是实盘是"来一根 bar 算一次",向量化那套逻辑搬到实盘要全部重写,回测和实盘两套代码两套 bug。Lean 用事件驱动:每个时间步触发 OnData 事件,算法在事件里响应,回测和实盘跑同一份代码。

TimeStep → OnData(slice) → Algorithm → Orders → Fill → Portfolio

这个管道是 Lean 的核心。数据进来→算法决策→下单→成交更新组合,每一步都是独立模块,可替换。回测用历史数据源,实盘换券商数据源,算法代码不动。这就是"回测即实盘"的工程价值——不是回测准,是回测和实盘是同一个东西。

回测快没用,
能上实盘才有用。
灏天文库 · 量化进阶·组合与机器学习 P.19

02架构演示器:点模块看数据怎么流

Lean 的三层架构。点击各模块,看它在数据管道里的角色和职责。

🧪 Lean 架构演示器
点击模块,看它在事件管道中的角色。
数据层 算法层 交易层 基础设施
当前模块
—
所属层
—
核心接口
—
点击上方架构图任意模块,查看职责说明。

03Lean 的四个工程优势

回测即实盘

同一份代码

Algorithm 一份代码,回测/实盘/云端切换只改配置。回测里跑通的逻辑,实盘直接用。

多资产统一

股票期货外汇

一个引擎处理多类资产,组合层面统一管理。跨市场策略不用拼多个框架。

云端+本地

部署灵活

QuantConnect 云端直接跑,或本地 Docker 部署。小策略云端,大策略本地。

C# 性能

工程级速度

C# 比 Python 快一个量级,tick 级回测可行。Python 算法也能跑(PythonNet 桥接)。

这四个优势让 Lean 成为机构和小团队都能用的框架。个人用 backtrader 起步,团队上规模后转 Lean——这是业界常见路径。Lean 的学习曲线陡(C# + 事件驱动 + 配置体系),但一旦上手,从研究到实盘的工程债务大幅降低,不用再维护"回测一套实盘一套"。

回测一套,实盘一套,
等于没测。
灏天文库 · 量化进阶·组合与机器学习 P.20

04带走这套清单

✅ Lean 上手 6 条

  1. 先跑官方示例:QuantConnect 云端有现成算法,clone 一个改着跑,别从零搭。
  2. 理解事件管道:OnData 是入口,所有决策在这里,别在算法里存状态。
  3. 用 QCAlgorithm API:下单用 SetHoldings/MarketOrder,别直接调底层。
  4. 数据用 ISubscriptionDataSourceResolver:自定义数据源走这个接口。
  5. 回测先云端跑:免费时长够调试,本地部署留给大计算量策略。
  6. 实盘先 paper trading:Lean 支持 paper broker,验证订单逻辑再上真钱。
Python 起步,
Lean 进阶。
灏天文库 · 量化进阶·组合与机器学习 P.21