mcpbeat

A Share Analyst

staruhub/a-share-analyst

A股分析研究助手,提供行情数据获取与技术面/基本面分析框架(仅供研究参考,不构成投资建议)。适用于:(1) 获取A股行情和历史数据,(2) 技术面分析(K线形态、MACD、KDJ、RSI、布林带等),(3) 基本面分析(财务指标、估值分析),(4) 板块热点追踪,(5) 选股策略筛选与量化因子分析,(6) 生成股市分析报告。当用户询问"帮我分析股票"、"今日选股"、"A股行情分析"、"技术分析"、"量化选股"时触发。不用于:预测明日涨跌或给出确定性买卖指令、代客决策、港股美股(数据源不同)、加密货币。

15k tokens
context cost
the whole folder, loaded on every use
10
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
658
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/staruhub/ClaudeSkills --skill a-share-analyst

The instruction itself

5 sections, as written by the author

A股分析师 Skill

专业的A股市场分析工具,整合多数据源,提供技术面、基本面综合分析和智能选股策略。

数据获取

使用AKShare作为主要数据源(免费、开源、无需token):

pip install akshare --break-system-packages

核心数据获取示例

import akshare as ak

# 实时行情
df = ak.stock_zh_a_spot_em()  # 全部A股实时行情

# 历史K线
df = ak.stock_zh_a_hist(symbol="000001", period="daily", adjust="qfq")

# 板块行情
df = ak.stock_board_concept_name_em()  # 概念板块
df = ak.stock_board_industry_name_em()  # 行业板块

# 龙虎榜(日期用实际查询区间,格式 YYYYMMDD)
df = ak.stock_lhb_detail_em(start_date="<起始日>", end_date="<结束日>")

# 资金流向
df = ak.stock_individual_fund_flow(stock="000001", market="sz")

分析工作流程

1. 每日盘前分析

执行顺序:

  • 获取大盘指数(上证、深证、创业板)
  • 分析板块热点轮动
  • 筛选涨停股及连板股
  • 检测北向资金流向
  • 生成今日关注清单

2. 技术面分析

对单只股票执行:

  • 获取历史K线数据(至少60日)
  • 计算技术指标(见 references/technical_indicators.md
  • 识别K线形态(见 references/candlestick_patterns.md
  • 判断趋势和支撑/阻力位
  • 生成技术面评分

3. 基本面分析

执行顺序:

  • 获取财务数据(营收、净利润、ROE等)
  • 计算估值指标(PE、PB、PS)
  • 分析行业地位和竞争优势
  • 评估成长性和安全边际
  • 生成基本面评分

4. 智能选股策略

策略类型选择:

  • 多因子综合策略 → 执行 scripts/strategy_multi_factor.py(已实现,内置 ST/停牌过滤)
  • 趋势突破 / 价值低估 / 动量因子等单因子策略 → 目前无独立脚本,在 multi_factor 基础上调整因子权重,或按需自行实现

输出格式

个股分析报告模板

# [股票名称]([股票代码]) 分析报告

## 基本信息
- 当前价格:¥XX.XX(涨跌幅 +X.XX%)
- 市值:XXX亿  |  PE(TTM):XX.X  |  PB:X.XX

## 技术面分析
- 趋势判断:[上升/震荡/下降]
- 支撑位:¥XX.XX  |  阻力位:¥XX.XX
- 技术指标:MACD [金叉/死叉]  |  KDJ [超买/超卖/中性]  |  RSI [XX]

## 基本面分析
- 营收增速:XX%  |  净利润增速:XX%
- ROE:XX%  |  毛利率:XX%

## 综合评分
- 技术面:⭐⭐⭐⭐☆ (4/5)
- 基本面:⭐⭐⭐☆☆ (3/5)

## 操作建议
[具体建议及风险提示]

每日选股清单模板

# 每日选股清单 [日期]

## 市场概览
- 上证指数:XXXX.XX(+X.XX%)
- 深证成指:XXXXX.XX(+X.XX%)
- 创业板指:XXXX.XX(+X.XX%)

## 热点板块 TOP5
1. [板块名称] +X.XX%
2. ...

## 精选个股

### 趋势突破型
| 代码 | 名称 | 现价 | 涨幅 | 突破形态 | 评分 |
|------|------|------|------|----------|------|
| ... | ... | ... | ... | ... | ... |

### 价值低估型
| 代码 | 名称 | 现价 | PE | PB | 评分 |
|------|------|------|-----|-----|------|
| ... | ... | ... | ... | ... | ... |

## 风险提示
投资有风险,以上分析仅供参考,不构成投资建议。

关键脚本

  • scripts/fetch_market_data.py - 市场数据获取
  • scripts/technical_analysis.py - 技术指标计算(输出中性强弱描述,非买卖评级)
  • scripts/strategy_multi_factor.py - 多因子选股(含 ST/停牌过滤)
  • scripts/generate_report.py - 报告生成(需在 scripts/ 目录内运行,依赖 technical_analysis)

参考文档

  • references/technical_indicators.md - 技术指标计算公式
  • references/candlestick_patterns.md - K线形态识别
  • references/fundamental_metrics.md - 基本面指标说明
  • references/factor_library.md - 量化因子库

验收标准(每份分析交付前自查)

  • [ ] 报告末尾含"仅供参考,不构成投资建议"声明(模板已内置,不许删)
  • [ ] 数据来自本次运行的 akshare 调用,标注数据时间戳与延迟(可能有15分钟延迟)
  • [ ] 技术面/基本面结论与展示的指标数据一一对应,没有无数据支撑的判断
  • [ ] 给出的是"分析+风险"而非"买卖指令":无"满仓""抄底""必涨"类表述
  • [ ] 新策略未经历史回测时明确标注"未回测"

不做什么

  • 不预测明日涨跌,不给确定性买卖点位
  • 不代替用户决策,不推荐仓位以外的杠杆操作(模板建议:单只 ≤20%)
  • 不分析港股/美股/加密货币(数据源与规则不同)
  • 用户情绪化追问"到底买不买"时,重申边界并给风险清单,不给指令

已知陷阱

| 陷阱 | 具体表现 | 应对 |

|------|---------|------|

| akshare 接口变动 | 库更新后函数名/字段变了,脚本报错 | 报错时先查 akshare 当前版本文档,不硬猜字段 |

| 延迟数据当实时 | 用 15 分钟前的价格谈"当前" | 报告标注数据获取时间 |

| 指标堆砌无结论 | MACD/KDJ/RSI 全列一遍但互相矛盾不解释 | 指标冲突时明确说"信号分歧"及其含义 |

| 幸存者偏差选股 | 用当前成分股回测历史策略 | 回测结论标注该局限 |

| 节假日/停牌数据 | 停牌股票数据缺失导致计算错误 | 计算前过滤停牌与 ST 异常状态 |

evals/routing-evals.json — 触发边界回归用例,改 description 后用仓库根 scripts/run_routing_evals.py 校验。

How to use it

Copy the folder

Take staruhub/a-share-analyst from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference pip. Without those the skill loads but fails at the first command.