面向中小投资机构和个人投资者的轻量化金融终端。输入股票代码/公司名称,一键生成专业级投研分析报告(HTML),含:
核心理念:用 AI 替代彭博终端 80% 的日常查询功能,成本降至零。
直接告诉我以下信息(不提供则交互式引导):
| 参数 | 说明 | 默认值 | 示例 |
|---|---|---|---|
| ------ | ------ | ------- | ------ |
股票代码 | A股/港股/美股代码 | 必填 | 600519 / 0700.HK / AAPL |
市场 | cn/hk/us | 自动识别 | cn |
分析深度 | quick/standard/deep | standard | standard |
可比公司数量 | 对标的同行数量 | 5 | 5 |
报告格式 | html/pdf/word/all | html | html |
市场自动识别规则:
收到用户请求后,按以下线性流水线执行:
从用户输入中提取股票代码和市场,缺失项使用默认值。
若用户只输入公司名称(如"贵州茅台"),先通过 WebSearch 搜索确认股票代码。
输出确认信息:
✅ 已确认分析目标:贵州茅台(600519.SH)
📊 分析深度:standard | 🏢 可比公司:5家 | 📋 格式:HTML
目标:获取股票实时行情、核心财务数据、近期新闻。
优先级策略(多源回退):
| 优先级 | 数据源 | 适用市场 | 获取方式 |
|---|---|---|---|
| :---: | ------ | :---: | ------ |
| 1 | westock-data Skill | A股/港股/美股 | 调用 Skill 工具 |
| 2 | neodata-financial-search Skill | A股/港股/美股 | 调用 Skill 工具 |
| 3 | WebSearch + WebFetch | 全市场 | 搜索引擎抓取 |
聚合后统一为以下结构(保存为 Python dict,后续步骤复用):
stock_data = {
"basic": {
"code": "600519", "name": "贵州茅台", "market": "cn",
"industry": "白酒", "sector": "食品饮料",
"market_cap": 2100000000000, # 总市值(元)
"price": 1680.50, "change_pct": 1.25,
"pe_ttm": 28.5, "pb": 9.8
},
"financials": {
"revenue": 150560000000, # 营业收入
"net_profit": 74730000000, # 归母净利润
"total_assets": 280000000000, # 总资产
"total_equity": 220000000000, # 股东权益
"total_liabilities": 60000000000, # 总负债
"current_assets": 180000000000,
"current_liabilities": 50000000000,
"gross_profit": 138000000000, # 毛利润
"operating_profit": 95000000000, # 营业利润
"ebitda": 100000000000,
"roe": 0.34, "roa": 0.27,
"revenue_growth": 0.175, # 营收同比增长率
"profit_growth": 0.192, # 利润同比增长率
"gross_margin": 0.917, # 毛利率
"net_margin": 0.497, # 净利率
"debt_ratio": 0.214, # 资产负债率
"current_ratio": 3.6, # 流动比率
},
"news": [
{"title": "...", "source": "...", "date": "...", "sentiment": "positive"}
]
}
若某个字段获取不到,标注为 None,报告中显示"N/A",不阻塞流水线。
目标:补全所有核心财务指标,并进行行业百分位排名。
| 指标 | 公式 | 说明 |
|---|---|---|
| ------ | ------ | ------ |
| ROE | 净利润 / 股东权益 × 100% | 净资产收益率 |
| ROA | 净利润 / 总资产 × 100% | 总资产收益率 |
| PE(TTM) | 总市值 / 近12月净利润 | 滚动市盈率 |
| PB | 总市值 / 股东权益 | 市净率 |
| PEG | PE / 净利润增长率 | 市盈增长比 |
| 毛利率 | (营收 - 营业成本) / 营收 × 100% | |
| 净利率 | 净利润 / 营收 × 100% | |
| 资产负债率 | 总负债 / 总资产 × 100% | |
| 流动比率 | 流动资产 / 流动负债 | |
| 速动比率 | (流动资产 - 存货) / 流动负债 | |
| EV/EBITDA | (市值 + 净负债) / EBITDA | 企业价值倍数 |
| 股息率 | 每股股息 / 股价 × 100% |
编写并执行 scripts/financial_metrics.py,输入 stock_data,输出 metrics_result:
# 核心:调用 westock-data 和 neodata-financial-search
# 从 Skills 获取原始数据后,用 Python 补全计算指标
# 输出结构化指标 + 行业百分位排名
行业百分位排名:通过 WebSearch 获取同行业公司数据,计算目标公司在行业中的排名位置(如"ROE在白酒行业排名前20%")。
目标:自动匹配5家同行业可比公司,进行多维度横向对比。
| 优先级 | 匹配维度 | 权重 |
|---|---|---|
| :---: | ------ | :---: |
| 1 | 行业分类(同申万二级/三级行业) | 必须匹配 |
| 2 | 市值体量(目标市值 ±50%) | 40% |
| 3 | 业务相似度(主营构成相似) | 30% |
| 4 | 市场关注度(研报覆盖/交投活跃) | 30% |
编写并执行 scripts/peer_screener.py:
| 目标公司 | 可比1 | 可比2 | 可比3 | 可比4 | 可比5 | 行业中位数 | |
|---|---|---|---|---|---|---|---|
| ------ | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| 市值(亿) | 21,000 | ... | ... | ... | ... | ... | ... |
| PE | 28.5 | ... | ... | ... | ... | ... | ... |
| ROE | 34% | ... | ... | ... | ... | ... | ... |
| 营收增速 | 17.5% | ... | ... | ... | ... | ... | ... |
| 毛利率 | 91.7% | ... | ... | ... | ... | ... | ... |
目标:生成3张专业图表,嵌入最终报告。
| 序号 | 图表类型 | 内容 | 工具 |
|---|---|---|---|
| :---: | ------ | ------ | ------ |
| 1 | K线趋势图 | 近6个月股价走势 + 成交量 | matplotlib + mplfinance |
| 2 | 财务对比柱状图 | 目标公司 vs 可比公司 核心指标 | matplotlib |
| 3 | 多维雷达图 | 估值/盈利/成长/偿债/营运/现金流 六维评分 | matplotlib |
编写并执行 scripts/chart_generator.py:
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import numpy as np
# 1. K线图 — 使用 mplfinance(如果可用)否则用 matplotlib 模拟
# 2. 柱状图 — 分组柱状图,多公司多指标对比
# 3. 雷达图 — 六维评分,matplotlib polar projection
# 输出到 assets/ 目录:
# - kline.png
# - comparison_bar.png
# - radar.png
图表规格:
若 mplfinance 不可用:
目标:生成美观的 HTML 投研报告,支持导出 PDF/Word。
┌─────────────────────────────────────────────┐
│ 🏦 普惠金融终端 — XYZ公司 投研分析报告 │
│ 生成时间:2026-05-31 | 数据源:多方聚合 │
├─────────────────────────────────────────────┤
│ 📊 一、公司概览 │
│ ┌──────┬──────┬──────┬──────┐ │
│ │ 股价 │ 市值 │ PE │ 行业 │ │
│ └──────┴──────┴──────┴──────┘ │
├─────────────────────────────────────────────┤
│ 📈 二、K线走势图(6个月) │
│ [图表: kline.png] │
├─────────────────────────────────────────────┤
│ 💰 三、核心财务指标 │
│ 指标表格 + 行业百分位排名 │
├─────────────────────────────────────────────┤
│ 🏢 四、可比公司横向对比 │
│ 对比表 + 柱状图 [comparison_bar.png] │
├─────────────────────────────────────────────┤
│ 🎯 五、多维雷达评分 │
│ [图表: radar.png] │
├─────────────────────────────────────────────┤
│ 📰 六、近期重大新闻与舆情分析 │
│ 新闻列表 + 情绪标签 │
├─────────────────────────────────────────────┤
│ ⚠️ 七、风险提示 │
│ 免责声明 + 风险因子 │
└─────────────────────────────────────────────┘
@media print 样式优化| 格式 | 实现方式 | 说明 |
|---|---|---|
| ------ | ------ | ------ |
| HTML | 直接生成 | 默认格式,交互式报告 |
| 浏览器打印或 weasyprint | "在此下载PDF"按钮触发浏览器打印 | |
| Word | python-docx 或 HTML→Word | 备选格式,供编辑使用 |
{workspace}/fin_report_{code}.html{workspace}/charts/ 目录preview_url 展示 HTML 报告执行完成后,输出:
示例输出:
✅ 贵州茅台(600519)投研分析完成!
📊 核心结论:
• ROE 34.0%,行业排名前5%,盈利能力极强
• PE(TTM) 28.5x,处于近3年历史中位水平
• 可比公司中毛利率(91.7%)遥遥领先
• 六维雷达综合评分 87/100,白酒行业标杆
📋 报告文件:fin_report_600519.html
📁 图表目录:charts/
用户: 帮我分析一下贵州茅台
助手: (执行Step 1-7)
✅ 已确认:贵州茅台(600519.SH),白酒行业
[数据聚合中...] → 获取实时行情、财务数据、近期新闻
[指标计算中...] → ROE 34.0% | PE 28.5x | 毛利率 91.7%
[可比公司筛选中...] → 匹配五粮液、泸州老窖、洋河股份...
[图表生成中...] → K线图 ✓ | 对比柱状图 ✓ | 雷达图 ✓
[报告导出中...] → HTML 交互式报告已生成
📋 报告已生成,正在预览...
用户: 分析腾讯,对比阿里巴巴、美团、拼多多、百度、京东
助手: (执行完整流程,深度分析模式)
Python 依赖(运行时自动安装):
Skills 依赖(可选,优先使用):
westock-data — A股/港股/美股详细数据neodata-financial-search — 通用金融数据搜索无需外部API Key:所有数据通过 WebSearch + 内置 Skills 获取,零额外成本。
共 1 个版本