Agent Skills
› xbtlin/ai-berkshire
› financial-data
financial-data
GitHub规范美股、港股、A股及台股财务数据获取与交叉验证流程,明确各市场优先数据源及一手披露渠道。要求关键数据双源校验,提供FinMind工具用法及货币单位处理规则,确保数据准确性。
触发场景
需要获取特定股票或公司的财务指标(如营收、净利、估值)
进行跨市场或单一市场的企业基本面分析
查询台湾股市的月营收或股利政策
安装
npx skills add xbtlin/ai-berkshire --skill financial-data -g -y
SKILL.md
Frontmatter
{
"name": "financial-data",
"description": "AI Berkshire skill: 财务数据获取与交叉验证规范. Source: skills\/financial-data.md."
}
Codex adapter note
This skill is generated from skills/financial-data.md so Claude Code and Codex users share one canonical workflow.
- Treat
$ARGUMENTSas the user's request in the current Codex thread. - When the source mentions Claude-only surfaces such as Task, Agent, WebSearch, Bash, Read, or Write, use the closest Codex capability available in this session: subagents when available, web search when needed, shell commands for local tools, and normal file edits for workspace files.
- Use shared project tools from
tools/in this repository. Prefer running commands from the repository root with paths likepython3 tools/financial_rigor.py ...; if the current thread starts outside the repo, locate the actual checkout path first instead of assuming a fixed home-directory path. - Before starting research, run the
datecommand to confirm today's date; treat it as the baseline for "latest" data and state the data cutoff date in the report header. Never assume the current date from training data. - Preserve the research quality rules from
AGENTS.md: cross-check financial data, use exact arithmetic tools for valuation/math, and clearly label uncertainty and source gaps.
财务数据获取与交叉验证规范
本规范适用于所有涉及企业财务数据的研究。每个关键数据必须来自两个独立来源,误差>1%须标记。
数据源优先级
美股(PDD、腾讯ADR、网易ADR等)
| 优先级 | 来源 | URL | 获取方式 |
|---|---|---|---|
| 1(主) | macrotrends | macrotrends.net/stocks/charts/{ticker} | 直接访问,无需注册 |
| 2(副) | stockanalysis | stockanalysis.com/stocks/{ticker}/financials | 直接访问,无需注册 |
| 原始一手 | SEC EDGAR | sec.gov/cgi-bin/browse-edgar | 10-K / 10-Q 原文 |
港股(腾讯0700、网易9999、美团3690等)
| 优先级 | 来源 | URL | 获取方式 |
|---|---|---|---|
| 1(主) | aastocks | aastocks.com/tc/stocks/analysis/company-fundamental | 直接访问 |
| 2(副) | macrotrends(ADR代码) | 腾讯用TCEHY,网易用NTES | 直接访问 |
| 原始一手 | HKEX披露易 | hkexnews.hk | 年报PDF |
A股(三七互娱、吉比特等)
| 优先级 | 来源 | URL | 获取方式 |
|---|---|---|---|
| 1(主) | 东方财富 | eastmoney.com → 搜股票代码 → 财务报表 | 直接访问 |
| 2(副) | 巨潮资讯 | cninfo.com.cn | 原始年报/季报PDF |
台股(台积电2330、联发科2454、大立光3008等)
| 优先级 | 来源 | URL | 获取方式 |
|---|---|---|---|
| 1(主) | FinMind API | api.finmindtrade.com | tools/twstock_data.py(零依赖脚本,见下) |
| 2(副) | Goodinfo台湾股市资讯网 | goodinfo.tw/tw/StockDetail.asp?STOCK_ID={代码} | 直接访问 |
| 原始一手 | 公开资讯观测站(MOPS) | mops.twse.com.tw | 财报原文/月营收公告 |
FinMind 取数工具(分析台股时优先调用,输出自带市值验算):
python3 tools/twstock_data.py quote 2330 # 最新行情 + PER/PBR/殖利率 + 市值验算
python3 tools/twstock_data.py valuation 2330 # 估值指标 + PER一年区间 + 52周高低
python3 tools/twstock_data.py financials 2330 # 近5年年度核心财务(营收/毛利率/归母净利/EPS/ROE)
python3 tools/twstock_data.py revenue 2330 # 近13个月月营收及同比
python3 tools/twstock_data.py dividend 2330 # 近年股利政策(现金/股票股利、除息日)
python3 tools/twstock_data.py search 台積 # 搜索股票代码(注意台股名称为繁体)
台股特别注意:
- 货币单位是新台币(TWD),与港币/人民币/美元混排时必须显式标注,跨市场对比先统一换算
- 月营收是台股独有优势:上市柜公司每月10日前强制披露上月营收,是跟踪基本面拐点最快的公开信号,earnings-review/thesis-tracker 类分析应优先利用(
revenue子命令) - FinMind 损益表为单季值,工具已自动加总为年度值;不足4季的年份会标注"仅前N季累计"
- FinMind 未注册可直接用(有小时级限额)。注册后的 API token 只存本机、严禁提交到 git,工具按优先级自动读取:①环境变量
FINMIND_TOKEN;②本地文件local/finmind_token.txt(local/已被.gitignore永久排除,把 token 单独一行写入该文件即可)。token 不得出现在报告、skill、commit 中 - 交叉验证:FinMind 数值与 Goodinfo(或 macrotrends 上的 ADR,如 TSM)对照,误差规则同下;台积电等有 ADR 的公司注意 ADR 与台股原股的汇率/存托比率差异(1 TSM ADR = 5 股 2330)
执行规范
第一步:获取数据
对每个财务指标(收入、净利润、毛利率、经营现金流、资产负债率等),分别从来源1和来源2取数。
第二步:误差计算与标记
误差率 = |来源1数值 - 来源2数值| / 来源1数值 × 100%
| 误差 | 处理方式 |
|---|---|
| ≤ 1% | ✅ 一致,取来源1数值,标注两个来源 |
| 1% ~ 5% | ⚠️ 标记"数据存在差异",注明两个数值,说明可能原因(汇率/会计口径) |
| > 5% | ❌ 标记"数据存在重大差异",必须查原始财报核实,不得直接使用 |
第三步:数据呈现格式
每个关键数据必须按以下格式标注:
收入:1,239亿元 ✅
- macrotrends: 1,241亿元
- stockanalysis: 1,237亿元
- 误差: 0.3%
差异示例:
净利润:245亿元 ⚠️ 数据存在差异
- macrotrends: 245亿元(GAAP)
- stockanalysis: 278亿元(Non-GAAP)
- 误差: 13.5% — 原因:会计口径不同(GAAP vs Non-GAAP)
常见差异原因(不一定是数据错误)
| 原因 | 说明 |
|---|---|
| GAAP vs Non-GAAP | 最常见,尤其是利润类数据 |
| 汇率换算 | 港币/人民币/美元换算时间点不同 |
| 财年定义 | 自然年 vs 财年(如苹果财年10月结束) |
| 合并口径 | 是否含少数股东权益 |
| 数据更新滞后 | 某平台尚未更新最新一期财报 |
特别规则
- 未上市公司(米哈游、莉莉丝等):只有一手数据来源时,数据前标记
[估计],不执行交叉验证 - 季度数据 vs 年度数据:优先使用年度数据做交叉验证,季度数据部分来源可能有滞后
- 原始财报优先:若两个来源均与原始财报(10-K/年报PDF)不符,以原始财报为准,标记来源错误
股价与复权(历史序列必读)
价格有三种口径,混用会让历史股价位置、长期涨幅、历史估值分位全部失真:
| 口径 | 含义 | 用途 |
|---|---|---|
| 不复权 | 实际成交价,除权除息日跳空 | 仅用于"当前时点"快照 |
| 前复权 | 以最新价为基准回调历史价 | 历史股价对比、N年涨幅、历史PE band 一律用它 |
| 后复权 | 以上市首日为基准前推 | 计算历史总回报/年化收益 |
规则:
- 涉及历史价格的分析统一用前复权,且同一分析内不得混用复权与不复权来源。
- 当前市值/当前PE 用当前实际股价 × 当前总股本即可,与复权无关——复权只影响历史序列。
- 跨越拆股/大比例送转的每股指标(历史EPS、历史股价),必须复权还原后再同比。
- 总回报/年化收益需计入分红(后复权已含),只看价格涨幅会低估。
- 增发/回购后市值验算以最新总股本为准(
financial_rigor.py verify-market-cap偏差>5% 会提示核对)。
快速索引
| 场景 | 主要来源 | 备用来源 |
|---|---|---|
| PDD / 拼多多 | macrotrends.net/stocks/charts/PDD | stockanalysis.com/stocks/pdd |
| 腾讯 | macrotrends.net/stocks/charts/TCEHY | aastocks(0700.HK) |
| 网易 | macrotrends.net/stocks/charts/NTES | aastocks(9999.HK) |
| 三七互娱 | eastmoney.com(002555) | cninfo.com.cn |
| 吉比特 | eastmoney.com(603444) | cninfo.com.cn |
| Nintendo | macrotrends.net/stocks/charts/NTDOY | stockanalysis.com/stocks/ntdoy |
| Capcom | macrotrends(CCOEY) | stockanalysis(CCOEY) |
| 台积电 | tools/twstock_data.py(2330) | goodinfo.tw / macrotrends(TSM,注意1 ADR=5股) |
| 联发科 | tools/twstock_data.py(2454) | goodinfo.tw |
版本历史
-
77c0755
当前 2026-07-19 11:07
新增台股FinMind数据源整合,包括twstock_data.py工具及取数规范;完善Token本地存储与安全策略;修复脚本健壮性及错误提示。
-
459c0c2
2026-07-11 18:00
补充股价与复权口径规则,区分前复权、后复权及不复权的适用场景。
- 736f163 2026-07-05 09:25


