文档

Financial Edu David

试用

A股上市公司财务分析全流程工具包。覆盖年报采集、三表提取、指标计算、可视化看板、数据核对的全链路。用于对A股上市公司进行近3-5年财务经营状况综合分析,包括年报PDF下载(巨潮资讯网)、合并资产负债表/利润表/现金流量表提取(PDF→xlsx)、财务指标计算(偿债/营运/盈利/发展/现金流/杜邦分析)、EChar...

它能做什么

A股上市公司财务分析全流程工具包。覆盖年报采集、三表提取、指标计算、可视化看板、数据核对的全链路。用于对A股上市公司进行近3-5年财务经营状况综合分析,包括年报PDF下载(巨潮资讯网)、合并资产负债表/利润表/现金流量表提取(PDF→xlsx)、财务指标计算(偿债/营运/盈利/发展/现金流/杜邦分析)、ECharts动态可视化看板(HTML)及东方财富F10数据交叉核对。触发场景:(1) "分析XX公司财务状况""XX股票财务分析""XX年报分析"等财务分析需求 (2) "下载XX年报" (3) "生成财务可视化看板" (4) "核对XX财务数据"。

技能文档

A股上市公司财务分析全流程

适用场景

对指定A股上市公司进行3-5年财务经营状况综合分析,覆盖从数据采集到可视化交付的完整链路。

前置条件

  • Python 3.8+,安装依赖:pip install requests pdfplumber openpyxl
  • 网络可访问 cninfo.com.cn、eastmoney.com、cdn.jsdelivr.net(或备选CDN)
  • 工作目录有写权限

五阶段工作流程

严格按以下顺序执行,每阶段完成后确认数据正确性再进入下一阶段。

Phase 1: 年报采集

目标:从巨潮资讯网下载目标股票近N年(默认4年)年报PDF

步骤

  1. 确定股票代码(6位数字)、市场(sh/sz)、年份范围
  2. 运行采集脚本:
    python scripts/fetch_annual_reports.py \
      --code {股票代码} --name "{股票名称}" \
      --years {起始年}-{结束年} --dir "{目标目录}" --market {sh|sz}
    
  3. 若脚本因API变化失败,手动执行以下步骤:
    • 先查 orgId:GET https://www.cninfo.com.cn/new/information/topSearch/query?key={code}
    • 再查公告:POST https://www.cninfo.com.cn/new/hisAnnouncement/query(参数详见 cninfo_api.md
    • 下载PDF:GET https://static.cninfo.com.cn/{adjunctUrl}
  4. 验证:PDF文件大小 > 100KB,可正常打开

输出:目录下 N 份年报 PDF + 采集日志.json

Phase 2: 三表提取

目标:从PDF提取合并资产负债表、利润表、现金流量表 → xlsx

步骤

  1. 先用 pdfplumber 探测每份PDF中三张表所在页码(0索引):
    import pdfplumber
    with pdfplumber.open("年报.pdf") as pdf:
        for i, page in enumerate(pdf.pages):
            text = page.extract_text() or ""
            if "合并资产负债表" in text and "母公司" not in text:
                print(f"资产负债表在第{i}页")
            # 同理探测利润表、现金流量表
    
    重要:每张表可能跨2-3页,需确认起始页和结束页
  2. 构建 pdf_config.json(格式见下方示例)
  3. 运行提取脚本:
    python scripts/extract_financial_tables.py --dir "{目标目录}" --config pdf_config.json
    
  4. 若出现科目名缺失(因PDF跨行拆分导致),需手动补全核心科目(资产总计、负债合计、营业收入、净利润等)

pdf_config.json 格式

{
  "2022": {
    "file": "2023-04-21_公司名_2022年度报告.PDF",
    "balance_pages": [104, 105, 106],
    "income_pages": [108, 109, 110],
    "cash_pages": [111, 112, 113],
    "ann_id": "1216492757",
    "ann_url": "https://www.cninfo.com.cn/new/disclosure/detail?annoId=1216492757",
    "raw_url": "https://static.cninfo.com.cn/finalpage/2023-04-21/1216492757.PDF"
  }
}

PDF解析核心问题

  • 科目名跨行拆分(如"三、营业利润(亏损以"-"号填列)"可能分3行):脚本使用 pending_subject 状态机处理
  • 附注引用混入科目名(如"七、74"):正则清理
  • 即使处理仍有遗漏,需要以东方财富F10数据为基准补充核心科目

输出:每年一份 xlsx(3个sheet),文件命名:{股票名}_合并三表_{年份}年.xlsx

Phase 3: 财务分析

目标:计算完整的财务指标体系 + 杜邦分析

步骤

  1. 采集核心数据:从xlsx中提取30+个关键科目值,生成 _core_data.json
    • 必含科目:资产总计、负债合计、所有者权益合计、流动资产合计、流动负债合计、存货、货币资金、应收账款、固定资产、短期借款、长期借款、营业收入、营业成本、净利润、归母净利润、归母股东权益、利润总额、销售费用、管理费用、研发费用、财务费用、所得税费用、经营活动/投资活动/筹资活动现金流量净额、销售商品提供劳务收到的现金
    • 注意:单位从"元"转换为"亿元"
  2. 逐项计算指标 → 生成 _metrics.json
    • 指标计算公式详见 metrics_guide.md
    • 杜邦分析:ROE = 净利率 × 总资产周转率 × 权益乘数
  3. 对每个指标标注判定(好/中/差),判定标准参考 metrics_guide.md

输出_core_data.json + _metrics.json

Phase 4: 可视化看板

目标:生成HTML格式的动态财务分析数据可视化看板

看板结构(必须包含以下全部模块):

模块内容图表类型
页头公司名、代码、年份、数据来源静态HTML
核心结论5条关键发现(好/中/差三色标注)静态HTML
数据核对与东方财富F10对比表静态表格
指标一览偿债/营运/盈利/发展 四类指标汇总彩色标注表格
图表1资产负债趋势ECharts分组柱状图
图表2营收与净利润趋势ECharts多线图
图表3经营/投资/筹资现金流ECharts分组柱状图
图表4盈利能力指标趋势ECharts多线图
图表5偿债能力指标趋势ECharts多线图
图表6营运能力指标ECharts柱+线混合图
图表7增长率指标分组柱状图
图表8费用率结构堆叠柱状图
杜邦分析ROE分解树形图(东方财富风格)纯HTML+CSS
风险预警高中低三类风险 + 改进建议彩色卡片

技术规范

  • 使用 ECharts 5.x CDN(5个源自动回退)
  • 所有数据内嵌在 `` 中,无外部JSON依赖
  • 使用 IIFE 封装避免全局变量污染
  • 参考设计:generate_dashboard.py

杜邦分析实现

  • 纯 HTML+CSS(不用 ECharts graph),更接近东方财富F10风格
  • 5层树形结构:ROE → 净利率/周转率/权益乘数 → 净利润÷营收 | 资产÷权益 → ...
  • 支持年份切换
  • 每个节点显示数值 + 运算符(× ÷ + −)
  • 底部多列明细列表

Phase 5: 数据核对

目标:确保分析数据与官方公开数据一致

步骤

  1. 调用东方财富F10接口核对(详见 eastmoney_api.md
  2. 核心核对科目:资产总计、负债合计、所有者权益合计、经营/投资/筹资现金流净额(必须100%一致)
  3. 利润表科目允许±5%误差(因PDF解析跨行问题)
  4. 将核对结果写入看板的"数据核对"区
  5. 若数据不一致,以东方财富F10为准修正 _core_data.json

关键注意事项

PDF解析常见陷阱

  1. 科目名跨行:A股年报PDF中,部分科目名被排版引擎拆分为2-3行,需使用 pending_subject 状态机处理
  2. 附注引用:科目名后常跟"七、74"等附注引用,需正则清理
  3. 单位混淆:三张表单位均为"元",分析时需转为"亿元"
  4. 页码探测:三张表页码每年不同,必须逐份PDF人工或程序探测

数据模板

_core_data.json 示例结构:

{
  "2022": {
    "资产总计": 10309876543.21,
    "负债合计": 6615432109.87,
    "营业收入": 6165432109.87,
    ...
  }
}

_metrics.json 示例结构:

{
  "2022": {
    "流动比率": 0.65,
    "资产负债率%": 64.17,
    "销售毛利率%": 14.83,
    "ROE_归母%": 0.87,
    "杜邦ROE": 0.87,
    "杜邦净利率": 0.35,
    "杜邦总资产周转率": 0.60,
    "杜邦权益乘数": 3.47,
    ...
  }
}

参考文件

  • cninfo_api.md — 巨潮资讯网API详细参数
  • eastmoney_api.md — 东方财富F10核对接口
  • metrics_guide.md — 财务指标计算公式与标准值

脚本文件

  • scripts/fetch_annual_reports.py — 年报下载脚本(接受命令行参数)
  • scripts/extract_financial_tables.py — PDF三表提取脚本(接受命令行参数)
  • 可视化看板由AI直接生成HTML(参考 scripts/generate_dashboard.py 中的模式),不依赖独立脚本

相关技能

A股深度财务分析与研报生成Skill。融合8本财务经典方法论,基于宏观-中观-微观三层框架,支持200+财务指标分析、70+舞弊信号预警、7大行业专精对标。 Use when user asks to 财务分析、财报分析、财务报表分析、深度研报、公司研报、 行业报告、行业分析、行业对比、快速排雷、舞弊识别、财务造...

2 次安装

上市公司年报/研报自动抓取。覆盖巨潮资讯、东方财富等数据源,支持按公司代码/名称/年份/行业批量下载 PDF。内置反爬绕过、PDF 解析。

4 次安装

A股/港股公司深度分析。输入公司名称或股票代码,自动完成 6 步分析流程: 数据采集 → 公司画像 → 产业链五力 → 竞争护城河 → 财务四维 → 相对估值。 输出双产物:公司深度分析报告 + 投研简报 支持单步模式:用户指定"财务情况/财务分析/公司画像/公司基本面"时,按路由表只跑对应步骤并输出对应单文件。 触发词:公司分析 / 深度分析 / 公司调研 / 投资初筛 / 深度调研 / 公司研究 / 行业研究 / 投研简报 / 财务情况 / 财务分析 / 公司画像 / 公司基本面

3 次安装1 星标

Tonghuashun Financial Data (fuyao.aicubes.cn). Use this skill for ANY Tonghuashun Financial Data request — searching and reading data. Whenever a task involves Tonghuashun Financial Data, use this skill instead of calling the API directly.

读取并分析本机“小河狸财报助手”中已导入的财务数据。用户询问公司财务指标、资产负债表、利润表、现金流量表、历年或跨期趋势、财务数据对比、回款金额、本地财务问答时使用;仅通过 localhost 的只读接口访问数据。 使用前提: 确认小河狸财报助手正在同一台电脑上运行,版本不低于 `1.7.4`。 安全与错误处理: 只访问 `127.0.0.1` 或 `localhost`,不访问局域网 IP、公网地址或分享链接。 只调用 `/api/local-agent/*`,不执行导入、删除、修改公司、修改配置或创建分享链接。

1 次安装

财务分析工具集 v1.1.0。7个子命令覆盖财务分析全流程。 自动识别CSV中的金额、日期、类别列。 纯Python标准库,无外部依赖。 Use when: 需要快速分析交易数据、计算财务比率、 查看收支趋势、分类汇总、预算对比、同比环比、趋势预测。 🎉 v1.1.0 功能: - analyze — 收支汇总 + 分位数 + 月度净额 - ratios — 财务比率(毛利率/净利率/ROE/ROA/ROI/负债率) - trend — 月度趋势(含MA移动平均和YoY) - category (NEW) — 分类汇总(ASCII条形图+占比) - budget (NEW) — 预算 vs

3 次安装