好的!QuantConnect Lean (LEAN Engine) 是一个开源、跨平台的量化交易引擎 ,由 QuantConnect 公司开发并维护。它是 QuantConnect 云端量化交易平台的核心,同时也支持本地化部署和回测,被全球众多量化团队和个人交易者广泛使用。
一、LEAN 是什么?
| 属性 | 说明 |
|---|---|
| 类型 | 开源量化交易引擎(C# 编写) |
| 开源协议 | Apache 2.0(免费商用) |
| 功能 | 策略回测 + 实盘交易 + 研究分析 |
| 支持资产 | 股票、期货、期权、加密货币、外汇 |
| 数据源 | 支持多数据源接入(内置 Tick/秒级数据) |
| 运行方式 | 本地部署 / 云端运行(QuantConnect.com) |
二、核心架构与组成
mermaidCopy Code
graph LR A[LEAN Engine] --> B[数据管理] A --> C[策略回测] A --> D[实时交易] A --> E[风险管理] B --> F[历史数据] B --> G[实时数据流] C --> H[事件驱动回测框架] D --> I[经纪商接口 Alpaca/InteractiveBrokers 等]
三、关键特性
✅ 1. 开源 & 免费
- 代码完全开放:GitHub - QuantConnect/Lean(⭐15k+ stars)
- 可自由修改、扩展、部署私有化
✅ 2. 多资产类别支持
- 股票(美股、A股港股通)
- 期货(CME、ICE、国内期货)
- 加密货币(Binance, Coinbase)
- 外汇(OANDA)
✅ 3. 事件驱动架构
- 支持 Tick/秒/分/日级数据粒度
- 响应式事件处理:
OnData(Slice data)是策略核心入口
✅ 4. 本地高效回测
- 利用C#高性能执行,回测速度极快
- 支持多线程并行回测(参数优化)
✅ 5. 无缝对接实盘
- 通过
Brokerage模块支持主流券商:- 股票:Alpaca、盈透证券(IB)
- 加密货币:Binance、Bitfinex
- 期货:Interactive Brokers
✅ 6. **内置研究环境(Jupyter支持)**
- 用 Python/C# 在 Jupyter Notebook 中做策略研究
- 直接调用 LEAN 的 API 分析回测结果
四、如何使用 LEAN?
方式1️⃣:在 QuantConnect 云端使用(免部署)
- 访问 QuantConnect.com
- 在线编写策略(C#/Python),免费回测,付费实盘
方式2️⃣:本地部署 LEAN 引擎
# 克隆仓库
git clone https://github.com/QuantConnect/Lean.git
# 安装依赖(C# / .NET 6+)
cd Lean
./setup
方式3️⃣:使用 Docker 快速启动
docker run --name lean \
-v /path/to/your/data:/Data \
-v /path/to/your/config:/Lean/Launcher/bin/Debug/config.json \
quantconnect/lean:latest
五、策略开发示例(C#)
一个简单的"双均线策略"代码框架:
python
public class MovingAverageCrossover : QCAlgorithm
{
private Symbol _spy;
private SimpleMovingAverage _fastMa;
private SimpleMovingAverage _slowMa;
public override void Initialize()
{
SetStartDate(2020, 1, 1);
SetCash(100000);
_spy = AddEquity("SPY", Resolution.Daily).Symbol;
_fastMa = SMA(_spy, 50, Resolution.Daily);
_slowMa = SMA(_spy, 200, Resolution.Daily);
}
public override void OnData(Slice data)
{
if (!_fastMa.IsReady || !_slowMa.IsReady) return;
// 快线上穿慢线 -> 买入
if (_fastMa > _slowMa && !Portfolio.Invested)
{
SetHoldings(_spy, 1.0);
}
// 快线下穿慢线 -> 卖出
else if (_fastMa < _slowMa && Portfolio.Invested)
{
Liquidate(_spy);
}
}
}
六、适用场景
- 🔍 个人量化爱好者:免费本地回测 + 研究
- 🏢 机构团队:私有化部署 + 自定义数据/风控
- 🌐 跨境多市场交易者(美股+加密货币+A股)
七、学习资源
总结:
LEAN 是专业级开源量化引擎 ,适合中高级开发者构建复杂策略。
如果你熟悉 C# 或 Python,想完全掌控交易系统,LEAN 是比 Backtrader/vn.py 更强大的选择!
需要我帮你配置本地 LEAN 环境或写一个 A 股策略吗? 😊