Yuanfu

akshare-stock-analyzer

数据分析v1.1.0
作者:Yuanfu更新于 2026-05-11共 2 个版本 · 最新版本发布于 2026-03-23@clawhub_yuanfuc/akshare-stock-analyzer
数据洞察#Stock

据 AlphaMoat 统计,截至 2026-09,akshare-stock-analyzer 累计下载 1,201 次、获 1 个星标,在全部 5,078 个 AI 技能中排名第 4,936 位,在「数据分析」分类(399 个)中排名第 388 位。

累计安装
152
累计下载
1,201
星标
1
全站排名
#4,936
全站前 98% · 「数据分析」前 98%
平台累计安装累计下载星标评论
ClawHub ↗229361-
SkillHub ↗1521,2011—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

主文区分盘中行情快照和日线趋势分析:快照不运行指标分析脚本。日线流程计算均线、MACD、RSI 等指标,并输出趋势、涨跌幅、信号、评分和风险提示。分析基于短期技术数据,不包括基本面研究,也不构成投资建议。应核对证券代码与数据日期,不能将评分视为自动交易指令。 需要 Python 3.9 或更新版本、akshare 和 pandas;数据获取失败时应报告失败,不得编造结果。

资料发布于 2026-10-29

可以用来做什么

  • 查看指定 A 股或 ETF 的盘中行情快照
  • 按最近行情整理日线趋势和辅助技术指标
  • 阅读信号与评分,并结合数据源和指标限制作审慎解释

什么时候用

  • 用户明确请求分析 A 股或相关 ETF 的短期行情时
  • 已获得有效代码和行情,且说明这是技术参考而非投资建议时

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

用最新可用行情解释这只 A 股的短期趋势、周度与当日变化以及指标限制;将结论标注为技术参考,不给个性化买卖指令。

月度数据趋势

累计下载1,201
3398021,2652026-03 · 累计下载 4032026-05 · 累计下载 7162026-06 · 累计下载 8042026-07 · 累计下载 9442026-08 · 累计下载 9962026-09 · 累计下载 1,20126-0326-09
星标1
0122026-03 · 星标 12026-05 · 星标 12026-06 · 星标 12026-07 · 星标 12026-08 · 星标 12026-09 · 星标 126-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-091,201—1
2026-08996+5.5%1
2026-07944+17.4%1
2026-06804+12.3%1
2026-05716—1
2026-03403—1

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

9.1 KB · ClawHub v1.1.0
---
name: akshare-stock-analyzer
description: >
  使用本 skill 自带的 fetch.py 和 analyze.py,对 A 股个股做短期趋势分析。
  Use this skill whenever the user asks to analyze A-share stocks, ETFs (like A500/159339),
  check short-term trend (bullish/bearish/sideways), weekly and today change, signals (buy/sell/hold),
  or score stocks based on recent performance.
---

# Akshare Stock Analyzer Skill
展开全部(共 183 行)

Skill 名称(推荐对外叫法):
- 中文:Akshare A 股盘中 + 趋势分析助手
- 英文:Akshare-Stock-Analyzer

一个可单独开源、独立使用的“股票短期分析”技能,目录内自带完整脚本:
- 拉取行情 + 计算指标(scripts/fetch.py)
- 应用自定义周+当天规则生成趋势/信号/评分(scripts/analyze.py)
- 数据源封装(scripts/tx_provider.py 和 scripts/sina_provider.py)
- 获取单只股票当日最新行情快照(scripts/today.py)

## 何时使用(When to use)

在这些场景下,应该触发/使用本 skill:
- 用户说:分析某只 A 股/ETF 的近期走势、空头/多头趋势、风险情况
- 用户希望基于最近一周和当天的表现,判断:
  - `trend`(多头/空头/震荡)
  - `weekly_change_pct` / `today_change_pct`
  - `signal`(buy/sell/hold)
  - `score`(0~10 短期强弱评分)
- 用户提到:
  - “帮我看这只股票最近怎么样”
  - “这票现在是多头还是空头”
  - “最近一周跌这么多要不要走人”
  - “用之前那套策略分析一下 A500、招商银行、方大炭素”等

不适用的场景:
- 纯宏观新闻解读、公司基本面深度研究、不需要技术指标的长线判断
- 与 A 股无关的资产(例如美股、期货、加密货币),除非你另外扩展脚本

## 依赖脚本与环境(Existing workflow & environment)

本 skill 目录自带以下 Python 脚本(均在 scripts/ 子目录下):

- scripts/fetch.py
  - 提供 `fetch_with_indicators(symbol_or_name, start_date, end_date, adjust, prefer)`
  - 负责:
    - 通过新浪优先、腾讯兜底的方式拉取日线行情
    - 统一输出中文列:日期、开盘、收盘、最高、最低、成交量
    - 计算:MA7 / MA14 / MA20 / MA60、MACD(12,26,9) 的 DIF/DEA/MACD、RSI14

- scripts/analyze.py
  - 提供:
    - `analyze_single(ts_code: str, df: pd.DataFrame) -> AnalysisResult`
    - `AnalysisResult` 字段已在文件顶部详细注释,包括:
      - `trend` / `weekly_change_pct` / `today_change_pct`
      - `macd_*` / `rsi_*`
      - `signal` / `score`
      - 均线结构与扩展字段:`ma_pattern` / `ma_bias` / `ma_values` / `ma_spread`
      - 趋势强度与风险相关:`trend_strength` / `reversal_hint` / `risk_level`
    - 更完整的字段说明见:`scripts/analyze_result.md`,可作为下游解读/LLM 的 schema 参考。
  - 也提供命令行用法示例(可选):
    - `python scripts/strategy_analyzer.py 招商银行 --days 120`

- scripts/tx_provider.py / scripts/sina_provider.py

- scripts/today.py
  - 提供 `get_today_quote(symbol_or_name)`:
    - 使用 `ak.stock_zh_a_spot` 获取全市场实时行情,然后按代码或名称筛选单只股票;
    - 返回字段包含:最新价、涨跌幅、成交量、最高、最低;
  - 也支持 CLI:`python scripts/today.py <symbol>`,直接在终端输出今日行情快照(盘中)。

运行本 skill 需要外部环境已安装:
- Python 3.9+
- 第三方库:`akshare`、`pandas`

## 输入(Inputs)

从用户对话中,尽量提取这些信息:

- 必填:
  - 股票代码或名称,例如:
    - "招商银行"、"600036"、"方大炭素"、"159339"、"A500" 等
- 可选:
  - 时间范围:
    - 显式开始/结束日期:YYYYMMDD 或 YYYY-MM-DD
    - 或者“最近 N 天”:例如最近 60/120 个交易日
  - 复权方式:不复权 / 前复权 / 后复权("", "qfq", "hfq")
  - 数据源优先级:新浪("sina") 或 腾讯("tx")

缺省策略:
- 若用户未指定时间范围,默认用最近 120 个自然日对应的交易日数据。
- 若用户未指定数据源,默认优先新浪。
- 若用户未指定复权方式,默认不复权。

## 工作步骤(Workflow)

本 skill 分为两个典型使用场景,请不要混用:

- **今日盘中行情查看**:
  - 只关心“今天涨跌多少、量价情况如何”的盘中快照;
  - 直接调用 `scripts/today.py`:
    - 例如:`python scripts/today.py 方大炭素`
    - 内部仅使用 `ak.stock_zh_a_spot` 拉当前实时盘口,不经过 `fetch.py` / `analyze.py`;
  - 对输出的“最新价 / 涨跌幅 / 成交量 / 最高 / 最低”做简单解读即可。

- **日线趋势 / 策略分析**:
  - 需要结合最近一周 + 当天的日线数据,判断趋势、signal、score 等;
  - 才使用 `fetch.py` + `analyze.py` 这一整套日线分析流程(见下文步骤 1~5)。

当是“趋势 / 策略分析”场景时,按以下步骤工作:

1. **解析用户意图和参数**
   - 从自然语言中解析出:
     - `symbol_or_name`
     - 时间范围(`start_date`/`end_date` 或 `days`)
     - `prefer`(sina/tx)和 `adjust`("", "qfq", "hfq")
   - 若信息缺失,向用户简短追问(优先问股票代码/名称)。

2. **获取行情+指标数据**
   - 尽量以“导入模块 + 调用函数”的方式使用现有代码:
  - 从 `scripts/fetch.py` 导入 `fetch_with_indicators`。
     - 调用:
       - 显式日期:
         - `fetch_with_indicators(symbol_or_name, start_date, end_date, adjust, prefer)`
       - 仅天数:
         - 先根据当前日期计算 start/end 字符串,再调用上面的函数。
    - 如需快速验证,也可以使用 CLI 方式:
     - 在 skill 根目录下执行:
       - `python scripts/fetch.py <symbol> --days 120 --prefer sina --adjust ""`
   - 若数据拉取失败(网络错误、接口异常、代码错误),应:
     - 把错误信息简要反馈给用户
     - 不要编造分析结果

3. **调用策略分析引擎**
   - 优先方式:在 Python 环境中导入并直接调用:
  - `from scripts.analyze import analyze_single`
     - `res = analyze_single(ts_code=symbol_or_name, df=df_with_indicators)`
    - 或使用 CLI:
     - 在 skill 根目录下执行:
       - `python scripts/analyze.py <symbol> --days 120 --prefer sina --adjust ""`
   - 获取 `AnalysisResult`,可以通过:
     - `asdict(res)` 形式转换为普通字典,方便解读字段。
     - 字段含义与推荐用法详见 `scripts/analyze_result.md`,便于后续自动化/NL 解读。

4. **解释字段并生成自然语言结论**
   - 至少解释这些核心字段:
     - `trend`:当前是多头/空头/震荡趋势,简要说明依据(近期一周涨跌幅)。
     - `weekly_change_pct`:最近一周涨跌幅(%),说明“这一周整体是涨还是跌、多大幅度”。
     - `today_change_pct`:今天相对昨天的涨跌幅(%),说明“今天是大涨/小涨/小跌/大跌”。
     - `signal`:当前信号是 buy / sell / hold,并说明触发的逻辑大致是什么。
     - `score`:所在区间(例如 0~2 很弱、3~5 一般、6~8 偏强、9~10 很强)。
   - 如用户关心,也可以简要提及:
     - `macd_strength`, `macd_momentum`, `rsi_zone`, `rsi_trend` 等作为辅助参考;
     - 均线结构与趋势强度:`ma_pattern` / `ma_bias` / `ma_spread` / `trend_strength`;
     - 风险与拐点:`reversal_hint` / `risk_level`,用于说明是否存在顶部/底部预警或趋势过度发散等风险。
   - 若需要更系统、模板化的“交易员风格”解读,可在执行完 `analyze.py` 后,将 `asdict(res)` 结果连同 `scripts/analyze_result.md` 的字段说明,交给专门的解读模块(例如 `scripts/analyze_data.md` 中描述的规范)生成文本。

5. **输出格式**
   - 使用简洁的中文分点说明:
     - 一条描述当前趋势(多头/空头/震荡)
     - 一条描述周涨跌幅 + 今日涨跌幅
     - 一条说明 signal 和 score 的含义(例如“当前属明显空头,短期不建议参与”)
     - 一条风险提示:本分析基于技术指标和短期价格表现,不构成投资建议。

## 输出示例(示意)

> 趋势:空头(bearish)。最近一周累计下跌约 13.9%,整体处在明显下跌通道。
>
> 涨跌情况:今天相对昨天约 -2.5%,延续下跌,未见有效止跌信号。
>
> 信号与评分:signal = sell,score = 1(0~10 中偏底部区间,短期状态较差)。
>
> 结论:这只股票当前短期趋势偏弱,风险较高,不适合作为当前关注重点标的,如已持有可考虑减仓或观望处理。以上仅为技术面参考,不构成投资建议。

## 注意事项(Safety / Caveats)

- 所有结论仅基于技术指标和短期价格表现,不考虑公司基本面、消息面等因素。
- 在表述时避免使用“必然、肯定、保证”等绝对化措辞,使用“偏强/偏弱/倾向于”等表述。
- 明确提醒用户:
  - 本结论不构成投资建议。
  - 投资决策需结合自身风险承受能力和更多信息谨慎判断。

「数据分析」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。