A股数据获取体系 + 多源智能路由

Data & APIs

Provides comprehensive A-share market data with multi-source intelligent routing, covering real-time quotes, announcements, news, deep financials, and macro...

Install

openclaw skills install wolfjkd-trader-data

A股数据获取体系 - 快速部署指南

Skill名称:wolfjkd-trader-data 当前版本v3.0(2026-05-22) 作者:wolfjkd 开源协议:MIT

本skill记录A股交易员数据获取的完整解决方案,含多源智能路由能力 适用场景:新机器部署、数据源容错、定时任务搭建、AI Agent数据获取集成


📊 数据获取架构

┌──────────────────────────────────────────────────────────────────────┐
│                        A股数据获取体系                                │
├──────────────┬──────────────┬──────────────┬──────────────┬─────────┤
│   行情数据    │    公告数据   │    新闻数据   │   大宗商品   │ 深度数据 │
├──────────────┼──────────────┼──────────────┼──────────────┼─────────┤
│  腾讯接口 ✅  │ ftshare ✅   │ WebSearch ✅ │ 腾讯接口 ✅  │ Wind ✅  │
│  (毫秒级)    │  (无需Key)   │  (兜底)     │  (无需Key)   │(需API Key)│
│  实时快照    │  A股公告     │  财经资讯    │  黄金银油    │财务/资金/ │
│             │             │             │             │板块/宏观/ │
│             │             │             │             │公告RAG/  │
│             │             │             │             │技术指标   │
└──────────────┴──────────────┴──────────────┴──────────────┴─────────┘

🎯 数据类型与数据源

1. 行情数据(腾讯接口,开箱即用)

数据类型接口地址示例
A股指数https://qt.gtimg.cn/q=sh000001,sz399001,sz399006上证/深证/创业板
自选股https://qt.gtimg.cn/q=sh600170,sh603077,sz000061自定义股票列表
美股指数https://qt.gtimg.cn/q=usINDU,usIXIC,usINX道指/纳斯达克/标普
大宗商品https://qt.gtimg.cn/q=hf_GC,hf_SI,hf_CL黄金/白银/原油
数字货币https://qt.gtimg.cn/q=gb_BTCJPY比特币等

获取方式

# 获取数据(Python)
import subprocess
result = subprocess.run(['curl', '-s', 'https://qt.gtimg.cn/q=sh000001'], capture_output=True, text=True)

2. 公告数据(ftshare-announcement-data,首选)

安装

npx openclaw skills install shawn92/ftshare-announcement-data
# 或移动到workbuddy目录
mv ~/.openclaw/workspace/skills/ftshare-announcement-data ~/.workbuddy/skills/

使用

# 单只股票公告历史(示例:贵州茅台)
python <FTSHARE_SKILL_DIR>/run.py \
  stock-announcements-single-stock-all-periods \
  --stock-code 600519.SH \
  --page 1 --page-size 10

# 全市场某日公告
python <FTSHARE_SKILL_DIR>/run.py \
  stock-announcements-all-stocks-specific-date \
  --start-date 20260520 \
  --page 1 --page-size 20

股票代码格式

  • 上海:600519.SH
  • 深圳:000001.SZ
  • 创业板:300xxx.SZ
  • 科创板:688xxx.SH

3. 新闻数据(WebSearch,兜底方案)

# 公告搜索示例
"贵州茅台 600519 公告 今天"
"比亚迪 002594 公告 最新"

# 新闻搜索示例
"XX股票 最新消息 今天"
"今日财经新闻 20260520"
"AI 科技 最新"

4. 板块/资金数据(WebSearch备选)

akshare东方财富接口可能被拒,已内置Wind作为稳定替代

# 搜索关键词
"A股涨幅前5板块"
"北上资金 净流入"
"今日市场异动"

5. Wind深度数据(万得金融,核心补充)

定位:填补腾讯接口无法覆盖的财务报表、资金流向、板块行情、技术指标、宏观指标等深度数据空白

5.1 安装与配置

# Wind万得金融Skill(Gitee源,推荐国内用户)
npx skills add https://gitee.com/wind_info/wind-skills.git --skill wind-mcp-skill -g -y
npx skills add https://gitee.com/wind_info/wind-skills.git --skill wind-find-finance-skill -g -y

# 配置API Key(需要Wind开发者账号)
node <WIND_SKILL_DIR>/scripts/cli.mjs open-portal
# 拿到Key后配置
node <WIND_SKILL_DIR>/scripts/cli.mjs setup-key <YOUR_KEY> --scope global

5.2 核心Server类型(8个)

server_type能力覆盖适用场景
stock_dataA股行情+基本面+技术指标+风险个股深度分析
global_stock_data港股/美股同上海外标的行情
fund_dataETF/基金全维数据ETF套利/折溢价监控
index_data指数/板块行情+PE/PB分位+技术大盘/板块分析
bond_data债券档案+估值+主体财务宏观对冲参考
financial_docs公告RAG+财经新闻RAG公告/新闻语义搜索
economic_dataEDB宏观/行业经济指标GDP/CPI/PMI等宏观数据
analytics_dataNL通用入口(兜底)跨域综合查询

5.3 常用查询速查表

📈 行情快照

# 个股最新价+涨跌幅+成交量
node <WIND_SKILL_DIR>/scripts/cli.mjs call stock_data get_stock_price_indicators \
  '{"windcode":"600519.SH","indexes":"中文简称,最新成交价,涨跌幅,成交量,换手率,市盈率(TTM),市净率"}'

📊 K线历史

# 日K线(近30个交易日)
node <WIND_SKILL_DIR>/scripts/cli.mjs call stock_data get_stock_kline \
  '{"windcode":"600519.SH","begin_date":"20260418","end_date":"20260522","count":30}'

💰 财务基本面

# ROE+净利润增速(自然语言查询)
node <WIND_SKILL_DIR>/scripts/cli.mjs call stock_data get_stock_fundamentals \
  '{"question":"贵州茅台2024年ROE和净利润增速"}'

📐 技术指标

# MACD/KDJ/RSI/BOLL
node <WIND_SKILL_DIR>/scripts/cli.mjs call stock_data get_stock_technicals \
  '{"question":"贵州茅台近60日MACD和RSI走势"}'

🏭 板块/指数

# 指数PE/PB历史分位
node <WIND_SKILL_DIR>/scripts/cli.mjs call index_data get_index_fundamentals \
  '{"question":"沪深300指数PE/PB历史分位"}'

📰 公告RAG

# 个股公告搜索
node <WIND_SKILL_DIR>/scripts/cli.mjs call financial_docs get_company_announcements \
  '{"query":"贵州茅台最新公告","top_k":5}'

🌍 宏观指标

# 中国CPI/PPI
node <WIND_SKILL_DIR>/scripts/cli.mjs call economic_data get_economic_data \
  '{"metricIdsStr":"中国CPI同比","freq":"月","beginDate":"20250101","endDate":"20260522"}'

5.4 Wind vs 其他数据源分工

数据需求首选备选说明
实时价格快照腾讯接口Wind stock_data腾讯毫秒级,Wind字段更丰富但有延迟
历史K线WindAkShare腾讯K线Wind数据质量更高
A股公告ftshareWind RAGftshare按日期列表,Wind按内容语义搜索
财经新闻WebSearchWind RAGWind新闻RAG质量高
财务报表/ROE/盈利Wind只有Wind能取到
技术指标(MACD/RSI)Wind只有Wind能取到
板块涨跌/资金流向Wind index_dataWebSearchWind可取板块行情+PE分位
北上资金/资金流Wind NLWebSearchanalytics_data或NL工具
宏观指标(GDP/CPI)WindWebSearchWind EDB数据库

5.5 Wind注意事项

  • ⚠️ 有日调用额度:不要在循环中无节制调用,优先腾讯接口做实时快照
  • ⚠️ 单工具单标的:批量查询需循环调用,不要传逗号分隔多代码
  • ⚠️ 命令必须在skill目录下执行:CLI用相对路径加载资源
  • ⚠️ 结果标注合规要求:使用Wind数据时必须标注「数据来源于万得Wind金融数据服务」
  • indexes字段只接中文名:从 wind-mcp-skill/references/indicators.md 复制
  • NL question/query禁止空格:用标点符号或直接连接替代空格

📚 AkShare可用接口(v1.18.63实测)

⚠️ 注意:东方财富接口(push2.eastmoney.com)可能被拒,但部分腾讯/新浪接口可用

✅ 可用接口

接口数据类型代码示例
stock_zh_a_hist_tx腾讯历史K线见下方
stock_news_em财经早餐新闻见下方
import akshare as ak

# 1. 腾讯历史K线(推荐,无需代理)
df = ak.stock_zh_a_hist_tx(
    symbol='sz000001',      # 股票代码(sz/sz000001格式)
    start_date='20260518',
    end_date='20260520',
    adjust=''               # ''不复权, 'qfq'前复权
)

# 2. 财经早餐新闻
df = ak.stock_news_em()

# 3. 巨潮资讯个股公告
df = ak.stock_zodiac_em(symbol='000001')

❌ 不可用接口(东方财富被拒)

接口原因替代方案
stock_zh_a_spot_em东方财富被拒腾讯接口curl
stock_zh_index_spot_em东方财富被拒腾讯接口curl
stock_hsgt_*北上资金接口WebSearch / Wind

🔧 AkShare安装命令

pip install akshare -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com --upgrade

🔄 多源数据智能路由(data_router.py)

定位:自动检测数据源健康状态,评分择优,解决免费接口临时失效问题

依赖:Python 3.x 标准库(无需额外安装任何包

6.1 核心架构

请求 → probe_sources(数据类型)
    │
    ├── ThreadPoolExecutor 并行探测(最多4线程)
    │     ├── TencentAdapter  (行情/指数/大宗商品)
    │     ├── WindAdapter      (深度数据/个股)
    │     └── FtShareAdapter   (公告)
    │
    ↓ 每个适配器独立返回 DataSourceResult
    │
    select_best(results) → 按score降序,≥50分使用,接近时选更快

6.2 评分模型

维度权重腾讯标准Wind标准ftshare标准
可用性40%连通且有数据=100连通=100连通=100
及时性25~30%<500ms=100, >5s=10<1.5s=100, >10s=10<2s=100, >15s=20
质量30~35%数据完整度+数值合理有内容且无error=95返回条数≥5=95

等级:A级≥85 / B级≥70 / C级≥50 / D级<50

6.3 CLI命令

python data_router.py health                              # 健康检测
python data_router.py quote --codes sh000001 --json        # 行情(JSON)
python data_router.py watchlist --json                     # 自选股(JSON)
python data_router.py compare --code 600519.SH --type quote # 多源对比

6.4 定时任务集成

晚间报告推荐流程:

  1. python data_router.py health — 确认哪些源活着
  2. python data_router.py quote --json — 行情JSON
  3. python data_router.py watchlist --json — 自选股JSON
  4. 公告/新闻根据health结果选源,报告标注来源和评分

6.5 已知限制

限制状态改进方向
Wind一致性检查嵌套JSON解析不完美优化envelope提取
无缓存机制每次实时探测加短时间缓存
仅3个数据源覆盖主场景可扩展WebSearch

6.6 配置自选股

编辑 data_router.py 中的 WATCHLIST 列表即可自定义你的自选股:

WATCHLIST = [
    ("sh600519", "贵州茅台"),   # 示例:修改为你的持仓
    ("sz000001", "平安银行"),
    ("sh600036", "招商银行"),
    # ... 继续添加
]

🔄 备用方案(容错策略)

数据类型首选备用1备用2
行情快照腾讯接口Wind stock_data-
历史K线Wind stock_dataAkShare腾讯K线-
公告ftshareWind financial_docs RAGWebSearch
新闻WebSearchWind financial_docs RAG-
财务/技术指标Wind-
板块/资金/宏观Wind (index_data/economic_data)WebSearch-

自动切换逻辑(两种模式):

模式1:智能路由(推荐,使用data_router.py)

并行探测所有候选源 → 评分排序 → 选最优(≥50分) → 接近时选更快
命令: python data_router.py health / quote / watchlist

模式2:链式降级(手动/脚本)


🚀 快速部署步骤

新机器部署清单

  1. 安装基础依赖
pip install akshare
  1. 安装核心Skills
# ftshare公告(来自clawhub.ai)
npx openclaw skills install shawn92/ftshare-announcement-data

# Wind万得金融(Gitee源,推荐国内)
npx skills add https://gitee.com/wind_info/wind-skills.git --skill wind-mcp-skill -g -y
npx skills add https://gitee.com/wind_info/wind-skills.git --skill wind-find-finance-skill -g -y

# 其他推荐Skills(按需)
npx openclaw skills install openclaw/skills/tencent-finance
npx openclaw skills install sugarforever/01coder-agent-skills/china-stock-analysis
  1. 配置Wind API Key(可选,有Wind账号的话)
node <WIND_SKILL_DIR>/scripts/cli.mjs open-portal
node <WIND_SKILL_DIR>/scripts/cli.mjs setup-key <YOUR_KEY> --scope global
  1. 测试数据源
# 测试腾讯接口
curl -s "https://qt.gtimg.cn/q=sh000001"

# 测试智能路由
python data_router.py health

⚠️ 已知限制

限制项说明解决方案
akshare东方财富连接可能被拒腾讯接口/Wind替代
Wind日调用额度有上限,省着用实时快照优先腾讯接口,深度分析才用Wind
Wind单工具单标的批量需循环写for循环逐只调用
港股/美股数据腾讯接口字段有限Wind global_stock_data

🔧 故障排除

腾讯接口失败

  • 检查网络连接
  • 可能是临时故障,5分钟后重试

ftshare返回空

  • 检查日期格式(YYYYMMDD)
  • 确认股票代码格式正确(600519.SH)
  • 切换Wind financial_docs RAG或WebSearch备用方案

WebSearch无结果

  • 换用不同关键词
  • 检查日期是否正确(今天是工作日?)
  • 尝试英文关键词

Wind调用失败

  • KEY_MISSING:执行 node <WIND_SKILL_DIR>/scripts/cli.mjs open-portal 重新配置
  • RATE_LIMIT_DAILY:日额度用完,切换腾讯接口/WebSearch
  • INVALID_PARAMS_JSON:检查shell转义(Bash单引号/PowerShell反斜杠)
  • NETWORK_ERROR:等3-5秒后重试
  • 确认命令在wind-mcp-skill目录下执行

data_router.py报错

  • "Wind CLI不存在" → 未安装wind-mcp-skill,忽略即可(自动降级为腾讯接口)
  • "ftshare run.py不存在" → 未安装ftshare-announcement-data,公告功能暂不可用
  • 超时 → 检查网络连接,增加TIMEOUTS配置

📋 版本变更日志

版本日期变更内容
v3.02026-05-22新增 data_router.py 多源智能路由;SKILL.md新增第6节;容错策略升级为智能路由模式
v2.02026-05-22整合Wind万得金融能力:8个server_type、速查表、分工对照表;架构从4列扩展为5列
v1.02026-05-20初始版本:腾讯接口+ftshare公告+WebSearch+AkShare数据源体系

本skill由 wolfjkd 开源维护,当前版本:v3.0 | MIT License