| name | a-stock-analyst |
| description | A股七阶段量化选股技能。给定股票代码(ts_code),直接调用 scripts/analyzer.py 执行完整评分流程并输出结构化报告,无需 Agent 当场写代码。七个阶段:Stage 0 风险预警 → Stage 1 板块热度 → Stage 2 估值五轨道 → Stage 3 趋势方向 → Stage 4 技术指标(MACD/KDJ/BOLL/ENE)→ Stage 5 量价形态 → Stage 6 多周期共振 → Stage 7 综合评分与操作建议。Stage 0 触发风险预警时不淡汰标的,但评分会乘以惩罚系数(最低保留×0.4)。数据源为 Tushare Pro API,支持 SQLite 本地缓存。当用户提到选股分析、A股分析、股票打分、持仓评估、买入时机、卖出信号、量价分析、估值通道、板块热度、多周期共振、帮我看看这只股票时使用。 |
| license | MIT |
| metadata | {"author":"ljguo","version":"2.0","requires":"pip install tushare pandas numpy"} |
A股量化选股分析技能
When to Use This Skill
用户要分析 A 股个股或批量筛选标的时调用本技能,包括:
- "帮我看看 000001.SZ 现在能买吗"
- "我持有 600036,现在该持有还是卖出"
- "从这几只股票里选出评分最高的"
- "分析一下这只股票的趋势和技术指标"
不需要当场写代码——直接调用 scripts/analyzer.py 即可。
Instructions
第一步:确认 Tushare Token
按以下优先级依次检查,找到即可,无需再问用户:
- memory:搜索是否存有
tushare_token 相关记录
- 环境变量:
echo $TUSHARE_TOKEN 有输出则直接使用
- 本次对话:用户主动粘贴了 Token
三处都没有 → 引导用户获取:
需要一个 Tushare Pro Token 来拉取 A 股数据。
注册地址:https://tushare.pro/register(免费,约 2 分钟完成)
注册后进入「个人中心」→「接口 Token」,复制后发给我。
用户提供 Token 后立即用 memory_update 保存,下次无需再问。
详细配置步骤、积分说明、常见报错,见 references/tushare-setup.md(按需阅读)。
第二步:安装依赖(仅首次)
pip install tushare pandas numpy -q
第三步:运行分析
单股分析:
python scripts/analyzer.py --token <TOKEN> --code 000001.SZ
批量选股:
python scripts/analyzer.py --token <TOKEN> --codes 000001.SZ 600036.SH 300750.SZ
从文件读取(每行一个代码):
python scripts/analyzer.py --token <TOKEN> --file my_watchlist.txt
启用本地 SQLite 缓存(省 Tushare 积分,强烈推荐):
python scripts/analyzer.py --token <TOKEN> --code 000001.SZ --cache stock.db
输出 JSON(供程序处理):
python scripts/analyzer.py --token <TOKEN> --code 000001.SZ --json
使用环境变量避免 Token 明文:
export TUSHARE_TOKEN=your_token_here
python scripts/analyzer.py --code 000001.SZ --cache stock.db
第四步:解读输出
脚本输出一份文本报告,每个阶段附带评分和说明,最后给出:
- 综合得分
0~100%
- 操作建议
✅ 买入/加仓 / ⏸ 持有观望 / ❌ 减仓/卖出
- 持仓策略 对应当前趋势类型的具体操作建议
批量运行时末尾自动输出买入候选排行榜。
评分体系速查
| 阶段 | 权重 | 说明 | 处理方式 |
|---|
| Stage 0 风险预警 | — | 近60日内单日换手率>30% / 下行趋势 / 高估 | ⚠️ 预警+打折(不淡汰) |
| Stage 1 板块热度 | 20% | 近 90 日炒作次数,3次以上淘汰 | |
| Stage 2 估值通道 | 15% | PE 五轨道,10年/3年/1年加权 | |
| Stage 3 趋势方向 | 25% | MA5/20/60 五档分级,下行趋势淘汰 | ✅ 是 |
| Stage 4 技术指标 | 20% | MACD(50%) + KDJ(17%) + BOLL(17%) + ENE(17%) | |
| Stage 5 量价形态 | 20% | 阳包阴/缩量调整/高点缩量等 7 种形态 | |
| Stage 6 多周期共振 | 乘数 | 月/周/日三周期方向,系数 0.7 / 1.0 / 1.3 | |
各阶段原始分范围 [-2, +2],归一化后加权求和,最终乘以共振系数。
常见问题
PE 为负 / 极端值:已在 fetch_data.py 自动过滤,PE ≤ 0 的历史点位会被剔除,极值用中位数×10封顶。
分钟线功能:当前版本不依赖分钟线(需较高 Tushare 积分),日线已足够完成七阶段分析。
板块评分为中性 0:默认无板块指数数据时给 0 分(中性),不影响其他阶段的评分。如需精确板块评分,在调用 analyze() 前手动传入板块指数 DataFrame。
停牌股:fetch_data.py 自动过滤成交量为 0 的日期,不影响计算。
在 Agent 内调用(Python API 方式)
如需在 Agent 内部集成,也可直接 import:
import sys
sys.path.insert(0, "scripts/")
from fetch_data import StockDataFetcher
from analyzer import analyze, format_report
fetcher = StockDataFetcher(token="YOUR_TOKEN", cache_db="stock.db")
result = analyze("000001.SZ", fetcher)
print(format_report(result))
Examples
用户说:帮我分析一下 600519.SH 茅台,现在能加仓吗?
Agent 执行:
python scripts/analyzer.py --token $TUSHARE_TOKEN --code 600519.SH --cache stock.db
然后将报告文本直接呈现给用户,重点解读「操作建议」和「持仓策略」。
用户说:我有一个自选股列表,帮我全部跑一遍选出值得买的。
Agent 执行:先把股票代码写入临时文件,再批量运行:
echo -e "000001.SZ\n600036.SH\n300750.SZ\n601318.SH" > /tmp/watchlist.txt
python scripts/analyzer.py --token $TUSHARE_TOKEN --file /tmp/watchlist.txt --cache stock.db
输出末尾的买入候选排行直接告知用户。