一键生成完整的企业财务分析报告,包含盈利结构、经营指标、ROE分解、估值分析等。
- 🚀 全自动化:一键从原始财务数据生成完整分析表
- 📊 多维度分析:8大模块,40+项财务指标
- 🎨 专业美化:符合财务建模标准的配色和格式
- 🔄 支持多年对比:自动识别时间序列,支持 YoY 分析
- 🛠️ 易于扩展:可适配不同公司和行业
- 📱 无需 LibreOffice:直接计算数值,无需额外依赖
financial_analysis_agent/
├── Agents.md # 入口:Agent协作文档(推荐首先阅读)
├── README.md # 本文件:用户使用指南
│
├── generate_beta04_v22.py # 核心:V2.2分析表生成器(推荐使用)
├── subject_mapping.py # 动态科目映射工具
├── subject_mapping_config.json # JSON配置文件:科目映射规则
├── subject_validator_v22.py # V2.2科目完整性验证器
├── requirements.txt # Python依赖包列表
├── .gitignore # Git忽略文件配置
│
├── venv/ # Python虚拟环境(不提交到Git)
│
└── examples/ # 示例文件
├── 福耀玻璃.xlsx # 示例:原始财务数据
├── 金山办公.xlsx # 示例:原始财务数据
└── 福耀玻璃_Beta04_完整分析.xlsx # 输出:完整的 Beta_04 分析表
Python 环境要求:
- Python 3.7+
- 依赖包:openpyxl
创建虚拟环境(推荐):
# 在项目目录下创建虚拟环境
python3 -m venv venv
# 激活虚拟环境
source venv/bin/activate # macOS/Linux
# 或
venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt注意:
- 虚拟环境仅限当前项目目录,不影响系统环境
- 每次使用前需要激活虚拟环境
准备一个包含以下 3 个工作表的 Excel 文件:
- balance:资产负债表(按列存储不同年度,年份从第3列开始)
- 损益现金流:损益表和现金流量表(年份从第2列开始)
- 收入成本:收入和成本明细(年份从第2列开始)
参考示例文件:examples/福耀玻璃.xlsx
确保已激活虚拟环境:
source venv/bin/activate # macOS/Linux运行程序:
# 使用默认文件(examples/福耀玻璃.xlsx)
python3 generate_beta04_v22.py
# 指定输入文件
python3 generate_beta04_v22.py 你的公司.xlsx
# 指定输入和输出文件
python3 generate_beta04_v22.py 输入.xlsx 输出.xlsx生成的 Excel 文件包含完整的财务分析,示例输出:
✓ 成功生成 Beta_04 财务分析表
输入文件: examples/福耀玻璃.xlsx
输出文件: 福耀玻璃_Beta04_完整分析.xlsx
分析年度: 2024, 2023, 2022, 2021, 2020, 2019, 2018
【2024年关键指标】
营收: 38,710,428,679
净利润: 7,504,038,370
毛利率: 35.6%
净利率: 18.5%
ROE: 20.1%
EPS: 2.75
- 资产(现金、投资、运营资产、长期资产)
- 负债(预收、应付、有息负债)
- 权益(资本投入、未分配利润)
- 主营收入、主营成本、费用明细
- 折旧摊销、资本开支
- 损耗、其他收益、现金收益
- 利息支出、财务费用、所得税
- 股权收益、其他业务收入/成本、营业外收入/成本
主营收入
- 主营成本
- 费用
+ 损耗
+ 其他收益
+ 现金收益
- 利息支出
- 财务费用
- 所得税
= 业务利润
+ 股权收益
+ 其他业务利润
+ 营业外利润
= 净利润
- 分红
= 利润留存
+ 折旧摊销
- CAPEX
= 自由现金流 (FCF)
盈利能力
- 毛利率、费率、净利率
- 研发费率、销售费率、管理费率
营运能力
- 应收周转、存货周转
- 应收占比、预收占比
- 资产结构:现金/股权/经营/长期资产占比
- 负债结构:经营负债/有息负债占比
- 权益结构:资本投入/利润留存占比
- 营收 YoY
- 净利润 YoY
- 资产 YoY
- 权益 YoY
ROE = 净利率 × 资产周转率 × 权益乘数
识别 ROE 的驱动因素:
- 盈利能力(净利率)
- 运营效率(资产周转率)
- 财务杠杆(权益乘数)
- 每股指标:DPS(股息)、EPS(收益)、FPS(自由现金流)
- 估值倍数:PE、股息率、市值
- 需手动填写年度最高价和最低价
- 🔵 蓝色字体:手动输入字段(如股价)
- 🟢 绿色字体:跨工作表引用
- ⚫ 黑色字体:计算字段
- 🟨 黄色背景:关键假设和输入项
- ✅ 清晰的分区标题(蓝色粗体 + 灰色背景)
- ✅ 金额使用千分位分隔符
- ✅ 百分比自动格式化
- ✅ 边框和对齐
- ✅ 适当的列宽设置
- 评估公司基本面
- 对比历史趋势
- 计算估值水平
- 识别投资机会
- 财务健康检查
- 绩效指标监控
- 经营效率分析
- 战略决策支持
- 财务分析实践
- 杜邦分析应用
- 现金流研究
- 估值模型学习
- 季度/年度报表跟踪
- 关键指标变化预警
- 行业对标分析
- 趋势预测
使用标准科目名称,系统自动识别数据位置:
步骤:
-
检查科目映射配置:
python3 subject_mapping.py --config-info
-
分析你的Excel文件,查看科目映射情况:
python3 subject_mapping.py 你的公司.xlsx
-
运行科目完整性验证(严格模式):
python3 subject_validator_v22.py 你的公司.xlsx
-
生成分析表:
python3 generate_beta04_v22.py 你的公司.xlsx
优势:
- ✅ 科目可以在任意行,系统自动查找
- ✅ 支持科目别名(如"货币资金"→"现金及现金等价物")
- ✅ 无需修改代码,纯配置驱动
- ✅ 支持复合科目(如"有息负债"=短期借款+长期借款)
- ✅ 严格模式验证,确保所有42个必需字段完整覆盖
查看当前配置:
python3 subject_mapping.py --config-info添加新的科目别名:
# 为"货币资金"添加新别名"现金资产"
python3 subject_mapping.py --add-alias balance 货币资金 现金资产
# 为"研发费用"添加新别名"R&D费用"
python3 subject_mapping.py --add-alias income 研发费用 R&D费用将你的数据整理成与 examples/福耀玻璃.xlsx 相同的格式
配置文件采用分层结构,包含以下主要部分:
{
"meta": { // 元信息
"version": "2.2.0",
"description": "Beta_04 财务分析系统科目映射配置",
"last_updated": "2026-02-03"
},
"balance_mapping": { // 资产负债表科目映射
"subjects": {
"资产": {
"aliases": ["资产", "资产总计", "总资产"],
"description": "资产合计"
}
}
},
"income_mapping": { // 损益现金流表科目映射
"subjects": { /* ... */ }
},
"revenue_mapping": { // 收入成本表科目映射
"subjects": { /* ... */ }
},
"composite_mapping": { // 复合科目(需汇总多个科目)
"subjects": {
"折旧摊销": {
"components": ["固定资产折旧", "使用权资产折旧", "无形资产摊销"],
"description": "折旧摊销合计"
}
}
},
"beta04_field_mapping": { // Beta_04字段与源数据映射关系
"balance": { /* ... */ },
"income": { /* ... */ },
"revenue": { /* ... */ }
},
"validation_rules": { // 验证规则
"core_subjects": { // 核心必需科目
"balance": ["资产", "负债", "所有者权益"],
"income": ["销售费用", "管理费用", "研发费用"],
"revenue": ["主营业务收入", "主营业务成本"]
}
}
}1. 查看配置信息:
python3 subject_mapping.py --config-info2. 添加科目别名:
# 语法:mapping_type = balance | income | revenue
python3 subject_mapping.py --add-alias <mapping_type> <subject> <alias>
# 示例:
python3 subject_mapping.py --add-alias balance 货币资金 银行存款
python3 subject_mapping.py --add-alias income 研发费用 研发支出3. 手动编辑配置文件:
- 直接编辑
subject_mapping_config.json - 修改后会自动加载新配置
- 支持添加新科目、别名、复合科目规则
4. 验证配置有效性:
# 测试配置是否能正确识别科目
python3 subject_mapping.py 测试文件.xlsx- 结构化:JSON格式,层次清晰,易于理解
- 灵活性:支持多个别名、复合科目、验证规则
- 可扩展:容易添加新科目和映射规则
- 版本管理:包含元信息,便于版本控制
- 向后兼容:保持与现有代码的兼容性
Agent协作入口文档,包含:
- 项目概览和快速开始
- 核心功能和技术实现
- 所有已修复的问题列表
- V2.2动态科目识别详解
- 使用示例和验证方法
- Agent协作指南
适合:其他Agent快速了解项目全貌
JSON配置文件,包含:
- 科目映射规则:支持多别名、复合科目
- Beta_04字段映射:分析表与源数据的对应关系
- 验证规则:核心必需科目和可选科目
- 元信息:版本、更新时间等
适合:配置科目映射、理解数据提取逻辑
| 指标 | 2024年 | 2023年 | YoY |
|---|---|---|---|
| 营收 | 387亿 | 361亿 | +7.2% |
| 净利润 | 75亿 | 66亿 | +13.6% |
| 毛利率 | 35.6% | 34.8% | +0.8pp |
| 净利率 | 18.5% | 17.4% | +1.1pp |
| ROE | 20.1% | 19.8% | +0.3pp |
ROE 20.1% = 净利率 18.5% × 资产周转率 0.61 × 权益乘数 1.77
- ✅ 盈利能力提升:毛利率和净利率均有改善
- ✅ 现金流健康:自由现金流为正,FPS > EPS
- ✅ 资产结构稳健:现金资产占比 32.7%
⚠️ 有息负债增加:从 145亿 增至 150亿
- Python 3.7+
- openpyxl:Excel 文件读写
- 虚拟环境:项目独立的 Python 环境,不影响系统环境
- ✅ 删除重复的"股息"标题行(第120行)
- ✅ 优化股息率计算公式:分子直接取股息分红,分母为市值(价格*股本)
- ✅ 新增"税金及附加"科目到期间费用计算
- ✅ 费用计算更新:研发费用 + 销售费用 + 管理费用 + 税金及附加
- ✅ 在输出表格中显示"税金及附加"科目
- ✅ 优化输出格式,严格按照示例文件beta_04 sheet结构
- ✅ 数据从第2行开始,数据列从第4列(D列)开始
- ✅ 第1行格式:B列和C列为"定价",D列开始为年份
- ✅ 移除分节标题,使用空行分隔不同数据组
- ✅ 关键项目使用粗体标记(资产、负债、权益等)
- ✅ 新增经营指标:应付(预付)占比、利息支出/业务利润、折旧摊销/长期资产
- ✅ 新增现金留存和业务现金指标
- ✅ 完善YoY分析:增加各资产负债项的同比增长细分
- ✅ 优化ROE分解格式和估值指标(PE高低、股息率高低、市值高低)
- ✅ 优化科目验证逻辑:移除宽松模式,仅保留严格模式
- ✅ 强化质量保障:验证所有42个beta04_field_mapping必需字段
- ✅ 简化用户操作:无需选择模式参数,默认最严格标准
- ✅ 增强验证报告:显示各工作表完成度百分比和详细统计
- ✅ 确保数据完整性:防止生成不完整的财务分析表
- ✅ 实现动态科目识别,支持不同公司数据结构
- ✅ 科目映射规则迁移至JSON配置文件
- ✅ 支持科目别名和复合科目自动汇总
- ✅ 添加科目完整性验证,防止生成不完整分析
- ✅ 完整的配置管理工具和命令行接口
- ✅ 清理项目结构,移除过时文档
- ✅ 修复数据提取列索引错误(主营收入等数据)
- ✅ 修复盈利结构分析混用公式和数值问题
- ✅ 业务利润公式改为纯引用,无硬编码数值
- ✅ 将所有原始数据放到损益表数据部分(16个数据项)
- ✅ 盈利结构分析全部使用公式(10个计算行)
- ✅ 直接计算数值,无需 LibreOffice
- ✅ 支持多年数据自动识别
- ✅ 专业配色和格式美化
- ✅ 完善的错误处理
- ✅ 修复YoY公式位置错误
- ✅ 修复A列标签@符号问题
- 基于公式的生成器
- 需要 LibreOffice 重算公式
欢迎提出改进建议!可以通过以下方式:
- 📝 提交 Issue 报告问题
- 🔧 提交 Pull Request 贡献代码
- 💡 分享使用经验和最佳实践
本项目仅供学习和研究使用。
- 支持更多财务指标
- 行业对标分析
- 图表可视化
- Web 界面
- 自动股价获取
- PDF 报告导出
如有问题或建议,请联系项目维护者。
最后更新:2026-02-04 版本:V2.2.5 适用于:A股、港股上市公司财务分析
# 1. 准备你的财务数据(参考福耀玻璃.xlsx)
# 2. 验证科目映射(严格模式 - 必需)
python3 subject_validator_v22.py 你的公司.xlsx
# 3. 运行分析
python3 generate_beta04_v22.py 你的公司.xlsx
# 4. 打开生成的 Excel 文件,开始分析!就是这么简单! 🎉