一套面向 A 股市场的多维度量化分析框架,基于 Tushare 数据接口,覆盖 基本面、技术面、资金面、消息面 四大维度,对个股进行量化评分、走势预测,并生成可交互的 HTML 可视化报告。
同时作为 Claude Code Skill 运行,在对话中说 "分析一下 600519" 即可触发完整分析流程。
- 25+ 数据源:整合 Tushare 25+ API 接口,从财务指标到筹码分布全覆盖
- 四维分析引擎:基本面(40%) + 技术面(35%) + 资金面(25%) + 消息面情绪
- 未来一周预测:多因子信号聚合 + ATR 目标区间 + 风险收益比
- AI 智能摘要:火山引擎豆包 LLM 生成专业分析文本,支持本地模式降级
- 信号族群聚合:30+ 技术信号归入 5 大族群,避免相关信号重复计数
- 多时间框架确认:日线 + 周线共振验证
- 背离检测:RSI/MACD 顶底背离自动识别
- 社区情绪分析:东财股吧 + 雪球评论自动采集与多空情绪判定
- Playwright 反爬:浏览器自动化绕过阿里云 WAF,稳定采集社区数据
- 响应式 HTML 报告:桌面/平板/手机自适应,A 股红涨绿跌配色
- Python 3.10+
- curl(系统自带)
- Tushare 账号(需 2000+ 积分,部分高级接口需 5000-6000 积分)
# Playwright(消息面情绪采集需要)
pip install playwright
playwright install chromium无需安装 tushare Python 包,本项目直接通过 curl 调用 Tushare HTTP API。
# 步骤一:数据采集 + 多维分析(生成 JSON)
python scripts/stock_analyzer.py --code 600519 --output ./data
# 步骤二:生成 HTML 可视化报告
python scripts/generate_report.py --code 600519.SH --data-dir ./data --output ./report.html
# 一键脚本
scripts/analyze_stock.sh 600519| 参数 | 说明 | 默认值 |
|---|---|---|
--code |
股票代码(如 600519、002471、300548) | 必填 |
--output |
输出目录 | ./data |
--no-ai |
禁用 AI 摘要,使用本地 HTML 格式化摘要 | 默认启用 AI |
| 子维度 | 核心指标 | 关键阈值 |
|---|---|---|
| 盈利能力 | ROE_加权、ROA、净利率、毛利率、EPS | ROE > 15% 优秀 |
| 成长能力 | 营收同比、净利同比、历年增速趋势 | 营收 > 15% 成长型 |
| 估值水平 | PE_TTM、PB、PS_TTM、股息率、PEG | PEG < 1 成长低估 |
| 偿债能力 | 流动比率、速动比率、资产负债率 | 流动 > 2 稳健 |
| 现金流质量 | 每股经营现金流 vs EPS | OCF > EPS 利润质量高 |
| 运营效率 | 总资产周转率、存货周转率 | 周转 > 1 高效 |
| 业绩预告 | 预告类型、变动幅度 | 预增/略增看多 |
| 主营业务构成 | 收入占比分布 | 主业集中度 |
| 券商盈利预测 | 一致预期评级 | 买入/增持看多 |
| 资产负债增强 | 商誉占比、应收账款周转 | 商誉 > 20% 预警 |
趋势系统:均线排列(MA5/10/20/60)、金叉死叉、线性趋势斜率
动量系统:MACD(金叉/死叉/零轴位置)、RSI(6)(超买超卖)、KDJ(金叉/死叉/极值)、BOLL(上下轨压力支撑)、CCI(±100/±200 极值)
量能系统:量比(最新量 / 20 日均量)、量价配合度、OBV 能量潮
波动性:ATR(14) 日均真实波幅、支撑/阻力位识别
背离检测:价格新高/新低 + RSI/MACD 指标背离 → 强反转信号
信号族群聚合:将 30+ 信号归入 5 个独立族群(趋势/动量/量能/波动/资金),同族群仅取最强信号,避免重复计数
周线多时间框架:周线 MA 排列 + 周线 MACD 共振确认
筹码分布:获利盘比例、平均成本、集中度 | 神奇九转:上/下九转计数及触发
| 子维度 | 核心指标 | 信号含义 |
|---|---|---|
| 主力资金 | 大单+特大单 5 日净流入 | > 1000 万看多 |
| 融资融券 | 融资余额变化趋势 | 持续上升 → 杠杆多头 |
| 股东结构 | 前十大持仓比、户数变化 | 户数减少 → 筹码集中 |
| 大宗交易 | 近月折溢价率均值 | 折价 > 5% 出货压力 |
| 股东增减持 | 近期增减持方向和规模 | 净增持 → 看多 |
| 限售解禁 | 未来解禁规模及时间 | 大量解禁 → 短期压力 |
| 股权质押 | 质押比例及风险 | 质押 > 30% 关注平仓 |
| 北向资金 | 沪深股通持股变化 | 持续增持 → 外资看好 |
| 机构调研 | 近期调研频次 | 频繁调研 → 关注度高 |
| 数据源 | 采集方式 | 内容 |
|---|---|---|
| 宏观新闻 | 新浪财经 RSS | 财经头条、政策动态 |
| 行业新闻 | 新浪财经行业 RSS | 所属行业实时动态 |
| 公司公告 | 上交所/深交所 API | 公司信息披露 |
| 东财股吧 | Playwright 浏览器自动化 | 散户讨论帖(阅读/评论数) |
| 雪球评论 | Playwright 浏览器自动化 | 投资者讨论(点赞/回复数) |
情绪分析支持两种模式:
- AI 模式:调用豆包 API 对帖子进行语义级多空情绪判定
- 本地模式:基于正面/负面关键词词典的规则化情绪打分
雪球部署了阿里云 WAF,普通 HTTP 请求会被拦截。系统采用三级回退策略:
- Cookie API(最快):通过环境变量
XUEQIU_COOKIE传入浏览器 cookie - Playwright(默认):headed 模式 + 反检测参数,自动绕过 WAF
- RSSHub(备用):通过自建 RSSHub 实例获取 RSS
Bull_Score = Σ(技术信号强度 × 权重) + 资金面加成 + 基本面加成
信号权重:strong_bull=2.0, bull=1.5, weak_bull=0.8
weak_bear=-0.8, bear=-1.5, strong_bear=-2.0
上涨概率 = 25 + (raw_prob / 100) × 50 # 映射到 [25%, 75%]
base_move = ATR(14) × 1.5 # 一周预期波幅
偏多 (prob≥58%): target = [price - base×0.5, price + base×1.3]
偏空 (prob≤42%): target = [price - base×1.3, price + base×0.5]
震荡 (42~58%): target = [price - base×0.8, price + base×0.8]
约束: BOLL 上下轨 + 近期支撑阻力位
| ATR% | 风险等级 |
|---|---|
| > 4% | 高风险 |
| 2-4% | 中等风险 |
| < 2% | 低风险 |
| 分数区间 | 评级 | 含义 |
|---|---|---|
| 80-100 | ★★★★★ | 强烈看多 |
| 65-79 | ★★★★ | 偏多 |
| 50-64 | ★★★ | 中性偏多 |
| 35-49 | ★★ | 中性偏空 |
| 0-34 | ★ | 偏空 |
data/<股票代码>_analysis.json
包含完整的分析数据:stock_info、composite(综合评分)、fundamental(基本面)、technical(技术面含信号列表和背离检测)、capital(资金面)、news(消息面含情绪分析)、prediction(预测)、chart_data(图表数据)。
<输出路径>/<股票代码>_report.html
- 响应式布局(桌面双列 / 移动单列)
- A 股配色惯例(红涨绿跌)
- 5 张技术图表(价格+均线、成交量、MACD、RSI、KDJ)
- AI / 本地格式化分析摘要
- 催化剂与风险因素清单
a-stock-analyzer/
├── scripts/
│ ├── stock_analyzer.py # 核心分析引擎(数据采集 + 多维分析 + AI 摘要 + 消息面)
│ ├── generate_report.py # HTML 报告生成器(图表 + 响应式布局)
│ └── analyze_stock.sh # 一键分析 Shell 脚本
├── references/
│ └── analysis_framework.md # 分析方法论参考
├── SKILL.md # Claude Code Skill 配置
├── .gitignore
└── README.md
将本项目安装为 Claude Code Skill 后,在对话中即可直接触发分析:
分析一下 300548
看看贵州茅台怎么样
帮我分析 002471 的基本面和技术面
Claude 会自动调用分析引擎,生成完整报告并打开浏览器展示。
| 接口类型 | 所需积分 |
|---|---|
| 基础接口(daily, daily_basic, income 等) | 2000 |
| 技术因子(stk_factor) | 5000 |
| 筹码/九转(cyq_perf, stk_nineturn) | 6000 |
本工具仅供学习研究和投资参考,不构成任何投资建议。股市有风险,投资需谨慎。分析结果基于历史数据和量化模型,不保证未来收益。