financial-analysis

Pass

专业的上市公司财务报表分析技能。用于分析PDF格式的财务报告(季报、半年报、年报),提取三大报表数据,计算盈利能力、偿债能力、运营能力、现金流质量、成长性等多维度财务指标,进行杜邦分析和趋势分析,生成投资评级和建议。支持生成Markdown和Excel格式的专业分析报告。当用户请求分析财报、计算ROE/ROA等财务指标、评估公司财务健康状况、生成投资建议时使用此技能。

@QYQSDTC
MIT2/19/2026
71out of 100
(0)
2
19
26

Install Skill

Skills are third-party code from public GitHub repositories. SkillHub scans for known malicious patterns but cannot guarantee safety. Review the source code before installing.

Install globally (user-level):

npx skillhub install QYQSDTC/Financial_Analysis_Agent_Skill/financial-analysis

Install in current project:

npx skillhub install QYQSDTC/Financial_Analysis_Agent_Skill/financial-analysis --project

Suggested path: ~/.claude/skills/financial-analysis/

AI Review

Instruction Quality75
Description Precision65
Usefulness70
Technical Soundness75

Scored 71 — impressive technical depth with 5 production-quality Python scripts covering comprehensive financial analysis. The 7-step pipeline from PDF to report is well-designed. Main limitation is domain specificity (financial analysis only) and Chinese-only documentation.

SKILL.md Content

---
name: financial-analysis
description: 专业的上市公司财务报表分析技能。用于分析PDF格式的财务报告(季报、半年报、年报),提取三大报表数据,计算盈利能力、偿债能力、运营能力、现金流质量、成长性等多维度财务指标,进行杜邦分析和趋势分析,生成投资评级和建议。支持生成Markdown和Excel格式的专业分析报告。当用户请求分析财报、计算ROE/ROA等财务指标、评估公司财务健康状况、生成投资建议时使用此技能。
---

# 财务报表分析技能

专业的上市公司财务报表分析工具,支持:
- 读取PDF财务报告并提取三大报表数据
- 计算30+核心财务指标(盈利、偿债、运营、现金流、成长性、估值)
- **杜邦分析**: ROE三因素分解及驱动因素分析
- **成长性评分**: 收入、利润、资产增长率评估
- **趋势分析**: 多期数据趋势、转折点检测、预警生成
- **增强估值**: PE、PB、PS、EV/EBITDA等指标
- 生成综合评分和投资评级
- 输出Markdown和Excel格式分析报告

## 分析流程

当用户提供财报PDF时,按以下流程执行:

1. **读取PDF** - 使用 PDF 工具读取PDF文件内容
2. **提取数据** - 从文本中识别资产负债表、利润表、现金流量表数据
3. **计算指标** - 使用 `scripts/calculator.py` 计算财务指标
4. **杜邦分析** - 使用 `scripts/dupont_analyzer.py` 分解ROE驱动因素
5. **趋势分析** - 使用 `scripts/trend_analyzer.py` 分析多期数据趋势
6. **深度分析** - 使用 `scripts/financial_analyzer.py` 进行专业分析
7. **生成报告** - 使用 `scripts/report_generator.py` 生成报告

## 核心脚本

### 指标计算器 (`scripts/calculator.py`)

```python
from scripts.calculator import FinancialIndicatorCalculator

calculator = FinancialIndicatorCalculator()

# 基础用法
indicators = calculator.calculate_all_indicators(
    balance_sheet=balance_sheet_data,
    income_statement=income_statement_data,
    cashflow_statement=cashflow_statement_data,
    metadata={'company_name': '公司名称', 'total_shares': 1000000000, 'stock_price': 25.5}
)

# 带成长性分析(需要上期数据)
indicators = calculator.calculate_all_indicators(
    balance_sheet=current_balance_sheet,
    income_statement=current_income_statement,
    cashflow_statement=current_cashflow_statement,
    metadata=metadata,
    previous_balance_sheet=prev_balance_sheet,
    previous_income_statement=prev_income_statement,
    previous_cashflow_statement=prev_cashflow_statement
)

# 获取评分摘要(包含成长性评分)
summary = calculator.get_summary()
# 返回: {'综合评分': 85.5, '盈利能力评分': 90, '偿债能力评分': 80, '成长性评分': 75, ...}
```

### 杜邦分析器 (`scripts/dupont_analyzer.py`)

```python
from scripts.dupont_analyzer import DuPontAnalyzer

dupont = DuPontAnalyzer()

# ROE分解
decomposition = dupont.calculate_dupont_decomposition(balance_sheet, income_statement)
# 返回: net_profit_margin, asset_turnover, equity_multiplier, roe

# ROE质量评估
quality = dupont.evaluate_roe_quality()
# 返回: driver_type, quality, risk_level, sustainability, details

# ROE变动驱动因素分析(对比上期)
driver_analysis = dupont.analyze_roe_drivers(
    current_balance_sheet, current_income_statement,
    previous_balance_sheet, previous_income_statement
)
# 返回: changes, contributions, main_driver, interpretation
```

### 趋势分析器 (`scripts/trend_analyzer.py`)

```python
from scripts.trend_analyzer import MultiPeriodTrendAnalyzer

trend = MultiPeriodTrendAnalyzer()

# 添加多期数据
for period_data in historical_data:
    trend.add_period_data(
        period=period_data['period'],
        balance_sheet=period_data['balance_sheet'],
        income_statement=period_data['income_statement'],
        cashflow_statement=period_data['cashflow_statement'],
        indicators=period_data.get('indicators')
    )

# 分析指标趋势
roe_trend = trend.analyze_metric_trend('profitability.roe')
# 返回: direction, values, turning_points, statistics

# 计算CAGR
revenue_cagr = trend.calculate_cagr('income_statement.operating_revenue')

# 生成预警
alerts = trend.generate_alerts()

# 获取趋势摘要
summary = trend.get_trend_summary()
```

### 财务分析器 (`scripts/financial_analyzer.py`)

```python
from scripts.financial_analyzer import FinancialAnalyzer

analyzer = FinancialAnalyzer()

# 基础财务健康分析
analysis = analyzer.analyze_financial_health(
    company_name="公司名称",
    indicators=indicators,
    report_type="年报",
    report_period="2023-12-31"
)
# 返回: overall_rating, strengths, weaknesses, risks, opportunities, detailed_analysis

# 增强版分析(含杜邦和趋势分析)
analysis = analyzer.analyze_financial_health_enhanced(
    company_name="公司名称",
    indicators=indicators,
    report_type="年报",
    report_period="2023-12-31",
    balance_sheet=balance_sheet,
    income_statement=income_statement,
    previous_balance_sheet=prev_balance_sheet,
    previous_income_statement=prev_income_statement,
    period_data_list=historical_periods  # 多期数据用于趋势分析
)
# 返回: 基础分析 + dupont_analysis + trend_analysis

# 单独执行杜邦分析
dupont_result = analyzer.perform_dupont_analysis(
    balance_sheet, income_statement,
    prev_balance_sheet, prev_income_statement
)

# 单独执行趋势分析
trend_result = analyzer.perform_trend_analysis(period_data_list)

# 生成投资建议
recommendation = analyzer.generate_investment_recommendation(
    analysis=analysis,
    indicators=indicators,
    stock_price=25.8,  # 可选
    target_investor_type="稳健型"
)
# 返回: rating, action, target_price, entry_price, stop_loss, reasons
```

### 报告生成器 (`scripts/report_generator.py`)

```python
from scripts.report_generator import AnalysisReportGenerator

generator = AnalysisReportGenerator()

# Markdown报告(含杜邦和趋势分析)
generator.generate_markdown_report(
    company_name="公司名称",
    report_period="2023-12-31",
    report_type="年报",
    statement_data=data,
    indicators=indicators,
    analysis=analysis,
    recommendation=recommendation,
    output_path="分析报告.md",
    dupont_analysis=dupont_result,  # 可选
    trend_analysis=trend_result     # 可选
)

# Excel报告
generator.generate_excel_report(
    company_name="公司名称",
    report_period="2023-12-31",
    statement_data=data,
    indicators=indicators,
    output_path="财务数据.xlsx"
)
```

## 数据结构

### 资产负债表 (balance_sheet)

```python
{
    'total_assets': 100000000,        # 总资产
    'current_assets': 50000000,       # 流动资产
    'cash_and_equivalents': 20000000, # 货币资金
    'accounts_receivable': 15000000,  # 应收账款
    'inventory': 10000000,            # 存货
    'total_liabilities': 40000000,    # 总负债
    'current_liabilities': 25000000,  # 流动负债
    'accounts_payable': 8000000,      # 应付账款
    'shareholders_equity': 60000000,  # 股东权益
}
```

### 利润表 (income_statement)

```python
{
    'operating_revenue': 80000000,       # 营业收入
    'operating_cost': 50000000,          # 营业成本
    'operating_profit': 25000000,        # 营业利润
    'total_profit': 24000000,            # 利润总额
    'net_profit': 20000000,              # 净利润
    'financial_expenses': 1000000,       # 财务费用
    'depreciation_amortization': 2000000, # 折旧摊销(用于EBITDA)
    'basic_eps': 0.5,                    # 基本每股收益(可选)
}
```

### 现金流量表 (cashflow_statement)

```python
{
    'operating_cashflow': 22000000,   # 经营活动现金流
    'investing_cashflow': -5000000,   # 投资活动现金流
    'financing_cashflow': -3000000,   # 筹资活动现金流
    'net_cashflow': 14000000,         # 现金净增加额
}
```

### 元数据 (metadata)

```python
{
    'company_name': '公司名称',
    'total_shares': 1000000000,  # 总股本
    'stock_price': 25.5,         # 当前股价(用于PE、PB、EV计算)
}
```

## 新增功能说明

### 杜邦分析

ROE三因素分解,帮助理解盈利驱动来源:

- **净利率**: 反映盈利能力(定价权、成本控制)
- **资产周转率**: 反映运营效率(资产使用效率)
- **权益乘数**: 反映财务杠杆(负债水平)

ROE质量评价:
- 高净利率驱动:优质,可持续性高
- 高周转驱动:良好,适合薄利多销模式
- 高杠杆驱动:风险较高,需关注财务风险

### 成长性评分

新增20%权重的成长性维度评分:
- 营业收入增长率 (35分)
- 净利润增长率 (35分)
- 总资产增长率 (15分)
- 股东权益增长率 (15分)

### 增强估值指标

- **PE (市盈率)**: 股价/EPS
- **PB (市净率)**: 股价/BVPS
- **PS (市销率)**: 市值/营业收入
- **EV/EBITDA**: 企业价值/息税折旧摊销前利润
- **EBITDA**: 营业利润 + 财务费用 + 折旧摊销

### 趋势分析与预警

- 多期数据趋势方向识别
- 转折点检测
- CAGR(复合年增长率)计算
- 自动预警生成:
  - 严重:流动比率<0.8、资产负债率>80%
  - 警告:ROE连续下滑、经营现金流为负
  - 注意:现金净利比偏低

## 参考文档

- **详细代码示例**: 见 [references/code-examples.md](references/code-examples.md)
- **评分标准**: 见 [references/scoring-standards.md](references/scoring-standards.md)

## 依赖

```bash
pip install pandas numpy openpyxl matplotlib seaborn openai
```

## 注意事项

1. **数据准确性**: 解析结果依赖PDF质量,建议人工复核关键数据
2. **行业差异**: 不同行业的财务指标标准差异较大,分析时需考虑行业特点
3. **投资风险**: 本工具仅供参考,不构成投资建议