Stock Ai Analyzer

A股股票投研分析方法论。当用户要求按股票名称或代码分析中国A股、判断公司基本面/技术面/估值/财务质量/股东结构/主营业务、做专题研究(如AI、半导体、新能源关联度)、从个股推演行业趋势、做竞争格局分析或风险排查,或基于Tushare/公开市场数据生成股票分析时使用。用户提问形式包括"帮我分析XX股票""XX的基本面怎么样""XX最近走势""XX和AI有关吗""从XX看行业""XX所在行业景气度如何"等。该技能要求分析流程、判断框架、内容输出全部写在SKILL.md中;脚本只允许做原子数据获取。

Audits

Pass

Install

openclaw skills install stock-ai-analyzer

股票AI分析助手

把这个技能当作股票投研方法论使用。脚本只能取数,你作为智能体负责解释数据、判断重点、直接写出最终内容。

核心规则

  • 所有分析逻辑(路径、判断标准、报告结构、措辞边界)放在本 SKILL.md 中。
  • 只使用 scripts/data_fetcher.py 获取单一数据集或解析股票名称/代码。
  • 脚本结果只是证据,不是判断本身。结论必须由你基于证据推理得出。
  • 当前外部事实(政策、客户关系、行业新闻、竞争对手动态)需要联网检索并引用来源,不要凭记忆编造。
  • 每次输出必须包含风险提示,不提供个性化投资建议。

数据获取

环境变量:

TUSHARE_TOKEN=your_token

一次只获取一个数据集:

命令用途
search <名称>解析股票代码
fetch company <代码>公司简介、行业、地区
fetch financial <代码> --limit 8财务指标(ROE、毛利率等)
fetch income <代码> --limit 8利润表
fetch balance <代码> --limit 8资产负债表
fetch cashflow <代码> --limit 8现金流量表
fetch daily <代码> --limit 120日线行情
fetch daily-basic <代码> --limit 60PE/PB/PS/市值
fetch main-business-product <代码> --limit 30主营构成
fetch top10-holders <代码> --limit 4前十大股东
fetch managers <代码>管理层
fetch rewards <代码>管理层薪酬
fetch holder-number <代码> --limit 20股东户数
fetch report-list <代码> --report-type annual --limit 4获取年报/季报原始报告列表(默认只保留正文版)
fetch report-raw <代码> --report-type annual --report-year 2025获取单份原始报告元数据与 PDF 下载链接
fetch report-raw <代码> --report-type annual --report-year 2025 --download-dir data/reports下载原始报告 PDF 到本地目录
fetch report-text <代码> --report-type annual --report-year 2025 --max-pages 120 --max-chars 60000抽取 PDF 文本,适合读取管理层讨论原文

默认 JSON 输出;需要查看表格时使用 --format csv

报告相关参数:

  • --report-typeannual | q1 | half | q3 | all
  • --report-year:会计年度,例如 2025
  • --report-index:当同一筛选命中多份报告时,选择第 N 条,默认 1
  • --include-report-variants:包含摘要、英文版、更正版等变体;默认只返回正文版
  • --download-dirreport-raw 下载 PDF 到指定目录
  • --max-pages / --max-charsreport-text 控制 PDF 文本抽取规模
  • report-list / report-raw 依赖 requestsreport-text 额外依赖 PyPDF2

场景识别与工作流

第一步:识别用户意图,决定数据范围。

场景触发信号必取数据可选补充
基本面"基本面""公司怎么样""值不值得关注"company, financial, income, balance, cashflow, daily-basic, main-business-product, top10-holdersmanagers, rewards, holder-number
技术面"走势""趋势""K线""均线"daily, daily-basic
估值"估值""贵不贵""PE/PB"daily-basic, financialincome(看盈利能力)
专题关联"和XX有关吗""XX业务占比""是否受益于XX"基本面基线 + main-business-product联网检索外部事实
行业推演"看行业""行业景气度""产业链""同行对比"基本面基线 + main-business-product + daily-basicreport-list / report-text + 联网检索行业公开数据
风险排查"有什么风险""暴雷风险""财务造假"financial, balance, cashflow, top10-holders, holder-number

用户给股票名称而非代码时,先用 search 解析。

第二步:取最小必要数据。 财务趋势取最近 6–12 期;技术分析取最近 60–250 个交易日。数据缺失时明确标注缺口并降低置信度,不要补造。

第三步:统一判断口径。

  • 比较最新一期与历史。
  • 区分绝对水平、趋势变化、异常波动。
  • 区分会计利润和经营现金流。
  • 估值视为情景推演,不要把单一目标价当事实。

第四步:写作输出。 先给核心结论和置信度 → 用数据作证据 → 显式说明假设 → 结尾写清风险和非投资建议。

基本面分析方法

  1. 核心判断:业务质量、财务质量、估值压力/机会、主要风险。根据数据完整度和指标一致性标注置信度(高/中/低)。

  2. 业务结构:行业、板块、地区、上市日期。用 main-business-product 判断收入来源是否集中、多元、周期性、政策依赖。

  3. 行业分析

    • 基本面分析不得省略行业分析。若公司收入、估值或投资逻辑明显依赖行业景气度、技术路线、政策周期、资本开支周期或产业链供需变化,必须单独输出"行业分析"章节;不得仅用"业务结构"或"行业边际信号"替代。
    • 行业分析必须说明:需求驱动、技术路线、产业链位置、竞争格局、可比上市公司、行业边际变化。
    • 行业分析可以并应优先使用联网搜索补充当前外部事实,包括行业规模、技术迭代、下游客户资本开支、竞争对手动态、可比上市公司业务结构和估值口径。
    • 对可比公司要区分"直接竞品"、"上下游客户/供应商"、"同主题但不同环节";不要把光模块厂、光芯片厂、测试设备厂混为一类。
    • 至少给出 3 家以上业务可比或产业链相关上市公司;若直接可比公司不足,明确说明可比口径和差异。
  4. 财务质量

    • 增长匹配度:收入、利润、经营现金流三者是否同向。
    • 盈利能力:毛利率、净利率、ROE、ROA 的趋势比绝对水平更重要。
    • 现金含金量:经营现金流净额 / 净利润,长期应 ≥ 1。
    • 资产负债:资产负债率、流动比率、速动比率、有息负债规模。
    • 异常信号清单(任一出现必须高亮说明):
      • 收入增长但经营现金流持续为负或下降。
      • 毛利率单季或连续下滑 3 个百分点以上。
      • 应收账款增速显著高于收入增速。
      • 存货增速显著高于收入增速。
      • ROE 连续下行 3 年以上。
      • 杠杆率突然上升(资产负债率单年提升 10 个百分点以上)。
      • 大股东持续减持或股权质押比例高。
      • 商誉占净资产比例过高(>30%)且标的经营恶化。
  5. 估值框架

    • daily-basic 看 PE、PB、PS、市值。
    • 横向对比(同行)和纵向对比(历史分位)都要做。
    • 用户要求时再做情景分析,给三种文字情景:
      • 基准:当前盈利能力和适度增长延续。
      • 乐观:利润率、增长或市占率改善。
      • 压力:需求走弱、利润率压缩、杠杆或现金流恶化。
    • 每个情景写明假设、验证证据、推翻条件。
  6. 股东与治理

    • 股权集中度(前十大合计占比)、核心股东稳定性、机构/社保参与度。
    • 管理层激励结构(rewards)、关键高管背景。
    • 股东户数趋势:持续下降通常意味筹码集中,持续上升意味筹码分散。
    • 不要基于单期数据过度推断治理质量。
  7. 风险分类:公司风险、行业风险、估值风险、流动性风险、数据质量风险。提醒公开数据滞后。

技术面分析方法

用日线数据手动推理,不要让脚本生成技术信号。

  • 趋势:最新收盘相对 5/10/20/60 日均线的位置与排列。
  • 动能:近期涨跌斜率、量价配合。
  • 波动:长阴长阳、跳空、异常成交量。
  • 关键位置:近期高低点、密集成交区、前期平台。
  • 失效位置:明确指出技术判断在什么价位/条件下失效,而不是给确定买卖指令。

行业边际变化(从最新季报/年报提取)

定位:这是基本面分析的一个子模块,不独立输出,结果并入基本面报告。目的是利用公司最新财报的数据和表述,提取关于所处行业的前瞻性边际信号——即方向转变、斜率变化、新出现的结构性变量。

核心概念

  • 水平(level):指标当前处在什么位置。这是"过去的结果"。
  • 边际(marginal):最新一期相对前期的方向变化速率变化。这是"接下来可能发生什么"的先导。
  • 行业分析的价值主要在边际。一家毛利率 40% 但连续三期下滑的公司,传递的行业信号比一家毛利率 15% 但稳定的公司更重要。

适用前提

  • 公司在行业中有代表性(龙头、细分赛道主要玩家或产业链关键环节)。
  • 主营业务集中,行业归属清晰。
  • 有最新一期(季报或年报)数据。

若公司业务过于多元或属于小玩家,只提取与其主业相关的行业边际,并在输出中降低置信度或明确"不具备行业代表性"。

两类信号来源

A. 数据类边际信号(从取数结果直接观察)

重点看最新一期相对前期的方向,不是绝对水平。

指标观察点可能反映的行业边际
收入增速拐点:连续下滑后首次回升 / 稳态中首次掉头需求端景气反转
毛利率连续压缩后回升 / 稳态中突然下滑价格战缓解或加剧、原料/供需关系变化
合同负债(预收款)环比大幅增加 / 减少下游订单旺盛或走弱的先导指标
应收账款 / 收入比率环比抬升下游议价力增强、回款压力增大
存货结构(原材料 vs 产成品)原材料上升 → 生产端乐观;产成品上升 + 发出商品下降 → 需求走弱库存周期位置切换
资本开支(购建固定资产支付的现金)最新一期环比大幅抬升 / 收缩行业进入扩产期 / 出清期
应付账款 / 采购延长 / 缩短对上游议价力的边际变化
主营构成(多期对比)新业务线出现、旧业务占比突变公司感知的行业方向
前十大股东变动机构/社保/保险新进或退出专业资金对行业的边际看法

关键原则:

  • 边际信号至少要跨两期才可信——单期波动可能是季节性或一次性事件。
  • 区分"公司特有边际" vs "行业边际":只有当逻辑能推广到行业层面(下游需求变化、上游成本传导、竞争格局改变)才算行业信号;若是公司自身份额变动或管理动作,归入"财务质量"即可。
  • 交叉验证:同一边际信号最好能从 2 个以上指标共振(如毛利率下滑 + 合同负债下降 + 应收拉长 = 下游需求走弱的强信号)。

B. 表述类边际信号(原始报告 + 联网补充)

Tushare 基础接口不提供管理层讨论原文。现在可以优先使用本 skill 的 report-list / report-raw / report-text 从巨潮资讯抓取最新季报/年报原始报告;业绩预告、重大事项、互动易问答等仍需联网检索补充。重点获取:

  • 业绩预告 / 业绩快报:变动原因的官方表述("下游需求旺盛""主要客户订单增加""行业价格下行""原材料成本压力"等)。
  • 最新季报/年报管理层讨论:优先用 report-text 抽取原文,重点看行业判断、需求变化、价格变化、扩产与订单措辞,尤其是与上期相比新出现或消失的表述。
  • 重大事项公告:大额订单、扩产计划、新客户、并购——这些是单事件但常有行业含义。
  • 交易所互动平台问答:管理层对行业热点问题的最新回应。

对每一条引用的表述,在输出中注明出处(公告标题 + 日期 + 来源链接)。

提取步骤

  1. 完成基本面数据取数后,聚焦最新一期 vs 前 1–3 期。
  2. 扫描数据类信号表,标记出现方向转变的指标。
  3. report-list 确认最新季报/年报,再按需要用 report-raw 获取 PDF 链接或下载原件,用 report-text 抽取正文。
  4. 联网检索最新业绩预告、重大事项公告、互动易问答,提取与数据信号共振的表述。
  5. 判断信号的行业属性:是行业普遍现象,还是公司个体事件?
  6. 在基本面输出中设独立一节"行业边际信号",简洁陈述 1–3 条最强的边际变化 + 证据(数据变化 + 表述出处)+ 置信度 + 可能的行业含义。

边界与常见误判

  • 不要把一次性波动当边际:合同负债暴增可能只是一个大订单,要看是否连续两期以上。
  • 不要把单家公司结论直接外推全行业:龙头的边际变化领先行业,但腰部公司的变化更可能是自身问题;结论中要明确说"基于 XX 一家公司观察,需同行验证"。
  • 不要把公司 α 说成行业 β:公司在抢份额时收入可能逆势增长,这不代表行业在扩张。
  • 不要过度解读:若数据和表述没有明确的边际变化,就直接写"本期未观察到显著行业边际信号",不要硬凑。

输出模板

基本面完整版

**核心判断**
[整体观点、置信度、最重要变量]

**业务结构**
[行业、产品、主营构成、竞争力]

**行业分析**
[需求驱动:行业增长来自什么,必须引用当前外部事实时使用联网搜索]
[技术路线:关键技术迭代和替代方向]
[产业链位置:公司处在上游/中游/下游哪个环节,赚什么钱]
[竞争格局:主要国内外玩家、直接竞品、上下游客户/供应商、同主题不同环节公司]
[可比上市公司:至少 3 家,说明可比口径和差异;直接可比不足时明确说明]

**财务质量**
[增长、利润率、现金流、杠杆、异常信号]

**行业边际信号**(基于最新季报/年报)
- [信号 1]:[数据证据:如合同负债环比 +35%,对应报告期 2025Q3] + [表述证据:业绩预告提及"下游客户需求旺盛"(公告日期/来源)] → [行业含义:下游景气度边际改善] → [置信度;是否需同行验证]
- [信号 2]:...
- 若本期无显著边际变化,明确写出。

**估值与情景**
[估值水平;基准/乐观/压力情景假设]

**股东与治理**
[股权集中度、管理层激励、股东户数趋势]

**风险清单**
[按重要性排序]

以上基于公开数据和当前可得信息,不构成投资建议。

技术面

**趋势**
[均线和价格结构]

**量价与动能**
[成交量、近期走势、波动]

**关键位置**
[支撑、压力、失效位置]

**风险**
[什么情况会推翻当前判断]

以上仅为基于历史交易数据的技术分析,不构成投资建议。

质量要求

  • 能给具体数字时优先给数字,但不堆砌原始表格。
  • 数据有日期时写明报告期或交易日。
  • 当前外部事实(政策、客户关系、行业新闻、竞争对手)联网检索并引用来源,不凭记忆编造。
  • 避免单边结论,写出最强反方观点。
  • 最终回答要简洁、有证据、清楚表达不确定性,适合投资者阅读。