3.3 khQuant 的 Skill 介绍

适用版本 V2V3

本篇重点:本篇介绍 khQuant Skill 是什么、里面有什么,以及 V3 和 V2 用户各自怎么用它让 AI 少犯错。

1 Skill 是什么

1.1 一句话说清楚

Claude Code、Codex、Cursor、DeepSeek harness、WorkBuddy 这类 AI 编码助手(其他 AI 编码助手也都兼容),能读文件、写文件、在终端里运行命令。但它们对 khQuant 一无所知:不知道有哪些 kh 命令,不知道 khHandlebar 要返回什么,也不知道 .kh 配置文件长什么样。不知道的时候,AI 往往会「合理地猜」,猜出来的参数和函数名看上去很像真的,跑起来才报错。

Skill 就是解决这个问题的:它是一个文件夹,里面有一份入口说明 SKILL.md 和若干份参考文档。AI 工具启动时会登记这个文件夹,当你说到「回测」「下载股票数据」「写个 MACD 策略」之类的话,AI 就先读 Skill,再按里面写的真实命令和 API 做事。

可以把它理解为:你请了一位懂编程、但没用过 khQuant 的助手,Skill 是你塞给他的那本操作手册,外加「哪些事可以直接做、哪些事要先问我」的规矩。

1.2 没有 Skill 时 AI 常犯的错

下面这些错误,在不给参考资料、直接让 AI「写一个 khQuant 双均线策略」时很常见。Skill 的参考文档里都有对应的规定:

  • 编造函数和参数:写出 khQuant 里不存在的函数,或给 kh run 加上不存在的选项。
  • 信号列表用错方法:generate_signal 返回的是列表,要用 signals.extend() 合并;写成 signals.append() 会把列表套进列表,信号不执行。
  • 股票代码不带后缀:写 "000001" 而不是 "000001.SZ",结果取不到数据。
  • 周期对不上:配置是日线触发,代码里却用 khHistory(..., '1m') 取分钟数据。
  • 引入未来数据:自己从数据库读到「今天」的收盘价再判断今天的买卖。
  • 数量单位搞错:信号里的 volume 单位是「股」,不是「手」。

1.3 它是怎么起作用的

Skill 不是程序,不会在后台运行,也不改 khQuant 软件本身。它的作用过程是这样的:

AI 怎么通过 Skill 用上 kh 命令
AI 怎么通过 Skill 用上 kh 命令
  1. 登记:AI 工具启动时,读到 SKILL.md 开头的一段描述。这段描述列出了一批触发词,比如「回测」「kh命令」「双均线」「MACD」「khHistory」「.kh配置文件」等。
  2. 触发:你的话里出现这些词时,AI 判断该用这个 Skill,读入 SKILL.md 正文。你也可以点名使用:Claude Code 里输入 /khquant,Codex 里输入 $khquant。
  3. 按需加载:SKILL.md 里有一张「你想做什么 → 读哪份参考文件」的对照表。比如你说「写策略」,AI 去读 strategy-development.md;说「报错了」,去读 troubleshooting.md。用不到的文件不读,省下对话篇幅。
  4. 执行:AI 按参考文件里的命令格式和 API 写代码、跑命令,并遵守 SKILL.md 规定的安全规则(第 4 节)。

1.4 和旧「提示词工程」的关系

以前的教程提供过两段很长的「提示词工程」(V2 版、V3 版各一段),用法是开一个新对话,把整段文字粘贴给 AI,再描述策略。这个办法有效,但有几个问题:每次都要粘贴上万字;内容写死在网页里,软件更新后容易过时;而且只管写代码,不管下数据、跑回测。

Skill 把同样的知识拆成了按场景组织的文件,并补上了命令行操作、结果解读、排错这些内容,跟着软件版本一起更新。旧的提示词工程不再维护,本篇取代那两篇教程。V2 用户原来「粘贴提示词」的用法,换成第 5 节的「上传参考文档」即可,思路不变,资料更新。

2 Skill 装在哪

Skill 本体是仓库里的 skills/khquant 文件夹。取得方式二选一:git clone https://github.com/khscience/khquant-skill.git,或在 GitHub 页面点 Code → Download ZIP 后解压。然后把 skills/khquant 整个文件夹复制到对应工具的 Skill 目录:

工具放到哪里怎么点名使用
Claude Code~/.claude/skills/khquant(Windows:%USERPROFILE%\.claude\skills\khquant)/khquant
Codex~/.codex/skills/khquant(Windows:%USERPROFILE%\.codex\skills\khquant)$khquant
Cursor~/.cursor/skills/khquant,或把 SKILL.md 的内容放进项目根目录的 AGENTS.md,references 文件夹放进项目里直接用自然语言

DeepSeek harness、WorkBuddy 等其他 AI 编码助手也都兼容:按各工具说明放进它的 Skill 目录,或者把 SKILL.md 当作项目说明交给它。

复制好后重启 AI 工具。最省事的办法是直接让 AI 自己装:告诉它仓库地址,让它把 skills/khquant 装到它自己的用户级 Skill 目录,并告诉你装在了哪里。

逐步的安装命令(Windows PowerShell、macOS / Linux)、用 API 中转站接入 Codex、第一次对话怎么说,都在 2.2 命令行模式与 AI 智能策略研究里,这里不重复。各工具的 Skill 目录可能随它们的版本变化,以工具当前的说明为准。

提示

只有 V3 需要「安装」Skill。V2 用户不用装,直接从仓库里取出参考文档即可,见第 5 节。

3 Skill 里面有什么

3.1 目录结构

Skill 由什么组成:入口 SKILL.md 加 9 份参考文档
Skill 由什么组成:入口 SKILL.md 加 9 份参考文档

仓库里的完整目录:

khquant-skill/
├── README.md                  仓库说明:安装方法、版本记录
├── LICENSE                    MIT 许可
└── skills/khquant/            ← 真正要复制的就是这个文件夹
    ├── SKILL.md               入口:触发词、执行规则、场景对照表
    ├── agents/openai.yaml     Codex 界面里显示的名称、简介和默认提示
    └── references/            9 份参考文档
        ├── setup.md
        ├── data-management.md
        ├── strategy-development.md
        ├── backtesting.md
        ├── web-backtesting.md
        ├── results-analysis.md
        ├── troubleshooting.md
        ├── command-reference.md
        └── pools-and-codes.md

3.2 SKILL.md:入口和规矩

SKILL.md 是 AI 最先读的文件,主要写了四件事:

  • 什么时候用:开头的触发词列表。
  • 执行规则:命令分三档(查询类直接执行、修改类确认后执行、危险类必须明确同意);每条命令执行前先写一行 $ kh … 给你看;不碰 Token 和 API Key。
  • 先检查再动手:第一次使用时先运行 kh version 确认是 V3,再运行 kh doctor 检查环境;发现是 V2 或找不到 kh 命令就停下,提示你去安装。
  • 场景对照表和常用流程:新用户上手、日常回测、网页回测、各数据源的能力边界、结果怎么解读。

3.3 九份参考文档

文件讲什么V2 用户用得上吗
setup.md首次配置:kh init 的 5 个步骤、初始化后怎么验证、kh config 常用配置项用不上
data-management.md数据管理:各数据源能做什么、kh data download 的参数、查看/导出/扫描缺口/同步/修复数据用不上
strategy-development.md策略开发:回调函数、data 结构、信号格式、全部策略 API、MyTT 指标、.kh 配置结构、编程规范和常见错误最有用,见下一小节
backtesting.md回测执行:kh run 的用法、用命令行参数临时覆盖区间/资金/股票池、内存模式、输出格式用不上
web-backtesting.md网页工作台:kh web 的启动方式、导入项目、运行和日志、常见状态异常用不上
results-analysis.md结果分析:kh result list/show/report/compare、各绩效指标的含义、summary.csv 字段指标含义部分可参考
troubleshooting.md故障排查:「尚未初始化」「找不到 kh 命令」「数据库被锁定」等常见报错和修法用不上
command-reference.md命令速查:kh 全部子命令和参数用不上
pools-and-codes.md股票代码格式(.SH/.SZ/.BJ)、预设股票池名称、基准指数代码格式部分有用

3.4 strategy-development.md:最新最全的策略 API 说明

这份文件是 Skill 里最长的一份,也是写策略时最该交给 AI 的一份。它把原来散在几篇教程里的内容集中到了一起:

  • 策略文件结构:from khQuantImport import * 统一导入;init、khHandlebar、khPreMarket、khPostMarket 四个回调的签名、调用时机和返回值。
  • data 字典:当前时间、账户、持仓、股票池、每只股票的行情分别放在哪个键里。
  • 交易信号格式:code、action、price、volume 等字段。
  • 取数函数:khGet、khPrice、khIndex、khHas、khAddExtraFields、khHistory、khDuckDB、khMA,每个都有签名、参数表和示例。
  • 高性能指标模式:先用 khDuckWrite 把指标写进数据库,策略里用 khAddExtraFields + khIndex 零读盘取值。
  • 交易辅助:generate_signal(按资金比例或股数生成信号)、挂单查询和撤单函数、calculate_max_buy_volume、几个辅助类。
  • 时间工具:is_trade_day、get_trade_days_count 等。
  • MyTT 指标库:均线、MACD、KDJ、RSI、布林带、ATR 等指标和 CROSS、REF、HHV 等工具函数的清单。
  • .kh 配置结构:各配置节的字段、触发方式和数据周期怎么搭配、日内多次触发、复权方式、滑点算法、T+0 判定。
  • 完整策略模板、编程规范和常见错误表:AI 写完代码后可以对照自查。

V2 和 V3 的策略接口完全相同,所以这份文件 V2 用户同样可以拿来用。文件里出现的 kh strategy create、kh strategy validate 等命令只在 V3 有,V2 用户忽略即可。

这份文件以 API 为主,有几处细节没有展开:信号的可选字段(order_type、time_in_force 等)、日志里带 [TRADE] 的消息会在界面上高亮、盘前/盘后信号如何转成挂单。另外这份文件有几处说法不准,请以本教程为准:把 init 标成「推荐」,实际必须写,并且要带 stock_codes, init_data 两个参数;写 current_time 支持「YYYYMMDDHHMMSS」连写,实际会抛 ValueError,请传 khGet(data, "date_num") 或 khGet(data, "datetime_str");信号的 volume 没写单位,单位是股。这些在 3.1 框架介绍和 3.2 策略工具箱里讲得更细;需要时可以把那两篇的相关段落一起贴给 AI。

4 V3:装上 Skill 后 AI 能做什么

4.1 能交给 AI 的事

V3 自带 kh 命令行,AI 编码助手能在终端里运行它。装上 Skill 以后,下面这些事都可以用一句话交代:

你想做的事AI 大致会做什么
检查环境、初始化运行 kh version、kh doctor,缺什么补什么;没初始化就逐项问你数据目录和策略目录
下载数据按你说的股票、周期、区间、复权方式拼出 kh data download 命令,下载完用 kh data stats、kh data info 总结
写策略按 strategy-development.md 写 .py,生成配套的 .kh,再用 kh strategy validate 检查能否加载
批量回测把一组参数组合逐个 kh run,用 --json 收集结果
汇总和解读整理成参数-收益-回撤对照表,解释年化收益、最大回撤等指标
出报告用 kh result report 生成 HTML 回测报告
排错让你贴出完整报错,对照 troubleshooting.md 给出修复命令

从描述策略、生成代码、批量回测到检查结果的完整流程,以及一段可以直接改用的研究提示词,见 3.4 使用 AI 编写和回测验证策略。

4.2 改东西之前先问你

Skill 给 kh 的命令分了三档:

三档命令:查询类直接执行,修改类先问你,危险类必须明确同意
三档命令:查询类直接执行,修改类先问你,危险类必须明确同意
每档包括的完整命令(展开)
档位AI 的做法包括哪些命令
查询类直接执行,展示结果kh version、kh doctor、kh config show、kh data stats/list/info、kh strategy list/info/validate、kh result list/show、kh tool trade-day/pool 等
修改/生成类先把要执行的命令给你看,你同意后才执行kh data download、kh run、kh web、kh strategy create、kh config set/reset、kh result report/compare 等
危险类说明风险,必须你明确同意kh result clean(删除回测结果)、kh data repair、kh tool parquet-cache clean、kh init(会覆盖现有配置)

另外几条:AI 每执行一条命令,先在回复里写一行 $ kh …,你能看清它要做什么,也顺便学会命令;AI 工具本身平时请保持「执行命令前需要批准」,批量研究要走开时只在专用研究目录里临时放宽(见 2.2 第 1.5 节);kh strategy validate 归在查询类,但它会实际执行一遍策略文件的顶层代码,检查来路不明的策略文件前先自己看一眼代码。

4.3 kh 没有下单功能

kh 的子命令只有初始化、配置、数据、回测、网页工作台、结果、策略管理和几个小工具,没有任何下单、报单功能。AI 通过 Skill 和 kh 做的所有事,都停留在本机的数据和回测结果上,碰不到交易账户。

4.4 密钥自己填

Tushare Token、同花顺 API Key 这类凭据,Skill 规定 AI 不经手:需要配置时,它会让你自己在终端运行 kh config set tushare_token … 或 kh config set ths_api_key …,或者在图形界面的设置里填。看配置用 kh config show,只显示打码后的首尾字符。

注意

设置文件里的 Token 没有加密。不要把 Token、Key 发进对话,也不要让 AI 直接打开 settings.json。

4.5 AI 不替你做判断

Skill 让 AI 少犯错,但不保证策略逻辑就是你想要的,更不保证策略能赚钱。AI 汇总出来的排名、结论,关键的几条请自己用 kh result show 或 HTML 报告复核一遍,排名第一的参数组合尤其要看交易明细,警惕过度拟合。回测结果不代表未来收益,不构成投资建议。

5 V2 用户怎么用

5.1 思路:把参考文档交给网页版 AI

V2 用户:取出参考文档交给网页版 AI,写好代码在 V2 界面里回测
V2 用户:取出参考文档交给网页版 AI,写好代码在 V2 界面里回测

V2 没有命令行,AI 没法替你下载数据、跑回测;Skill 的 SKILL.md 一开始就会检查 kh 命令,检测不到会停下来提示安装 V3。所以 V2 用户不用「安装」Skill,而是只用它的资料:

  1. 从仓库里取出 strategy-development.md(必选)和 pools-and-codes.md(可选)。
  2. 打开任意一个支持上传文件的网页版对话 AI,新开一个对话,把文档作为附件发过去,再发开场白。
  3. 描述你的策略,让 AI 按文档写出 .py 策略文件。
  4. 对照 3.4 第 4 节的清单看一遍代码,存成文件。
  5. 在 V2 界面里选中这个策略文件、设好回测参数,点「开始运行」。

这就是以前「粘贴提示词工程」的用法,只是把那段写死的长文换成了随版本更新的参考文档。

5.2 准备文件

  • 下载文档:在 GitHub 打开 strategy-development.md,点右上角的下载按钮(Download raw file);或者整个仓库 Download ZIP 后解压,在 skills\khquant\references\ 里找。
  • 传不了 .md 文件怎么办:把文件扩展名改成 .txt 再上传;或者用记事本打开,全选复制,直接粘贴到对话框里。
  • 附一个示例策略(推荐):V2 自带的示例策略,比如 【1-MA策略案例】双均线精简_使用khMA函数.py,一起发给 AI 当「范文」,它写出来的代码风格会更接近能直接跑的样子。
提示

有些 AI 能「读网址」,但读 GitHub 页面时常常只读到一部分,或者读到的是缓存的旧版本。上传文件最稳。

5.3 接下来

文档准备好后,开场白怎么写、在 V2 界面里怎么加载回测、报错了怎么办,见 3.4 第 6 节;需求怎么描述见 3.4 第 2 节,检查 AI 输出的清单见 3.4 第 4 节。

6 Skill 怎么更新

khQuant 每次更新涉及策略接口或命令的改动,Skill 也会跟着更新。仓库 README 的「版本」一节记录了每个 Skill 版本对应的软件版本,写本篇时最新的是 v1.3.3(补齐了 init 必须写、current_time 的格式、信号 volume 的单位、order_type/time_in_force 等说明)。Skill 文件夹里本身不写版本号,拿不准自己装的是不是最新的,直接按下面的方法更新一次即可。

  • 用 git clone 安装的:在仓库目录运行 git pull,再把 skills/khquant 复制一遍覆盖旧的。
  • 不想每次复制:用软链接(macOS / Linux)或目录联接(Windows)把 Skill 目录指向仓库里的 skills/khquant,以后 git pull 就等于更新完成。具体命令见仓库 README 的「后续更新」一节。
  • 让 AI 更新:在 AI 工具里说「把 khQuant Skill 更新到 GitHub 上的最新版」,它会重新下载并覆盖。
  • 用 ZIP 安装的:重新下载 ZIP,解压后覆盖。
  • V2 用户:重新下载 strategy-development.md,以后开新对话时发新的附件。旧对话里的附件不会自动更新。

更新后重启 AI 工具,新内容才会生效。想知道每次改了什么,看仓库 README 的「更新日志」。

卸载很简单:删掉对应 Skill 目录里的 khquant 文件夹即可。

常见问题

问:Skill 要钱吗?需要注册什么账号吗?
答:Skill 本身免费,MIT 许可,GitHub 上直接下载。你需要自己准备一个 AI 工具(Claude Code、Codex、Cursor、DeepSeek harness、WorkBuddy 等 AI 编码助手,或网页版对话 AI),这些工具怎么收费以它们官网为准。

问:装了 Skill,AI 好像没用上?
答:先确认文件夹装对了位置、文件夹名叫 khquant、里面直接就是 SKILL.md(不要多套一层);然后重启 AI 工具。还不行就点名使用:Claude Code 输入 /khquant,Codex 输入 $khquant。

问:AI 说找不到 kh 命令?
答:这是 V3 的命令行没装好或没进 PATH,和 Skill 无关。Windows 安装时保持勾选「添加 kh 命令到系统 PATH」,装完重启 AI 工具;其他平台见 2.2 和附录 B 排错总表。

问:我用 V2,能把 Skill 装进 Claude Code 用吗?
答:装进去也用不上命令部分:Skill 会先检查 kh 命令,V2 没有,它会停下来提示你升级。V2 请按第 5 节,只用 strategy-development.md 让 AI 写策略代码。

问:用了 Skill,AI 写的策略就一定对吗?
答:不一定。Skill 减少的是「编造函数、格式写错」这类错误,策略逻辑是否符合你的想法、有没有用到未来数据,仍然要按 3.4 第 4 节的清单检查,并在回测报告里看交易明细。

问:以前教程里的「提示词工程」还能用吗?
答:已经不再维护,里面的部分说法和现在的软件对不上。请改用 Skill 里的 strategy-development.md,它覆盖了提示词工程的全部内容,并且随版本更新。

问:AI 让我把 Tushare Token 发给它?
答:不要发。在图形界面的设置里填,或者在你自己的终端里运行 kh config set tushare_token …。Skill 本身就规定 AI 不经手密钥,遇到这种要求可以直接拒绝。

问:AI 会不会通过 Skill 替我下单?
答:不会。kh 命令行没有下单功能,Skill 的所有操作都在数据、回测和结果这一层。

问:网页版 AI 说附件太长,读不完?
答:换一个支持长文档的模型;或者只粘贴文档里你用得到的部分,至少包括「策略文件结构」「数据获取 API」「交易辅助函数」「编程规范」这几节。

问:我发现 Skill 里有写错的地方,怎么反馈?
答:在 GitHub 仓库提 Issue,写清楚是哪个文件、哪一段、软件版本号和实际表现。

本篇基于 V3.4.1.10 和开源 V2 编写。

×
没有账号?注册  忘记密码?

风险提示

投资有风险,开户需谨慎。本系统仅为投资者提供量化交易相关的数据处理与分析工具,不构成任何投资建议。 请您在审慎思考后作出选择。特别声明:本系统对您与券商之间的交易、合作不承担任何法律责任。 市场有风险,投资需谨慎。

© 2024 khQuant看海量化回测平台 版权所有

官网:www.khsci.com/khQuant