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,常见结果是数据缺失或路径错误。

LEAN CLI 五命令与策略生命周期映射 init 环境与数据落地 create 项目骨架生成 research 交互式探索 backtest 历史数据验证 live 实盘/模拟盘运行 共享配置:lean.json · 数据目录 · 凭据存储 · 项目结构

二、命令参数与使用场景详解

下面按命令逐一说明核心参数与典型场景。建议在项目根目录执行,确保配置一致。

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 完成部署。每一步都依赖前一步的产物,跳过任何一环都可能导致后续失败。

提示:在 backtest 阶段使用 --output 导出结果 JSON,便于后续用脚本批量对比不同参数组合,形成参数敏感性分析。

四、常见误区与复盘

  • 误区一:跳过 init 直接 backtest。结果通常是数据缺失或路径错误。复盘:先确认 lean.json 与 data/ 存在。
  • 误区二:create 后不检查语言模板。Python 与 C# 项目结构不同,混用会导致编译或导入失败。复盘:创建后立即查看 main.py 或 Main.cs。
  • 误区三:backtest 参数范围过窄。仅用一年数据容易过拟合。复盘:至少覆盖一个完整牛熊周期,并做样本外测试。
  • 误区四:research 与 backtest 数据不一致。研究环境若未共享数据目录,结论无法复现。复盘:统一使用 init 下载的数据。
  • 误区五:live 直接上真实资金。未经过 Paper 模拟验证,风险极高。复盘:Paper 模式运行至少两周,确认订单、滑点、断线重连正常后再切换。
警告:live 命令一旦连接真实券商,任何参数错误都可能产生真实交易。务必在部署前用 --brokerage Paper 完整跑通,并检查凭据存储是否加密。