Lean回测引擎:从0到1跑通第一个量化策略
【免费下载链接】LeanLean Algorithmic Trading Engine by QuantConnect (Python, C#)项目地址: https://gitcode.com/GitHub_Trending/le/Lean
Lean 是 QuantConnect 开源的量化交易引擎,一套代码同时支持 Python 和 C#,能完成策略回测、参数优化,还能直接对接券商做实盘。对新手来说,最大的价值是:不用自己搭行情订阅、订单撮合、风控结算这些底层设施,专注写策略逻辑就行。
图1:Lean 引擎详细工作流,展示从数据加载到交易执行的完整链路
3条命令跑起第一次回测
官方推荐用 Lean CLI(一个装好的命令行工具,帮你管项目、跑回测)来启动,不用手动配编译环境:
git clone https://gitcode.com/GitHub_Trending/le/Lean # 获取源码 pip install lean # 安装 Lean CLI lean backtest # 用 Docker 在本地跑回测如果你想直接在源码里看引擎本体,Linux 下装好 .NET SDK 后执行dotnet build QuantConnect.Lean.sln编译,再运行Launcher/bin/Debug下的QuantConnect.Lean.Launcher.dll即可启动回测引擎。
1张图看懂数据怎么变成交易
回测引擎本质是个"事件驱动器"(每来一笔新数据就触发一次你的代码)。流程是:历史数据(Tick、秒、分钟、小时、日线)先进入数据管道,经过 Engine/ 里的时间调度喂给你的算法,算法发出订单后,由执行模型模拟成交、计费、结算,最后汇总出收益率、回撤、夏普比率等统计。
Lean算法初始化流程图
图2:算法初始化流程,策略从加载、配置校验到开始接收数据的完整过程
图3:组合模块如何管理多资产持仓、现金与保证金
你只需要写两个方法:Initialize声明回测区间、资金和标的;OnData在市场数据到达时下单。仓库自带的示例 Algorithm.CSharp/BasicTemplateAlgorithm.cs 就是这么干的:
public override void Initialize() { SetStartDate(2013, 10, 07); // 回测起始日 SetEndDate(2013, 10, 11); // 回测结束日 SetCash(100000); // 初始资金10万 AddEquity("SPY", Resolution.Minute); // 加入SPY,分钟级数据 } public override void OnData(Slice slice) { if (!Portfolio.Invested) // 空仓时 SetHoldings(_spy, 1); // 满仓买入SPY }3个最常用场景
- 多资产回测:同一套 API 覆盖股票、期货、期权、外汇,
AddEquity、AddFuture、AddOption、AddForex换一下就行,适合先快速验证想法。 - 模块化策略框架:Algorithm.Framework/ 下把策略拆成选股(Selection)、Alpha 信号(Alphas)、组合构建(Portfolio)、执行(Execution)、风控(Risk)五类接口,每类都有现成实现可替换。比如把 Alpha 换成动量因子、组合构建换成等权重,不用重写交易逻辑。
- 从回测到实盘:Brokerages/ 目录内置主流券商对接,回测验证过的策略可以切到模拟盘、实盘运行,同一份代码不用改结构。
💡 想本地跑研究环境,执行lean research会启动 Docker 里的 Jupyter Lab,可以交互式查数据再写策略。
4个新手最常踩的坑
- 数据分辨率不是越细越好。不同资产支持的粒度不同:股票、外汇、CFD 支持 Tick 到 Daily,期货支持 Tick 到 Minute,期权只支持 Minute。盲目要求 Tick 级会拖慢回测,日线策略用日线就够了。
- 先跑回归示例再动手。仓库里
Algorithm.CSharp/下几百个*RegressionAlgorithm都标了预期统计数据(订单数、收益、回撤),照着跑通一两个,能最快建立对输出的感觉。 - Python 算法看专门说明。Python 项目的环境搭建细节在 Algorithm.Python/ 目录下有专门文档,和 C# 的依赖不完全一样,别混着装。
- 回测结果对不上别急着怀疑策略。先检查回测区间是否覆盖完整交易时段、初始资金
SetCash是否与预期一致,这类参数问题远比逻辑 bug 常见。
Lean 把回测、优化、实盘串在了一条流水线上,你缺的只是第一行策略代码——现在就可以lean backtest试试。
【免费下载链接】LeanLean Algorithmic Trading Engine by QuantConnect (Python, C#)项目地址: https://gitcode.com/GitHub_Trending/le/Lean
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考