大家好,我是看海。

作为一个长期泡在量化策略里的人,我每天都会经历这样的循环:下载最新数据 → 修改几个参数 → 跑一次回测 → 打开结果看曲线 → 再调参数 → 再跑一次回测……

动图封面

GUI模式运行回测

如果只是一两次,用鼠标点点界面还挺舒服。但当我一天要跑几十次,或者想要测试一个策略在不同周期、不同参数下的表现时,纯 GUI(图形界面)的操作方式就开始显得吃力了。一个“批量跑 20 组参数”的需求,如果全靠鼠标去点,不仅效率极低,还容易让人感到烦躁。

于是在最新的版本中,我给看海量化做了一个重要升级:把整个平台的核心能力抽象成了一个命令行工具 kh。

看海回测系统的CLI模式

今天这篇文章,就和大家聊一聊,这次 CLI(命令行界面)功能升级到底是怎么回事,为什么我要做这件事,以及它能给我们的量化研究带来怎样颠覆性的体验。

一、为什么要开发 CLI 功能?

1.1 告别“点点点”:让重复劳动自动化

GUI 是给人用的,直观、友好、适合探索。但它有一个天然的短板——每一步都需要人工干预

比如一个非常常见的动作:每天收盘后更新一下本地数据库里的当日行情。如果用 GUI,我得打开软件 → 切到数据管理 → 选择股票池 → 选择周期 → 点下载,整套流程至少需要几十秒。如果每天都要做一遍,日积月积也是不小的时间成本。

有了 CLI 之后,凡是重复的事情,都可以用一行命令解决。

1.2 批量回测:寻找最优参数的利器

在策略开发中,参数寻优是必不可少的环节。我想看看一个双均线策略,快线从 5 到 10,慢线从 20 到 60,收益率会发生怎样的变化。

用 GUI,这意味着你要手动修改配置文件几十次,跑几十次回测。而用 CLI,你只需要写一个简单的循环脚本,喝杯咖啡的功夫,几十组参数的回测结果就自动生成并汇总好了。

1.3 拥抱大模型:让 AI 真正“接管”你的量化系统

这是我做 CLI 时想得最多的一点,也是我认为这次升级最具革命性的部分。

现在大家都在用 Cursor、Claude 等 AI 编程助手。它们有一个共同点:不会用鼠标,但精通命令行

如果我的量化平台只有 GUI,那 AI 再聪明也帮不上忙——它无法帮你点击“数据下载”按钮。但有了 CLI,一切就都不一样了。你可以直接对 AI 说:“帮我选一个合适标的,然后跑一下RSI策略。”AI 就能自动调用命令行完成所有工作,并把结果汇报给你。

二、看海量化 CLI 的核心能力

在设计 CLI 时,我坚持了一个原则:GUI 能做的事,CLI 都能做,而且要更高效。

整个 CLI 只有一个极简的入口——kh,所有功能都以子命令的形式挂在它下面。对于安装版用户,在任意目录下打开终端就能直接使用。

2.1 极简的数据管理

数据管理是量化的基础,CLI 提供了丰富的数据操作命令:

  • 极速下载:支持从 xtdata、BaoStock、Tushare 下载数据。你可以直接指定股票池(如沪深300)或导入 CSV 文件进行批量下载。
kh data download --source baostock --pool hs300 --period 1d

  • 查看数据详情:查看某只数据各周期数据情况。
kh data info 000001.SZ

  • 数据体检与修复:一键扫描本地数据库的缺失数据,并支持自动补齐。
kh data scan --fix
  • 日常同步:一行命令同步当日最新数据,甚至可以设置定时任务。

2.2 灵活的策略与回测执行

核心的回测命令非常简单,但它支持强大的参数覆盖机制:

kh run D:\CLIstrategies\【1-MA策略案例】双均线精简_使用khMA函数.kh --report

这意味着同一个 .kh 配置文件,你可以通过命令行参数派生出无数次变体回测,而不需要去修改原文件:

  • 覆盖日期和资金:--start 20240101 --end 20241231 --capital 500000
  • 替换策略文件:-s D:\strategies\MACD.py
  • 静默运行并输出 JSON:-q --json(非常适合脚本调用)

2.3 优雅的结果分析与导出

跑完回测后,CLI 同样提供了完善的结果管理能力:

  • 查看摘要:kh result show 直接在终端打印包含收益率、最大回撤等指标的绩效卡片(自带红涨绿跌配色)。

  • 生成报告:kh result report 一键生成与 GUI 完全一致的交互式 HTML 报告,包含净值曲线、月度热力图和交易明细,并自动在浏览器中打开。

  • 横向对比:kh result compare 可以将最近几次的回测结果并排列表对比,优劣一目了然。

提示: CLI 还有更多强大的功能,在官网教程( https://khsci.com/khQuant/tutorial/)中有详细介绍。在本文末尾,我也为大家准备了一份简明手册,方便随时查阅。

三、可以用 CLI 实现什么?(高频场景)

功能罗列起来可能比较抽象,我们来看看在实际场景中,CLI 能帮你省下多少时间。

3.1 场景一:每日数据同步自动化

以前每天收盘后要手动打开 GUI 下载数据,现在你只需要在操作系统的任务计划程序里配置一条命令:

kh data sync --period 1d,5m

或者直接让 CLI 在后台挂机守候:

kh data sync --period 1d --schedule 15:30

它会在每个交易日的 15:30 自动同步最新数据,节假日自动跳过。你彻底从“每日数据更新”这项繁琐的工作中解放出来了。

3.2 场景二:一行代码跑完几十组参数

假设我想测试 RSI 策略在周期从 6 到 30 的所有表现。用 CLI 配合一个简单的脚本(比如 PowerShell):

foreach ($p in 6..30) {
    kh run configs/RSI.kh --json | Out-File "results_rsi_$p.json"
}

跑完以后,所有的核心指标都以 JSON 格式保存好了。你只需要用 Python 简单读取一下,就能画出“RSI 周期 vs 年化收益率”的参数敏感性曲线。整个参数扫描的工作流,从“耗费一个下午”压缩到了“喝杯咖啡的时间”。

3.3 场景三:与 AI 助手结合,动动嘴皮子做量化

这是本次升级最让人兴奋的玩法。

配合看海量化内置的 Skill,你可以直接在 Cursor 或其他支持命令行的 AI 助手里,用自然语言下达指令:

:“帮我看看最近一次回测表现怎么样。”  AI:(自动执行 kh result show)“最近一次回测年化收益率 18.7%,最大回撤 5.2%,表现比较稳健……”  :“我想写一个布林带策略,帮我建个模板并校验一下。”  AI:(自动执行 kh strategy create 生成模板,编写代码后执行 kh strategy validate 校验回调函数是否正确)

CLI 让大模型真正成为了你量化工作流里的“全能助理”,它不仅能帮你写代码,还能帮你跑回测、查数据、看结果。

关于这个 AI Skill 插件的具体安装和使用方法,内容非常丰富,我将在下一篇文章中为大家做详细的专题介绍,敬请期待!

四、CLI 命令行完美搭配的两种使用场景

除了上面提到的基础应用,我还想特别分享两种将 CLI 威力发挥到极致的“完美搭配”场景。

4.1 结合 Claude Code / Codex 与 Skill:实现自动化策略研究

如果你正在使用 Claude Code、Codex CLI 或 Cursor 这样的 AI 编程助手,那么看海量化的 CLI 加上专属的 AI Skill 插件,将为你打开一扇新世界的大门。

你可以直接在终端里用自然语言下达复杂的连串指令:

使用khQuant的skill,对于XXXXXX这个股票,编写一个rsi的回测策略,用日线数据计算近一年的数据,得到回测结果报告

AI 会自动解析你的意图,依次调用 kh data download、kh run、读取结果 JSON、修改策略代码,并再次运行回测。整个策略研究的循环被 AI 彻底自动化了,你只需要像指挥一个量化研究员一样,提出想法并验收成果。

以下是在cursor中使用这个skill调用CLI进行策略编写和回测的简单演示。

此时可以得到HTML报告:

仅作演示

4.2 结合 OpenClaw(小龙虾)配置:随时随地的云端回测

量化研究往往需要随时随地捕捉灵感。如果你将看海量化部署在云服务器或家里的常开主机上,配合 OpenClaw(小龙虾)这样的内网穿透或远程执行工具,你可以实现极其轻量级的移动端回测。

无论你是在通勤的地铁上,还是在出差的咖啡馆,只需要用手机或平板通过 OpenClaw 发送一条简单的指令,远端的主机就会立即开始执行回测,并将结果(包括收益率摘要和 HTML 报告链接)实时推送到你的设备上。

关于如何配置 OpenClaw(小龙虾)来实现随时随地的远程回测,我也会在后续的文章中为大家详细讲解,敬请关注!

五、加入内测,抢先体验

包含完整 CLI 功能的最新版本已经上线。内测资格目前只对通过作者推荐渠道开通 miniQMT(开通是免费的)的朋友开放。这既是对开发工作的一种支持,也是回馈核心朋友的一种方式。加入内测群会有持续的福利:

  • 版本领先体验:将永远比公开发布版领先一个大功能版本,提前使用到正在开发中的新功能。
  • 专属交流群:受邀加入内部交流群,与作者及众多量化爱好者直接交流,获取及时的帮助和策略思路分享。

如果对此感兴趣,请关注公众号“看海的城堡”,在公众号页面下方点击相应标签即可获取开户方式,开通后联系作者即可加入。

五、关于公开版本

公开版本包含了回测历史管理等绝大部分核心功能,您可以在看海量化(KHQuant)的官方网站上免费下载安装包和获取全部开源代码。

官网地址:https://khsci.com/khQuant/

内测功能在后续也会逐步向公开版开放,敬请期待!

六、附录:kh 命令简明手册

# ==========================================
# 看海量化 CLI (kh) 简明功能手册
# ==========================================

# 1. 初始化与配置
kh init          # 首次使用引导配置(数据源、路径、Token等)
kh config show   # 查看当前全局配置
kh config set    # 修改配置项 (如 kh config set backtest_data_source duckdb)
kh config reset  # 重置为默认配置
kh doctor        # 环境体检与依赖诊断

# 2. 回测执行
kh run <config.kh> [options]  # 执行回测
# 常用参数:
# -s, --strategy <path>     覆盖策略文件
# --start / --end           覆盖日期区间 (如 20240101)
# -c, --capital             覆盖初始资金
# --stocks                  覆盖股票池
# --report                  回测完成后自动生成 HTML 报告
# --json                    以 JSON 格式输出结果

# 3. 数据管理 (kh data)
kh data list         # 列出已下载的股票数据
kh data stats        # 数据库统计概览(文件大小、股票数)
kh data info <code>  # 查看单只股票详情(如 kh data info 000001.SZ)
kh data download     # 下载数据 (支持 xtdata/baostock/tushare)
kh data scan         # 扫描数据缺口 (加 --fix 自动修复)
kh data export       # 导出数据为 CSV
kh data repair       # 修复 DuckDB 数据库损坏
kh data update-pool  # 更新预设板块成分股列表
kh data sync         # 同步当日数据 (支持定时任务)

# 4. 回测结果管理 (kh result)
kh result list       # 列出所有历史回测
kh result show       # 查看某次回测摘要
kh result report     # 生成交互式 HTML 报告
kh result compare    # 横向对比多次回测结果
kh result clean      # 清理旧回测结果

# 5. 策略管理 (kh strategy)
kh strategy list     # 列出可用策略
kh strategy create   # 创建策略模板 (生成 .py 和 .kh)
kh strategy validate # 校验策略文件回调函数是否合规
kh strategy info     # 查看策略信息 (静态分析)

# 6. 实用小工具
kh tool trade-day    # 查询交易日
kh tool pool         # 查看预设股票池
kh version           # 查看当前版本信息
kh gui               # 从命令行启动 GUI 界面
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐