>
, ,

东方财富 A股数据 API:用 Python 自建中国股市数据中台,替代 Wind 与 Choice

Reading Time: 2 minutes

核心要点。中国 A股(沪深两市约 5,300 只人民币计价股票)是全球第二大股票市场。国内机构通常依赖三家供应商接入数据:万得 Wind(年费六位数以上)、东方财富 Choice、同花顺 iFinD(年费数万元)。对于量化研究、选股、看板等大部分场景,公开的 东方财富(东财)数据接口能以接近零成本覆盖 90% 的需求 —— 前提是你愿意自己处理字段解析。本文讲清楚东财数据结构、对标 Choice 选股器的筛选接口,以及一份基于 东方财富 A股数据 Screener Actor 的 Python 实战代码。

English version: Eastmoney China A-Shares Data API: Build Your Own Bloomberg for Chinese Equities

A股市场究竟有哪些板块

“A股”特指在上交所(SSE)和深交所(SZSE)挂牌、以人民币计价、面向境内投资者(并通过沪深港通向合格境外投资者开放)的股票。量化策略关注的四个主要板块:

  • 上交所主板 —— 大盘传统蓝筹(工商银行、贵州茅台、中国石油),约 1,700 只。
  • 深交所主板 —— 2021 年合并后的广义深市主板。
  • 创业板 —— 深市成长板,科技股集中,约 1,400 只。
  • 科创板 —— 上交所对标纳斯达克的硬科技板(详见我们的科创板专题文章)。

10%/20% 涨跌停板(主板 ±10%,创业板与科创板 ±20%)、T+1 结算、收盘集合竞价 —— 这些”看似无聊”的结构细节,决定了你的回测能不能在真实交易中复现。

为什么东方财富是事实上的数据源

东方财富是国内最大的金融门户,Choice 终端是国内卖方使用率仅次于 Wind 的付费数据终端。零售端的 quote.eastmoney.com 通过一组面向浏览器的 JSON 接口暴露底层行情数据。这些接口公开、无需鉴权、长期稳定,单 IP 每秒几次请求的限速是合理的。它们撑起了国内大半个零售炒股工具生态。

难点在于:文档全中文,字段名是缩写且无文档(f2f3f5 等),不同接口的返回格式略有差异。把它们清洗成统一 schema 不难,但要多迭代几轮。

对标 Choice 选股器的筛选接口

核心选股接口在 https://datacenter.eastmoney.com/securities/api/data/v1/get,通过 query 参数 filter 传入类 SQL 谓词。可选字段包括总市值(TOTAL_MARKET_CAP)、滚动市盈率(PE_TTM)、市净率(PB_MRQ)、股息率、自由流通市值,以及大量基本面与技术面指标。一个典型筛选条件:

filter=(TOTAL_MARKET_CAP>=50000000000)(PE_TTM>0)(PE_TTM<20)(BOARD_NAME="主板")

分页用 pageNumberpageSize;排序用 sortColumnssortTypes。接口返回沪深两市六位代码、简体中文名称、板块归属,以及请求的指标字段。

Python 实战代码

东方财富 A股 Screener Actor 封装了字段名规范化(英文 key)、板块代码翻译、限速控制。curl 示例:

curl -X POST "https://api.apify.com/v2/acts/nexgendata~eastmoney-china-stock-screener/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"minMarketCapCNY": 50000000000, "maxPE": 20, "boards": ["SSE_MAIN","SZSE_MAIN"], "maxResults": 500}'

Python —— 每日大盘价值股筛选:

import os, json, urllib.request
APIFY_TOKEN = os.environ["APIFY_TOKEN"]
ACTOR = "nexgendata~eastmoney-china-stock-screener"
payload = json.dumps({
    "minMarketCapCNY": 50_000_000_000,
    "maxPE": 20,
    "minDividendYield": 2.0,
    "boards": ["SSE_MAIN", "SZSE_MAIN"],
    "maxResults": 500,
}).encode("utf-8")
url = f"https://api.apify.com/v2/acts/{ACTOR}/run-sync-get-dataset-items?token={APIFY_TOKEN}"
req = urllib.request.Request(url, data=payload, method="POST",
                              headers={"Content-Type": "application/json"})
with urllib.request.urlopen(req, timeout=600) as r:
    stocks = json.loads(r.read())
for s in stocks[:20]:
    print(f"{s['ticker']} | {s['nameEn'] or s['name']} | mcap={s['marketCapCNY']/1e9:.1f}B | PE={s['peTTM']}")

单只股票返回结构:

{
  "ticker": "600519.SH",
  "exchangeCode": "SSE",
  "board": "SSE_MAIN",
  "name": "贵州茅台",
  "nameEn": "Kweichow Moutai",
  "lastPrice": 1683.5,
  "marketCapCNY": 2114570000000,
  "peTTM": 23.4,
  "pbMRQ": 9.1,
  "dividendYieldTTM": 1.78,
  "tradingStatus": "NORMAL",
  "lastUpdated": "2026-05-29T15:00:00+08:00"
}

成本对比:东财方案 vs 主流付费终端

数据源A股覆盖度API 接入年费
万得 Wind全覆盖 + 另类数据 + 公告有(Wind Python API)单席位约 20 万 – 50 万元
东方财富 Choice 终端全覆盖有(Choice API)单席位约 2 万 – 5 万元
同花顺 iFinD全覆盖单席位数万元
彭博 Bloomberg(CN 代码)全覆盖,映射到 Bloomberg tickerBLPAPI / BQNT单席位约 16 万元
Tushare Pro(开源)主要基本面 + EOD 行情有,积分制免费档;Pro 约 2000 元/年
东方财富公开接口(自己写)大部分行情 + 选股有,未公开 JSON免费 + 自己解析
东方财富 Screener Actor同东财公开接口规范化 JSONPPE 按调用计费

对机构合规报表、券商报价整合、需要捆绑另类数据的工作流,Wind 与 Bloomberg 仍是事实上的选择。但纯量化选股、因子研究、看板搭建场景,东财派生数据的性价比明显更高 —— 同样的研究成果,成本可能只是 Wind 的零头。

覆盖范围的限制

  • 盘中 tick 数据 —— 东财提供 1 分钟 K线和快照行情,不提供完整 L2 / 委托簿。高频或微观结构研究需要其他数据源(CTP、CSC,或交易所直连)。
  • 停牌/暂停交易股票 —— A股因重大公告频繁停牌。Screener 返回最后成交价;需要结合交易状态字段过滤,否则信号会失真。
  • 沪深港通可交易性 —— 沪股通/深股通成分股是另一个独立维度。跨境交易者关心,纯 A股量化策略通常不关心。
  • 中概股是另一个宇宙 —— 详见中概股 Screener 专题

这个数据能做什么

  • A股因子研究 —— 价值、质量、动量因子在全量股票池上的每日筛选
  • 红利/股息策略监控 —— 聚焦国有银行与公用事业的高股息组合
  • 创业板成长筛选 —— 服务科技主题基金
  • 行业看板 —— 对接证监会行业分类(CSRC)
  • 替代 Wind 终端的看板 —— 服务无法为每位分析师配置终端的中小私募

北向资金流向归因

对跨境研究有显著价值的一个 A股专属数据点:北向(沪深港通)资金流向归因。港交所每日公布每只可交易 A股的北向买卖成交量 —— 这是境外投资者 A股持仓变化最接近的公开代理变量。对于外资持股占比处于前 25% 的股票,北向资金日度变化对次日股价的解释力比大部分国内资金信号都要强。东财 Screener 在数据可得时会返回外资持股比例与日度变化,让你能直接把外资流向作为筛选维度。

港股与美股交叉上市

许多大盘 A股同时在港交所(H股)上市或以中概股(ADR)在美股交易。A/H/ADR 三地比较与信息流分析需要把三个市场的数据都拉出来对比。配套阅读:港交所上市公司公告 API中概股 Screener

开始使用:东方财富 A股 Screener Actor 页面免费跑第一次筛选。支持按板块、市值、PE、股息率任意组合过滤。

系列相关阅读

中国/亚太系列:

English version: Eastmoney China A-Shares Data API: Build Your Own Bloomberg for Chinese Equities

See also: New — Chinese Social Signals MCP

Run it yourself in minutes

New users get $5 free credit (no card). Browse the full 300+ actor catalog and run any tool on pay-per-use pricing.

More from the blog