mcpField
C
china-pptx-author

china-pptx-author

github.com/jwangkun文档处理87570 次安装6 周前更新
代码仓库

关于 china-pptx-author

用于生成 A 股上市公司投资分析 PPT 的通用技能,面向投资者及内部分析团队。它按公司和股票代码获取数据,支持多种报告类型,并以图表和可追溯数据构建演示文稿。

主要功能

  1. 01生成 A 股投资分析 PPT
  2. 02获取行情、财务及历史数据
  3. 03制作财务与估值图表
  4. 04支持多种报告类型
  5. 05检查数据一致性与来源

适用场景

  1. 01为客户或投资者制作公司分析演示文稿
  2. 02为内部投委会准备深度研究材料
  3. 03制作行业比较或晨会简报

MCP 相关

文档列出了用于搜索股票、获取行情、财务、历史数据及行业股票的 MCP 工具。技能通过这些工具取得数据,再用于生成 PPT。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jwangkun/claude-for-financial-services-cn --skill china-pptx-author

安装后在 Claude Code 中输入/china-pptx-author确认已加载。

详细介绍

china-pptx-author

用途

为任意上市公司生成专业的 A 股投资分析 PPT。 此技能是一个通用引擎——每次输出均由两个参数驱动:

参数示例说明
{{COMPANY_NAME}}{{COMPANY_NAME}}公司完整中文名称(例如,贵州茅台)
{{TICKER}}{{TICKER}}6 位 A 股代码(例如,600519)
{{OUTPUT_PATH}}./output.pptxPPTX 文件的保存位置

所有财务数据、价格数据、同业估值和公司描述均实时从 iFind / AkShare / 公共 API 获取。不会硬编码任何内容。


数据流程

第 1 步:解析公司信息
# MCP tool: search_stock
search_stock(keyword="{{COMPANY_NAME}}")
# → confirms ticker, exchange (SH/SZ), full legal name
# MCP tool: get_quote
get_quote(ticker="{{TICKER}}")
# → live price, PE, PB, market cap, turnover, 52-week range
# MCP tool: get_financials
get_financials(ticker="{{TICKER}}", statement_type="income", period="annual")
# → annual income statement: revenue, net profit, margins, EPS, etc.
get_financials(ticker="{{TICKER}}", statement_type="balance", period="annual")
# → balance sheet: assets, liabilities, equity
get_financials(ticker="{{TICKER}}", statement_type="cashflow", period="annual")
# → cash flow statement
# MCP tool: get_historical_data
get_historical_data(ticker="{{TICKER}}", frequency="weekly", start_date="{{START_DATE}}", end_date="{{END_DATE}}")
# → OHLCV price history for trend charts
# MCP tool: get_industry_stocks
get_industry_stocks(industry="{{INDUSTRY_NAME}}")
# → peer companies in the same sector for comps analysis
第 2 步:获取同业数据
# For each peer returned by get_industry_stocks, call get_quote to get PE/PB
# Focus on top 5-8 comparable companies by revenue/market cap
第 3 步:生成图表

使用 matplotlib 创建:

  1. 营收与利润趋势 — 来自 get_financials(income)
  2. 利润率趋势 — 毛利率、净利率和 ROE 随时间的变化
  3. 增长率 — 营收和利润同比增长
  4. 同业对比 — 展示 PE 和 PB 与同业对比的横向条形图
  5. 股价趋势 — 来自 get_historical_data
  6. 估值区间 — 基于同业 PE 分布的足球场图

所有图表标题和标签都必须动态包含 {{COMPANY_NAME}}。


演示文稿结构

默认演示文稿为 12 页。根据 deck_type 参数调整章节。

模板(参数化)
Slide 1:  Cover
    {{COMPANY_NAME}} ({{TICKER}}.{{EXCHANGE}})
    {{REPORT_TITLE}}  |  {{DATE}}
    机密文件 | 仅供内部参考

Slide 2:  投资摘要 (Investment Highlights)
    • {{HIGHLIGHT_1}}
    • {{HIGHLIGHT_2}}
    • {{HIGHLIGHT_3}}
    目标价: ¥{{TARGET_PRICE_LOW}} - ¥{{TARGET_PRICE_HIGH}}
    评级: {{RATING}}

Slide 3:  公司概览 (Company Overview)
    {{COMPANY_DESCRIPTION}}
    主营业务: {{MAIN_BUSINESS}}
    成立时间 | 上市板块 | 控股股东 (all from search_stock / get_quote)

Slide 4:  行业分析 (Industry Overview)
    {{INDUSTRY_NAME}} — market size, trends, policy
    Data from: get_industry_stocks result analysis

Slide 5:  财务分析 (Financial Summary)
    [Chart: Revenue & Profit]  [Chart: Margin Trends]
    [Chart: Growth Rates]
    All data from get_financials(income, annual)

Slide 6:  运营指标 (Operating Metrics)
    Segment breakdown, KPIs (if available from financials)

Slide 7:  可比公司估值 (Trading Comparables)
    [Chart: Peer PE/PB comparison]
    Table: Peer | Market Cap | P/E | P/B | EV/EBITDA

Slide 8:  估值分析 (Valuation)
    [Chart: Football field]
    DCF / PE / PB ranges derived from peer analysis

Slide 9:  投资逻辑 (Investment Thesis)
    3-5 key investment bullets derived from data analysis

Slide 10: 风险提示 (Risk Factors)
    Generic risk categories, customized from industry context

Slide 11: 投资建议 (Recommendation)
    评级 + 目标价 range + upside calculation

Slide 12: 免责声明 (Disclaimer)
    Standard A-share research disclaimer
演示文稿类型变体
deck_type页数受众主要章节
pitch12客户/投资者上述完整演示文稿
deep_dive20-30内部投委会增加:详细财务模型、敏感性分析、情景分析
initiation15-20内部突出:公司概况、行业、投资逻辑
sector10-15内部突出:行业分析、同业对比
morning_note5-8内部精简内容:关键数据、投资逻辑、建议

设计规范

元素规范
模板企业蓝金主题(可配置)
字体微软雅黑 / 系统默认无衬线字体
字号标题 24-32pt,正文 12-16pt
配色主色:#1A3C6E(深蓝),强调色:#C8A032(金色)
每页标题中英双语
数据来源在每张数据页底部标注
页码底部居中
免责声明必须放在最后一页

内容规则

规则指引
每页一个主题每页阐述一个观点
标题先行每页顶部都要有清晰的标题
数据可视化图表 > 表格 > 文字
中文为主以中文为主,并配有英文副标题
术语统一使用标准 A 股术语(见下文)
不编造数据如果 API 无法获取数据,则显示“ N/A”或省略
A 股术语
英文中文
Revenue营业收入
Net income (attributable)归母净利润
Gross margin毛利率
Net margin净利率
ROEROE(净资产收益率)
EPS每股收益
P/E市盈率
P/B市净率
Target price目标价
Rating评级
Upside上行空间
YoY同比
QoQ环比
Market cap总市值
Turnover换手率

质量检查清单

交付 PPT 前:

  • 所有 {{PLACEHOLDER}} 均已替换为实时数据
  • 图表清晰易读、标注完整且注明来源
  • 各页数字一致(图表/表格/正文中的营收数据相符)
  • 公司名称和股票代码始终正确
  • 同业数据反映真实的行业可比公司
  • 包含免责声明页
  • 文件名:{{COMPANY_NAME}}_{{TICKER}}_{{REPORT_TITLE}}.pptx

用法

(从项目根目录)调用生成脚本:

cd {{PROJECT_ROOT}} && python3 scripts/generate_a_share_ppt.py \
  --company "{{COMPANY_NAME}}" \
  --ticker "{{TICKER}}" \
  --industry "{{INDUSTRY_NAME}}" \
  --output "{{OUTPUT_PATH}}" \
  --type {{DECK_TYPE}} \
  --title "{{REPORT_TITLE}}"

必需参数:--company、--ticker 可选参数:--industry(用于查找同行)、--output、--type(pitch/deep_dive/initiation)、--title

如果省略 --industry,脚本会尝试根据公司的行业分类推断。

数据源模式切换:设置环境变量 IFIND_DATA_SOURCE_MODE,以控制数据源的优先级。

  • ifind-only(严格模式):仅使用 iFind;不可用时返回错误
  • ifind-fallback(默认):优先使用 iFind,不可用时回退到 AkShare
  • akshare-only, wind-only (Wind only), wind-fallback (Wind first, fallback to iFind → AkShare):跳过 iFind,仅使用 AkShare

评论

支持 Markdown