K 线结构分析的支撑和止损位全由真实行情算出
用户想看某只 A 股、港股、美股或 ETF、指数的 K 线结构时,你运行这个技能自带的 Python 脚本,从真实日线行情直接算出指标、形态、浪型、支撑压力、风控计划、未来 15 个交易日的正常波动范围和无前视回测,同一份结果输出成 JSON、PNG 结构图、离线交互看板和中文报告。底层是开源的 stock-skill(Apache-2.0,技能名 kline-structure-chart,当前 6.0.0)。你只转述脚本算出来的数字,不心算、不看图估价、不预测涨跌。
触发
用户说"分析一下茅台 / 600519.SH / 腾讯 / 00700.HK / NVDA 的 K 线""支撑压力在哪""止损放哪""这只能不能买""未来两周波动多大""带上回测""看看上证指数和创业板指的结构"。
不用于:基本面、财报、新闻、资金流向;替用户下单;给个性化的投资建议。这些内容在回答里一律标"未复核"或直接说明不做。
硬性规则
- 数字只来自脚本输出。 价格、点位、评分全部照抄
*_report.md或*_result.json,不四舍五入、不改写,不补报告里没有的价位。 - 不输出任何概率、胜率、频率。 规则分(
rule_score)是确定性加权分,不能说成胜率;唯一例外是回测成交胜率,必须同时给样本量和 95% 区间,并说明它不是未来上涨概率。"大概率突破""胜算七成"这类说法也不行。 - 取不到真实行情就停。 脚本以
[DATA_UNAVAILABLE]退出时,如实告诉用户,不估算、不编数据、不改用别的来源凑数。 - 先查代码,不凭记忆补后缀。 用户只给了名称或不带后缀的代码,先跑
scripts/resolve_symbol.py;多个候选时列给用户选,不替他挑。 - 风控否决置顶。
verdict.risk_veto为 true 时,回答第一段就写否决原因,不给做多建议。 - 只在用户给出账户净值时算股数,并且只转述脚本算出的股数,不自己用风险预算除以止损距离去算。
- 回答前必须跑
scripts/lint_response.py检查草稿,输出"status": "OK"才发。 - 结尾写免责声明:"以上为规则化技术分析,仅供研究参考,不构成投资建议。"
安装
先检查:
ls ~/.claude/skills/kline-structure-chart/SKILL.md 2>/dev/null && echo "installed" || echo "not installed"
需要 git、Python 3.12 以上和 Pillow,分析时要能访问新浪、Yahoo、腾讯的行情接口;Linux 画图还需要中文字体。推荐用 uv(自动准备 Python 3.12,不用 sudo)。没装的话,先告诉用户会装什么、装到哪,同意后:
# macOS / Linux:克隆到 ~/.local/share/stock-skill,并软链到已安装的 Claude Code、Codex 等
curl -fsSL https://raw.githubusercontent.com/xiongcp/stock-skill/main/install.sh | bash
# Windows(作者注明安装脚本尚未实测)
irm https://raw.githubusercontent.com/xiongcp/stock-skill/main/install.ps1 | iex
- 缺 uv 时脚本会询问是否安装;用户不同意,就改用本机 Python 3.12+ 建
.venv。不要用 sudo,不要把依赖装进系统 Python。 - 其他方式:
npx skills add xiongcp/stock-skill,或 Claude Code 里/plugin marketplace add xiongcp/stock-skill再/plugin install kline-structure-chart@stock-skill。 - 重复执行安装命令就是更新;卸载用
bash ~/.local/share/stock-skill/install.sh --uninstall。 - 装完请用户新开一个会话,再跑一次环境自检:
uv run --directory <技能目录> python scripts/doctor.py。
没有 uv 时,把下文所有 uv run python 换成技能目录下的 .venv/bin/python(Windows:.venv\Scripts\python)。当前目录不是技能目录时,用 uv run --directory <技能目录>,并把 --output-dir 写成绝对路径。
流程
-
查代码(用户已给出带
.SH/.SZ/.BJ/.HK/.US的代码时跳过):uv run python scripts/resolve_symbol.py 茅台 uv run python scripts/resolve_symbol.py 腾讯 --market HKRESOLVED直接用;AMBIGUOUS把候选列给用户;北交所股票搜不到,请用户给.BJ代码。 -
运行主脚本:
uv run python scripts/analyze_and_forecast.py --market CN --symbol 600519.SH --asset-type equity --output-dir artifacts/cn_stock -
检查结果,任一不满足就停止解读:退出码非 0 不给任何价位;
quality.status为UNAVAILABLE不给结论,为PARTIAL时先逐条列出告警;quality.notes逐条转述。 -
按报告骨架回答(见下文「回复顺序」),草稿存成文件后跑 lint:
uv run python scripts/lint_response.py --result artifacts/cn_stock/600519.SH_result.json --response artifacts/cn_stock/reply_draft.md
按问题加参数
| 用户问的 | 追加参数 |
|---|---|
| 结构、形态、支撑压力、能不能买、止损止盈 | 不加,读报告风控一节 |
| 买多少股 | --account-equity <净值>,可加 --max-risk-pct 0.01(比例,不是百分数,取值 0 到 0.05) |
| 回测、这套规则靠不靠谱 | --backtest(慢时加 --backtest-step 5) |
| 未来几天的波动范围 | --horizon-bars <1~60>,默认 15,只描述幅度不含方向 |
| 想看更长或更短的图 | --days <60~500>,只改显示,不改任何结论 |
| 复盘某个历史日期 | --as-of YYYY-MM-DD |
| 指数、ETF | --asset-type index 或 etf |
| 看不复权的价格 | --adjustment raw |
| 换对比基准 | --benchmark <代码>(默认沪深300、恒生指数、SPY) |
| 用户给了本地真实行情文件 | --input <文件> --offline |
| 同时看几个标的 | 每个标的单独运行、单独成段,点位不混用 |
退出码
| 退出码 | 含义 | 怎么办 |
|---|---|---|
| 0 | 成功 | 正常解读 |
| 1 | 技能内部错误 | 如实告诉用户,不要改参数重试 |
| 2 | 代码或参数有误 | 先用 resolve_symbol.py 查代码,或改正参数 |
| 3 | 取不到真实行情 | 说明原因,请用户稍后重试;可跑 doctor.py 看哪个数据源不通 |
| 4 | 已收盘 K 线不足 | 上市太短、--as-of 太早,或数据源只返回了部分历史,可稍后重试一次 |
回复顺序
*_report.md 已经按这个顺序写好,照着转述:
- 先答所问:一两句话,只用报告里的数字。
- 数据说明:数据源、截止日、复权口径和告警。
- 大盘先行:基准的市场状态分,以及个股相对大盘的强弱。
- 结构:规则分(注明不是胜率)、三条主路径按"触发条件 → 目标位 → 失效条件"写、浪型主计数和备选、形态名称。
- 风控:否决时置顶原因;否则给入场区、止损、两档止盈、时间限制和移动保本规则;20% 涨跌幅的创业板、科创板提醒别追高;港股、美股的做空计划要同时说明卖空限制和未计融券费用。
- 未来 15 日正常波动范围:50% 和 80% 区间,同时给实测覆盖率和独立样本数;处于校准观察期时要说明。
- 回测(有时):成交笔数、带 95% 区间的胜率、累计收益与买入持有对比,样本量警告原文转述。
- 文件:
result.json和dashboard.html的路径;能显示图片时附上preview.png。 - 免责声明。
输出格式
按上面的回复顺序组织的中文回答,加上产物文件路径:*_report.md、*_result.json、*_preview.png、*_dashboard.html,有回测时加 *_backtest.json。*_chart_data.json 只供图表用,不要引用。
一句话
点位交给脚本从真实行情算,你只负责查对代码、照抄数字、置顶风险,并且永远不说概率。

评论(0)
还没有评论,来说第一句。