Install
openclaw skills install company-onepager生成上市公司"一页纸"调研简报,整合基本信息、市场数据、近10年财务数据表格、近10年月K线图、股东结构、近期新闻。数据优先级:iFinD → Tushare → AkShare + Web Search。每个章节标注数据来源。使用场景:(1) 调研股票/公司信息 (2) 生成股票分析报告 (3) 整合多维数据形成综合报告 (4) 输出 Markdown + PDF。触发词:调研股票、公司简报、一页纸报告、股票分析。Requires TUSHARE_TOKEN (env var) and iFinD auth_token (config file).
openclaw skills install company-onepager本 skill 需要配置两个数据源凭证才能正常运行:
| 凭证 | 类型 | 配置方式 | 获取途径 |
|---|---|---|---|
| TUSHARE_TOKEN | 环境变量 | export TUSHARE_TOKEN="your_token" 或写入 ~/.bashrc | https://tushare.pro |
| iFinD auth_token | 配置文件 | ~/.openclaw/workspace/skills/ifind-finance-data/mcp_config.json 中的 auth_token 字段 | iFinD终端 → 工具 → 常用工具 → 数据MCP |
配置示例:
# Tushare Token(必需)
export TUSHARE_TOKEN="your_tushare_token"
# iFinD Token(可选,用于获取更多数据)
# 将 auth_token 写入 mcp_config.json
降级机制: 当高优先级数据源凭证缺失时,自动降级到下一级:
python3 scripts/onepager.py <股票代码>
示例:
python3 scripts/onepager.py 300308.SZ
python3 scripts/onepager.py 600519.SH
| 优先级 | 数据源 | 配置要求 | 数据覆盖 |
|---|---|---|---|
| 1 | iFinD | auth_token in mcp_config.json | 基本信息、财务数据、K线、股东、新闻 |
| 2 | Tushare | TUSHARE_TOKEN (env var) | 基本信息、市场数据、财务数据、K线、股东 |
| 3 | AkShare | 无需配置 | 基本信息、市场数据(兜底) |
注意: 即使只使用 AkShare,也必须设置 TUSHARE_TOKEN 环境变量(代码启动时检查)。
| 指标 | 说明 |
|---|---|
| 每股营收(元) | 年度营收 / 总股本 |
| 每股现金流(元) | 经营现金流 / 总股本 |
| 每股盈利(元) | EPS |
| 每股派息(元) | 年度分红 |
| 每股净资产(元) | BPS |
| 毛利率(%) | (营收-成本)/营收 |
| 净利润率(%) | 净利润/营收 |
| 主营收入(亿元) | 年度营业收入 |
| 净利润(亿元) | 年度净利润 |
| 库存(亿元) | 资产负债表库存项 |
表格列:各自然年(2016-2025),历史数据在左侧,最新年份在右侧
| 文件 | 功能 |
|---|---|
onepager.py | 主流程(数据获取→图表→Markdown→PDF) |
fetch_company_data.py | 数据获取(iFinD→Tushare→AkShare降级) |
generate_chart.py | 10年月K线图+Zigzag |
generate_markdown.py | Markdown报告(含10年财务表格+来源标注) |
generate_pdf.py | PDF生成(Google Fonts中文字体) |
| 文件 | 内容 |
|---|---|
data_sources.md | 数据源优先级与字段映射 |
pip install tushare akshare matplotlib numpy requests weasyprint markdown