3. LEAN CLI 基础命令
LEAN CLI 是 QuantConnect 本地开发与云端协作的统一入口。它把项目初始化、策略创建、回测执行、实盘部署和研究环境五类高频操作封装成独立子命令。理解每个命令的职责边界与关键参数,是后续从研究回测平滑过渡到实盘交易的前提。本节围绕五个核心命令展开,先建立命令全景,再逐一拆解参数与使用场景。
一、核心原理:命令即工作流阶段
LEAN CLI 的设计逻辑并非简单罗列工具,而是对应量化策略生命周期的不同阶段。每个命令解决一个明确问题:init 负责环境与配置落地,create 负责项目骨架生成,backtest 负责历史数据验证,research 负责交互式探索,live 负责真实资金或模拟盘运行。它们共享同一套配置体系(如 lean.json、数据目录、凭据存储),因此命令之间可以无缝衔接。
理解这一点很关键:命令不是孤立的,而是状态传递的。例如 lean init 下载的数据和配置,会被后续 lean backtest 直接复用;lean create 生成的项目结构,决定了 lean live 能否正确加载算法。若跳过 init 直接 backtest,常见结果是数据缺失或路径错误。
二、命令参数与使用场景详解
下面按命令逐一说明核心参数与典型场景。建议在项目根目录执行,确保配置一致。
1. lean init
初始化 LEAN 本地环境,下载官方数据样本、配置文件与基础镜像。常用参数:
lean init
lean init --data-provider QuantConnect
lean init --organization "MyOrg"
使用场景:首次搭建本地环境、切换数据源、加入组织协作。执行后生成 lean.json 与 data/ 目录,是后续所有命令的基础。
2. lean create
创建新策略项目,生成算法文件、配置文件与依赖清单。常用参数:
lean create MyStrategy
lean create MyStrategy --language python
lean create MyStrategy --language csharp
使用场景:从零开始新策略、按语言模板快速起步。生成结构包含 main.py 或 Main.cs、config.json、research.ipynb 等。
3. lean backtest
执行历史回测,输出统计指标与日志。常用参数:
lean backtest MyStrategy
lean backtest MyStrategy --start 2020-01-01 --end 2023-12-31
lean backtest MyStrategy --cash 100000 --output results.json
使用场景:策略验证、参数调优、回归测试。关键参数包括时间范围、初始资金、输出路径与数据源覆盖。
4. lean research
启动 Jupyter 研究环境,加载数据与算法上下文。常用参数:
lean research MyStrategy
lean research MyStrategy --port 8888
使用场景:因子探索、数据可视化、快速原型验证。研究环境与回测共享数据目录,避免重复下载。
5. lean live
部署实盘或模拟盘,连接券商与数据源。常用参数:
lean live deploy MyStrategy
lean live deploy MyStrategy --brokerage Paper
lean live deploy MyStrategy --brokerage InteractiveBrokers --live
使用场景:模拟盘验证、小资金实盘、多策略并行。务必先用 Paper 模式验证,再切换真实券商。
| 命令 | 核心作用 | 关键参数 | 典型场景 |
|---|---|---|---|
| init | 环境与数据初始化 | --data-provider、--organization | 首次搭建、切换数据源 |
| create | 生成项目骨架 | --language | 新策略起步 |
| backtest | 历史回测验证 | --start、--end、--cash、--output | 策略调优、回归测试 |
| research | 交互式研究 | --port | 因子探索、原型验证 |
| live | 实盘/模拟盘部署 | --brokerage、--live | 模拟验证、小资金实盘 |
三、案例:从零到实盘的命令链路
假设要开发一个基于动量的策略,完整命令链路如下:
# 1. 初始化环境
lean init
# 2. 创建 Python 策略项目
lean create MomentumStrategy --language python
# 3. 进入项目并回测
cd MomentumStrategy
lean backtest . --start 2019-01-01 --end 2023-12-31 --cash 100000
# 4. 研究环境探索因子
lean research .
# 5. 模拟盘部署验证
lean live deploy . --brokerage Paper
这条链路体现了命令之间的状态传递:init 提供数据,create 提供结构,backtest 验证逻辑,research 辅助优化,live 完成部署。每一步都依赖前一步的产物,跳过任何一环都可能导致后续失败。
--output 导出结果 JSON,便于后续用脚本批量对比不同参数组合,形成参数敏感性分析。
四、常见误区与复盘
- 误区一:跳过 init 直接 backtest。结果通常是数据缺失或路径错误。复盘:先确认
lean.json与data/存在。 - 误区二:create 后不检查语言模板。Python 与 C# 项目结构不同,混用会导致编译或导入失败。复盘:创建后立即查看
main.py或Main.cs。 - 误区三:backtest 参数范围过窄。仅用一年数据容易过拟合。复盘:至少覆盖一个完整牛熊周期,并做样本外测试。
- 误区四:research 与 backtest 数据不一致。研究环境若未共享数据目录,结论无法复现。复盘:统一使用 init 下载的数据。
- 误区五:live 直接上真实资金。未经过 Paper 模拟验证,风险极高。复盘:Paper 模式运行至少两周,确认订单、滑点、断线重连正常后再切换。
--brokerage Paper 完整跑通,并检查凭据存储是否加密。