Claude-Guardian
Claude Guardian is an all-in-one Claude account safety and risk prevention skill. It intelligently assesses your device, account history, network environment, and payment options, then provides person
Open-source Agent Skill for Claude Code & Codex: deterministic K-line structure, triple-barrier risk plan, 15-day normal volatility range and no-lookahead backtest on real A-share, HK & US data. Resea
SkillsPython · HTMLGitHub @xiongcpOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
AI agent skill (Claude Code / Codex) for deterministic K-line structure analysis of A-shares, HK & US stocks: triple-barrier risk plans, 15-day normal volatility range, no-lookahead backtest, JSON + PNG + offline HTML from real market data. A股/港股/美股 K线结构识别与风控研究技能,真实行情、无前视回测。仅供研究,不构成投资建议。
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗A股 / 港股 / 美股 K 线数学结构识别与风控研究技能,给 Claude Code、Codex 等 AI 助手使用
English TL;DR: An Agent Skill for Claude Code, Codex, Cursor, Gemini CLI and other AI agents. Ask in plain language ("analyze NVDA") and the agent runs deterministic Python on real market data (A-shares, Hong Kong, US) to produce K-line structure, a triple-barrier risk plan, a direction-free 15-day normal volatility range and a no-lookahead backtest, as JSON + PNG + offline HTML. For research only, not investment advice. Full English docs: README.en.md.
kline-structure-chart 是一个符合 Agent Skills 开放规范 的金融量化与 K 线数学结构分析技能包。装进 Claude Code、Codex、Hermes Agent、Cursor、Gemini CLI、OpenCode 等 AI 助手之后,你只需用自然语言提问(例如:"帮我看看中际旭创的 K 线结构和支撑压力,账户 50 万"),助手就会自动完成从真实行情拉取 → 确定性数学结构识别 → 三重屏障风控与正常波动范围 → 离线交互看板与高清图生成 → 回复契约校验的完整投研闭环。
中际旭创 300308.SZ 离线交互看板录屏(数据截至 2026-10-15):拖动时间回放,每个历史截面只用当时数据,白线是之后的真实收盘;再演示图层开关与副图切换。看板是技能原样输出的 HTML,可在项目主页在线打开。
*_result.json(稳定契约)、1920×1160 PNG 结构图、离线交互 HTML 看板与中文 Markdown 报告出自同一份计算结果;lint_response.py 拦截助手回复里编造的价格和概率话术。--days 只改显示根数,不改任何结论;离线测试全部使用录制下来的真实行情回放。[DATA_UNAVAILABLE] 退出,不估算、不补数。macOS / Linux 一行安装(会自动注册到已安装的 Claude Code、Codex 等助手):
curl -fsSL https://raw.githubusercontent.com/xiongcp/stock-skill/main/install.sh | bash
装好后新开一个会话,问"帮我分析 300308.SZ"或"看看腾讯 00700.HK 的 K 线结构,带回测"。Windows、Claude Code 插件市场、npx skills、让 AI 助手代装和不用 uv 的方式见第 3 节,直接用命令行见第 5 节。
仅供研究与学习,不构成投资建议,也不会替你下单。
在传统的大模型看图或直接对话问股中,普遍存在四大致命痛点:
为此,kline-structure-chart 建立了六大工程铁律(Hard Invariants)与确定性结构 + 风控两层架构:
flowchart TD
A["用户自然语言提问 / CLI 调用<br/>(如:分析中际旭创 / 00700.HK / NVDA.US)"] --> B["0. 名称解析与多市场真实行情网关<br/>resolve_symbol.py · data_gateway.py"]
B --> C["盘中未收盘K线剥离 + 点位时间前复权(PIT) + 大盘基准配对<br/>market_rules.py(A股沪深300 / 港股恒指 / 美股SPY)"]
C --> D["确定性数学结构与多周期规则层<br/>单边因果NW核平滑 · 因果ZigZag · 轨道候选打分拟合<br/>主+备选ABC浪型 · 推动5浪硬规则 · 8类标准情景筛选<br/>蜡烛/双底双顶/RSI背离 · SMC(FVG/OB/BOS) · Volume Profile"]
D --> F["Triple-Barrier 风控与正常波动范围<br/>risk.py · forecast.py · evaluation.py<br/>左右侧入场区/盘中硬止损/+0.90R移动保本/持仓防守/港美做空<br/>鞅中心15日50%&80%区间 + 线上计划逐日无前视回测"]
D --> G["v6 稳定契约:*_result.json<br/>(contract_v6.py 投影,assets/analysis.schema.json 全量校验)"]
F --> G
G --> H1["*_preview.png<br/>1920×1160 高清结构图"]
G --> H2["*_dashboard.html<br/>离线交互看板(另读 *_chart_data.json)"]
G --> H3["*_report.md<br/>中文报告"]
G --> H4["lint_response.py<br/>回复守门"]
[DATA_UNAVAILABLE] 非零退出(退出码 3),严禁回退、估算、补数或生成任何合成行情。当日未收盘 K 线(按交易所时区与半日市/提前收市规则判定)严格拆出,绝不混入已收盘序列。000300.SH、港股 HSI.HK、美股 SPY.US),计算大盘状态分与 20 日相对强弱(RS Line)。大盘极弱(状态分 < 35)或缺失基准时,独立风控官自动触发一票否决(verdict.risk_veto = true)。day 与反向达标确认日 confirmed_at_day;点位复权(PIT)只消费截至当时已生效的分红送转;回测与历史回放截面按当时截止日重算大盘状态与复权,并经追加 5 倍极端未来价格冲击的因果回放审计验证零泄漏。--days N(60~500)只改变主图展示根数,底层取数固定 760 根、指标在固定 420 根历史上预热、结构在固定 120 根窗口上识别,切换展示天数绝不改变任何指标数值、结构分类或交易点位。rule_score)是确定性条件加权分,绝不称为"胜率"或"上涨概率";不输出任何概率、胜率或频率数字,唯一例外是回测成交胜率(附 Wilson 95% 区间与样本量),它只是已发生成交的统计,不是未来上涨概率。本技能只做规则化技术分析与量化研究验证,不构成任何投资建议,也不会替你下单。
| 市场 | 代码格式 | 示例 | 行情来源 | 默认大盘基准 |
|---|---|---|---|---|
| A股 | 6 位代码 + .SH / .SZ / .BJ | 600519.SH、000002.SZ、830799.BJ、510300.SH(ETF)、000001.SH(上证指数) | 新浪日线(不复权)+ Yahoo 除权除息事件 | 沪深300 000300.SH |
| 港股 | 5 位代码 + .HK | 00700.HK、01810.HK、02800.HK(ETF)、HSI.HK、HSTECH.HK | Yahoo 日线;恒生科技指数用腾讯指数日线 | 恒生指数 HSI.HK |
| 美股 | 代码 + .US | NVDA.US、SPY.US、QQQ.US、BRK.B.US | Yahoo 日线 + ^VIX 恐慌指数 | SPY.US |
证券简称、A 股 ST/*ST 风险警示标识和港股每手股数(Board Lot)会自动从腾讯行情快照获取;常见科创/创业板 20% 涨跌幅 ETF、A 股跨境/债券/黄金/货币 T+0 ETF 以及港交所豁免印花税的 ETF/ETP 代码段均支持自动识别。
以下三张 1920×1160 结构图全部由本技能脚本基于真实行情自动生成(数据截至 2026-10-15,完整报告、JSON 与离线交互看板见 examples/):
300308.SZ · 创业板 · 红涨绿跌 · 扩散喇叭形 + 跌破下轨 + 三情景推演 + 15 日正常波动范围)右上角红框是风控否决:大盘环境评分低于 35,且收盘跌破结构下轨,个股不给做多评级。
00700.HK · 红涨绿跌 · 破位下行与 C 浪末端反转推演)NVDA.US · 绿涨红跌 · 超跌反弹与破位下行推演)git,以及 Python ≥ 3.12 + Pillow(Pillow 只用来画 PNG;全部指标、形态、风控与回测计算只用 Python 标准库)。[DATA_UNAVAILABLE])。技能本身只是一份说明(SKILL.md)加一组 Python 脚本,agent 按 SKILL.md 里的命令运行脚本,所以电脑上必须有能运行这些脚本的 Python 和 Pillow。uv 解决的是"让这件事在任何机器上都一次成功":
uv sync --frozen 严格按 uv.lock 安装,每台机器得到同一个 Pillow 版本,PNG 渲染一致。.venv 里;直接 pip install 到系统 Python 在新版 macOS(Homebrew)和 Debian/Ubuntu 上会被 PEP 668(externally-managed-environment)拒绝。"agent 遇到错误会自己安装"大多数时候成立,但不可靠:agent 可能把依赖装进系统 Python(被拒绝或污染环境)、用了过低的 Python 版本、在禁止联网或禁止写系统目录的沙箱里反复失败,轻量模型尤其容易卡住。所以 SKILL.md 现在写明了确定的兜底路径:有 uv 用 uv run python;没有 uv 就在技能目录建 .venv 并 pip install -r requirements.txt,然后用 .venv/bin/python。scripts/doctor.py 也不再把"没装 uv"判为失败。
不想自己敲命令时,把下面这句话直接发给你正在用的 AI 助手(Claude Code、Codex、Gemini CLI、Cursor、OpenCode、Hermes Agent 等能执行命令的助手):
请按 https://raw.githubusercontent.com/xiongcp/stock-skill/main/INSTALL_FOR_AGENTS.md 的步骤,把 kline-structure-chart 技能安装到你自己的技能目录;需要安装 uv 或其他软件前先问我,完成后把 doctor 自检结果告诉我。
助手会读取 INSTALL_FOR_AGENTS.md:判断自己该装到哪个技能目录 → 检查 git / Python / uv → 有 uv 就运行一键脚本,没有 uv 且你不同意安装时改用 venv + pip → 运行 doctor → 告诉你结果和下一步。指引里写明了安全边界:不用 sudo、不覆盖已有目录、安装任何软件前先征求你的同意、不索要任何账号密码。
助手无法访问网址时,把 INSTALL_FOR_AGENTS.md 的全文复制给它即可。装完后新开一个会话,技能才会被加载。
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/xiongcp/stock-skill/main/install.sh | bash
Windows(PowerShell):
irm https://raw.githubusercontent.com/xiongcp/stock-skill/main/install.ps1 | iex
脚本依次完成:
git 和 uv。缺 uv 时询问是否用官方安装器安装(加 --install-uv 则不询问直接安装);不安装 uv 时(回答 N,或非交互环境未加 --install-uv)改用本机 Python 3.12+,依次查找 python3.13、python3.12、python3(Windows:py -3.13、py -3.12、python),都低于 3.12 才退出并提示安装 Python 3.12+ 或加 --install-uv。~/.local/share/stock-skill;已存在时执行 git pull --ff-only,所以重复执行同一条命令就是更新。uv sync --frozen --python 3.12,按 uv.lock 安装依赖;不用 uv 时改为在技能目录 python -m venv .venv 并 .venv/bin/pip install -r requirements.txt(版本与 uv.lock 一致)。claude、codex、gemini、cursor-agent、opencode,把技能目录软链到对应的技能目录(见下表)。目标位置已有同名的普通目录时先备份为 *.bak.<时间>。requirements.txt 里)和环境自检 doctor(不用 uv 时用 .venv/bin/python 运行),最后打印下一步。| Agent | 探测命令 | 全局技能目录 | --project 时的目录 |
|---|---|---|---|
| Claude Code | claude | ~/.claude/skills/ | <项目>/.claude/skills/ |
Codex(以及读取 ~/.agents/skills 的其他工具) | codex | ~/.agents/skills/ | <项目>/.agents/skills/ |
| Hermes Agent | hermes | ~/.hermes/skills/ | <项目>/.hermes/skills/ |
| Gemini CLI | gemini | ~/.gemini/skills/ | <项目>/.agents/skills/ |
| Cursor | cursor-agent | ~/.cursor/skills/ | <项目>/.agents/skills/ |
| OpenCode | opencode | ~/.config/opencode/skills/ | <项目>/.agents/skills/ |
目录约定与 vercel-labs/skills 一致。一个都没探测到时,默认注册到 Claude Code 和 ~/.agents/skills/。
安装完成后新开一个会话,试问"帮我分析 300308.SZ"或"看看中际旭创的 K 线"。
通过管道运行时用 bash -s -- 传参,例如:
curl -fsSL https://raw.githubusercontent.com/xiongcp/stock-skill/main/install.sh | bash -s -- --agents claude,codex --dry-run
选项(install.sh) | Windows(install.ps1) | 说明 |
|---|---|---|
--dir <目录> | -Dir | 代码目录,默认 ~/.local/share/stock-skill(也可用环境变量 STOCK_SKILL_DIR) |
--agents claude,codex | -Agents claude,codex | 只注册到指定 agent;all 表示全部五个 |
--project <目录> | -Project | 只注册到某个项目(项目级技能目录),不动全局目录 |
--copy | -Copy | 复制而不是软链(更新代码后需重新执行脚本) |
--install-uv | -InstallUv | 缺 uv 时直接安装,不询问;不加且不安装 uv 时改用本机 Python 3.12+ 建 .venv(见 3.1 第 1 步) |
--no-test | -NoTest | 跳过安装后的自检 |
--dry-run | -DryRun | 只打印将要执行的操作,不做任何修改 |
--source <地址或路径> | -Source | 从其他 Git 地址或本地检出安装(开发测试用) |
--update | -Update | 更新,等同重新执行安装 |
--uninstall | -Uninstall | 卸载 |
更新:重新执行 3.1 的安装命令即可(软链安装会随 git pull 自动生效;--copy 安装会重新复制)。
卸载:
bash ~/.local/share/stock-skill/install.sh --uninstall
卸载只删除本脚本创建的软链、带安装标记的复制目录和代码目录;其他技能、你自己放在同名位置的目录(会提示"跳过")以及安装时生成的 *.bak.* 备份都不会被删除。安装时用过 --dir 或 --project 的,卸载时请带上同样的参数。
Claude Code 插件市场:在 Claude Code 里执行
/plugin marketplace add xiongcp/stock-skill
/plugin install kline-structure-chart@stock-skill
插件市场清单在 .claude-plugin/marketplace.json,直接指向 kline-structure-chart/ 目录。插件方式不会运行 uv sync,首次分析时 uv run 会自动安装依赖。
npx skills(vercel-labs/skills):会自动识别已安装的 agent。
npx skills add xiongcp/stock-skill
常用参数:-g 安装到用户目录、-a claude-code 指定 agent、--copy 复制而不软链。
手动安装:
git clone https://github.com/xiongcp/stock-skill.git ~/.local/share/stock-skill
cd ~/.local/share/stock-skill && uv sync --frozen --python 3.12 --directory kline-structure-chart
mkdir -p ~/.claude/skills && ln -sfn ~/.local/share/stock-skill/kline-structure-chart ~/.claude/skills/kline-structure-chart
其他 agent 把最后一步的 ~/.claude/skills 换成 3.1 表格里的目录。
不用 uv 的手动安装:需要 Python ≥ 3.12(python3 --version 查看;把下面的 python3.12 换成你机器上 3.12 及以上的解释器名)。克隆与软链两步同上,把第二步换成:
cd ~/.local/share/stock-skill/kline-structure-chart && python3.12 -m venv .venv && .venv/bin/pip install -r requirements.txt
requirements.txt 只有 Pillow,版本与 uv.lock 一致(由测试校验)。此后 SKILL.md 与本文中的 uv run python 一律换成 .venv/bin/python(Windows:.venv\Scripts\python),助手会按 SKILL.md「运行环境」一节自动替换。
以下命令在代码目录(默认 ~/.local/share/stock-skill)执行。先跑环境自检,逐项显示 ✅/❌ 和修复建议(断网时数据源几项为 ❌,其余可离线通过):
uv run --directory kline-structure-chart python scripts/doctor.py
再跑离线测试(不访问网络,全部使用录制下来的真实行情回放):
uv run --directory kline-structure-chart pytest -q
最后联网跑一次真实分析:
uv run --directory kline-structure-chart python scripts/analyze_and_forecast.py --market CN --symbol 600519.SH --output-dir artifacts/smoke
失败时脚本以非零码退出:[DATA_UNAVAILABLE] 表示取不到真实行情,[INVALID_ARGUMENT] 表示代码或参数有误,[INSUFFICIENT_HISTORY](退出码 4)表示已收盘K线不足(见第 8 节)。成功时退出码为 0,kline-structure-chart/artifacts/smoke/ 下会出现 600519.SH_report.md、600519.SH_result.json、600519.SH_chart_data.json、600519.SH_preview.png、600519.SH_dashboard.html 五个文件。
直接用自然语言提问即可,名称、拼音、代码都可以:
助手按技能里的规则工作:
scripts/resolve_symbol.py 通过腾讯证券搜索查代码;匹配到多个证券(比如"腾讯")时会请你选择,不会凭记忆猜。--backtest)。UNAVAILABLE 不给任何价位;PARTIAL 把告警放在回答最前面。*_report.md 为骨架回答,顺序为:大盘 → 结构与条件推演 → 风控计划 → 未来正常波动范围 → 回测 → 文件路径 → 免责声明。报告中的数字不得改动。完整示例(真实行情生成的报告、图和标准回复)见 examples/。
小提示:
所有命令都在仓库根目录执行。
uv run --directory kline-structure-chart python scripts/analyze_and_forecast.py --market HK --symbol 01810.HK --account-equity 300000 --output-dir artifacts/hk --backtest
命令执行完会在终端打印一段 JSON 摘要,产物写入 kline-structure-chart/<--output-dir>/。
| 参数 | 说明 |
|---|---|
--symbol(必填) | 标的代码,格式见第 1 节 |
--output-dir(必填) | 产物目录,相对于 kline-structure-chart/ |
--market | CN / HK / US;代码带后缀时可以省略 |
--asset-type | index / equity / etf。默认按代码段推断:A 股 51/56/58(沪)、15(深)开头及港交所 ETF/ETP 代码段(02800 |
--days | 主图显示多少根 K 线,取值 60~500,默认 120。只影响显示,不影响任何计算结果 |
--horizon-bars | 预测天数,1~60,默认 15 |
--as-of | 只用截至某日(YYYY-MM-DD)的数据,用于复盘历史 |
--adjustment | raw / split / total_return。默认个股和 ETF 用前复权(含分红送转),指数不复权 |
--account-equity、--max-risk-pct | 账户净值与单笔风险比例(默认 0.01,即 1%;取值 0~0.05,写成 1 会以 [INVALID_ARGUMENT] 拒绝)。不传账户净值时不计算股数;股数按入场区上沿到止损的距离(含交易成本)计算,风控否决或评级不是做多时不给股数 |
--name、--st | 手动指定证券简称、手动标记 ST。正常情况下会自动获取,无需填写 |
--ipo-no-limit | 标记上市前 5 个交易日、不设涨跌幅的新股 |
--color-scheme | auto / cn_red_up / us_green_up。默认 A 股和港股红涨绿跌,美股绿涨红跌 |
--benchmark | 替换默认大盘基准 |
--backtest、--backtest-step | 生成历史计划回放回测;--backtest-step 设为大于 1 可以加快速度 |
--input、--offline | 使用本地真实行情文件,并且不联网(见 5.2) |
本地文件是一个 JSON 数组,每个元素是一根日 K 线:
[{"day": "2026-10-14", "open": 1270.1, "high": 1286.75, "low": 1266.0, "close": 1286.0, "volume": 2377273}]
uv run --directory kline-structure-chart python scripts/analyze_and_forecast.py --market CN --symbol 600519.SH --name 贵州茅台 --input /path/to/bars.json --offline --output-dir artifacts/local
对文件的要求和行为:
PARTIAL,风控会否决做多确认。只知道名称或拼音时,先查代码(数据源为腾讯证券搜索接口):
uv run --directory kline-structure-chart python scripts/resolve_symbol.py 茅台
status 为 RESOLVED,并给出可直接运行的分析命令;匹配到多个(如"腾讯"、"000001")时为 AMBIGUOUS,列出候选;找不到时以 [INVALID_ARGUMENT] 退出。--market HK、--asset-type index 缩小范围。北交所股票目前搜不到,请直接用 .BJ 代码。环境有问题时运行 scripts/doctor.py(见 3.5 节),加 --offline 可跳过数据源连通检查。
| 文件 | 内容 |
|---|---|
*_report.md | 中文分析报告,依次为:数据说明、风控否决、结论、大盘、结构与条件推演、风控计划、形态证据、未来正常波动范围、回测、文件路径、免责声明。数字全部取自 *_result.json |
*_result.json | v6 稳定契约(通过 assets/analysis.schema.json 全量校验) |
*_chart_data.json | K 线序列、回放快照等渲染数据;不是稳定接口 |
*_preview.png | 1920×1160 结构推演图;数据有问题时带红色告警和水印 |
*_dashboard.html | 离线交互看板:8 个图层开关、悬停查看数值、相对强弱视图、历史回放滑块、导出 PNG |
*_backtest.json | 历史计划回放回测与无前视审计(传 --backtest 时生成) |
命令行的标准输出是一个 JSON 信封,失败时退出码区分错误类型:
| 退出码 | 标准输出 | 含义 |
|---|---|---|
| 0 | {"status": "ok", "schema_version", "verdict", "quality", "files"} | 成功;files 是相对 --output-dir 的产物文件名 |
| 1 | {"status": "error", "error": {"code": "INTERNAL_ERROR", "message"}}(契约自检失败,不写任何产物);其他未预期异常无信封,stderr 为 Python traceback | 技能内部错误,不是参数或行情问题:告诉用户是技能出错,不要改参数重试 |
| 2 | {"status": "error", "error": {"code": "INVALID_ARGUMENT", "message"}} | 代码或参数有误(argparse 自身的参数错误也是 2,但不输出 JSON) |
| 3 | 同上,code = DATA_UNAVAILABLE | 真实行情取不到 |
| 4 | 同上,code = INSUFFICIENT_HISTORY | 已收盘K线不足:上市太短、--as-of 太早,或数据源本次只返回了部分历史(可稍后重试) |
stderr 同时打印 [CODE] message。
每个字段的含义、单位、能否为空和稳定级别见 references/output-fields.md(6.x 内只新增字段,不删除、不改名、不改语义)。完整产物示例见 examples/。
| 层级 | 核心产出 | 统计口径与对外表述规范 |
|---|---|---|
| 确定性数学结构层 | 轨道拟合形态、主+备选 ABC 浪型、推动 5 浪、8 类标准情景(选 2 | 规则分是确定性条件加权分(均值回归体制下按反转规则调整),严禁称为胜率或上涨概率;Volume Profile 是 OHLCV 成交分布近似,不等于真实持仓筹码;情景只写"触发条件 → 目标位 → 失效条件",不附概率 |
| 风控与正常波动范围层 | 入场区、止损、TP1/TP2、移动保本、仓位、持仓防守、港美股做空计划,以及以最新收盘为中心的 15 日正常波动范围(50%、80%) | 区间只描述波动幅度、不含方向;必须同时给出样本外覆盖率与独立样本数;风控否决时入场区称"观察区" |
每次分析会根据当前截面的轨道位置、量能、RSI 与波段结构,从以下 8 类标准情景中动态筛选出 2~5 个适用情景(当触发位距最新收盘价不足 0.5×ATR 时自动归入**「已在进行中」**):
TREND_CONTINUATION(趋势延续):沿上升通道或推动第 3/5 浪顺势推进;BREAKOUT_RETEST(突破回踩):放量站上上轨/颈线/前高后回踩确认;FALSE_BREAKOUT_REVERSAL(假突破回落):冲高刺破上轨或前高后缺量跌回轨道内;RANGE_OSCILLATION(区间震荡):位于轨道内部且距上下边界均超过 1.0×ATR;BREAKDOWN_DECLINE(破位下行):收盘跌破下轨、颈线或前低支撑;C_WAVE_REVERSAL(C 浪末端反转):ABC 调整浪中 C/A 接近 1.0 倍且出现背离或企稳;OVERSOLD_BOUNCE(超跌反弹):RSI14 < 30 或收盘偏离 MA20 超过 2.0×ATR;APEX_BREAKOUT(收敛末端变盘):收敛三角形/楔形距顶点剩余 0~10 根 K 线以内且未过期。# 对 Agent 最终输出的自然语言回复执行契约守门校验(拦截捏造价格、违规概率术语、漏报否决/免责声明)
uv run --directory kline-structure-chart python scripts/lint_response.py --result examples/600519.SH/600519.SH_result.json --response examples/600519.SH/reply.md
quality.status):
OK:可以正常解读。PARTIAL:有告警,比如缺少大盘基准,请先读告警。UNAVAILABLE:结果不可用。| 现象 | 原因与处理 |
|---|---|
[DATA_UNAVAILABLE] ... 网络已禁用(--offline) | 去掉 --offline,或者配合 --input 使用本地文件 |
[DATA_UNAVAILABLE] ... HTTPError 429 / timed out | 行情接口限流或网络不通,稍后重试 |
[DATA_UNAVAILABLE] ... Cannot derive ... symbol | 代码格式不对,按第 1 节的格式补全后缀 |
[INVALID_ARGUMENT] Cannot resolve market | 代码没有后缀,加上 .SH / .SZ / .HK / .US 或传 --market |
[INVALID_ARGUMENT] Ambiguous symbol '000001' | 需要明确是 000001.SH(上证指数)还是 000001.SZ(平安银行) |
[INVALID_ARGUMENT] --days must be between 60 and 500 | --days 超出范围;--horizon-bars 同理(1~60) |
[INSUFFICIENT_HISTORY] ...(退出码 4) | 已收盘K线不足:上市时间太短、--as-of 太早,或数据源本次只返回了部分历史(可稍后重试) |
no CJK font found | 没有中文字体,运行 scripts/doctor.py 查看对应发行版的安装命令 |
uv: command not found | 安装 uv:https://docs.astral.sh/uv/,或重新执行安装脚本并加 --install-uv;不想装 uv 时按 3.4「不用 uv 的手动安装」建 .venv,再把命令里的 uv run python 换成 .venv/bin/python |
新会话里看不到 kline-structure-chart | 运行 scripts/doctor.py 检查技能软链;确认注册到了正在使用的 agent 的目录(第 3.1 节表格),然后新开会话 |
| 安装时提示"已存在且不是 Git 仓库" | --dir 指向的目录里已有别的文件,换一个目录或先手动清理 |
resolve_symbol.py 以 [DATA_UNAVAILABLE] 退出 | 腾讯证券搜索接口不可用,直接提供带后缀的完整代码 |
| 报告提示"数据只到某日:最近已收盘的交易日……尚未提供" | 数据源收盘后入库有延迟,或该标的停牌;稍后重跑 |
| 报告提示"港股每手股数未能获取" | 腾讯快照暂时不可用,股数按 100 股/手假设计算,下单前请向券商核对 |
Q:能告诉我上涨概率吗? 不能。规则分(0~100)是技术条件的加权打分,不是概率;未来正常波动范围只描述波动幅度,不含方向。本技能不输出任何概率、胜率或频率数字,唯一例外是回测成交胜率(附 Wilson 95% 区间与样本量),它只是这套规则在该标的上已发生成交的统计,不是未来上涨概率。
Q:数据从哪里来,会不会用假数据?
新浪、Yahoo、腾讯的公开行情接口。取不到就以 [DATA_UNAVAILABLE] 退出,绝不估算或生成数据;离线测试使用录制下来的真实行情。
Q:会把我的数据或问题发给第三方吗? 脚本只向行情接口请求标的代码对应的公开行情,不上传账户净值等任何个人信息。
Q:怎么更新?会不会覆盖我的修改?
重新执行安装命令即可,代码目录用 git pull --ff-only 更新;如果你在代码目录里改过文件导致无法快进合并,脚本会报错停止,不会覆盖。
Q:可以只给某个项目安装吗?
可以,加 --project <项目目录>,技能会注册到该项目的 .claude/skills 或 .agents/skills。
Q:能分析北交所股票、港股 ETF 吗?
可以。北交所需要直接给 .BJ 代码(名称搜索不到);常见港交所 ETF/ETP 代码段(如 02800.HK、03033.HK)会自动识别为 etf 并免除印花税。
Q:能做空吗?
本技能不替你交易。港股、美股可以融券卖空但有严格限制,A 股融券受限更多,规则见 references/ 下的三个市场手册。
[DATA_UNAVAILABLE] 报错,不会给出错误数据。install.ps1 与整体流程都还没有在 Windows 上实测。创建软链需要开发者模式或管理员权限,失败时脚本会自动改为复制;已加入微软雅黑字体路径。uv run --directory kline-structure-chart pytest -v
uv run --directory kline-structure-chart python tests/check_days_invariance.py --data tests/fixtures/recorded/sina_daily --step 40
HOME="$(mktemp -d)" bash install.sh --source "$(pwd)" --agents claude,codex
--only quotes、--only search 这类参数只录某一类:uv run --directory kline-structure-chart python tests/record_fixtures.py
本技能输出的所有内容都是基于历史行情的规则化技术分析,仅供研究与学习参考,不构成任何投资建议。市场有风险,决策需独立判断。