量化策略最怕两件事:数据慢半拍,字段还对不上。AI 能快速写出因子和策略,却不能替你修复错误的时间戳、缺失的成交量和不一致的复权口径。数据源的稳定性与准确性,决定了回测收益能不能在实盘重现。
这篇文章把 FXYZ(官网展示名称为“黑狼数据”)的接口按交易研究流程重新整理,重点看实时行情、K 线、盘口、竞价、资金流和涨跌停数据怎么配合使用。
按当前在线文档,FXYZ 共列出 17 个接口,覆盖基础数据、涨跌停数据和实时行情数据三大目录。
量化数据源,真正要看什么
| 维度 | 量化场景里的问题 | 选型时要核对 |
|---|---|---|
| 时效 | 信号触发时,价格是不是已经过期 | 更新频率、交易时段、时间戳精度 |
| 准确 | 成交量、价格、涨跌幅能否和基准行情对齐 | 单位、字段定义、异常值处理 |
| 完整 | 只有收盘价,无法解释盘中成交和盘口变化 | 行情、K 线、五档、逐笔、资金流是否齐全 |
| 可复现 | 回测和实盘使用了不同口径 | 复权参数、交易日、历史修订规则 |
AI 负责放大研究速度,行情数据负责决定策略能不能落地。
FXYZ 数据源一张图看懂

FXYZ 文档给出的 API 基础地址是 http://api.fxyz.site,接口文档见 http://www.fxyz.site/doc。所有请求都需要带 token 参数,具体权限和套餐以服务方开通结果为准。
FXYZ 覆盖哪些股票数据
| 数据层 | 代表接口 | 适合做什么 | 文档标注的更新节奏 |
|---|---|---|---|
| 基础数据 | /wolf/list、/wolf/sector、/wolf/financemetric |
股票池、板块成分、财务因子 | 收盘后 18:00 或 22:00 更新,财务指标以文档为准 |
| 实时行情 | /wolf/time、/wolf/time/day |
实时价格、成交量、估值和涨跌幅 | 交易时段约每 1 分钟;部分接口支持all 全市场参数 |
| K 线与历史 | /wolf/time/kline、/wolf/deal、/wolf/price |
多周期回测、逐笔成交、分价统计 | K 线盘中秒级;逐笔与分价盘后更新 |
| 盘口与竞价 | /wolf/time/five、/wolf/time/bid |
买卖盘、开盘竞价、微观结构因子 | 文档标注盘中毫秒级更新 |
| 情绪与事件 | /wolf/zt、/wolf/dt、/wolf/zb、/wolf/qs、/wolf/cx |
涨跌停、炸板、强势股、次新股 | 交易时段约每 1 分钟,历史数据收盘后更新 |
| 资金与复权 | /wolf/money、/wolf/fq |
主力分单、复权变更、事件校准 | 历史数据盘后更新 |
更新频率是文档说明,不等同于策略的成交保证。接入前要用自己的网络、账户权限和交易时段做一次实测。
实时行情接口:把价格和因子放在一起
/wolf/time 返回的字段比较适合做盘中选股和因子计算,常用字段包括:
| 字段 | 含义 | 常见用途 |
|---|---|---|
zxj |
最新价 | 计算收益、突破和止损 |
zdf、zde |
涨跌幅、涨跌额 | 动量、强弱和风控 |
cjl、cje |
成交量、成交额 | 流动性过滤、量价因子 |
hsl、lb |
换手率、量比 | 活跃度与异动筛选 |
zsz、ltsz |
总市值、流通市值 | 市值分组、容量约束 |
roe、jtsyl、ttmsyl |
ROE、静态市盈率、TTM 市盈率 | 基本面与估值组合 |
单票策略可以传入 code。具备相应权限时,再按文档使用 all 做全市场拉取,避免一开始就把请求量打满。
K 线、五档和竞价:盘中策略的三类输入
| 接口 | 核心参数 | 能拿到什么 |
|---|---|---|
/wolf/time/kline |
symbol、code、period、cq、日期区间 |
1 分钟到年线的 OHLCV,支持不复权、前复权、后复权 |
/wolf/time/five |
symbol、code |
买一到买五、卖一到卖五的价格和数量 |
/wolf/time/bid |
code |
竞价价、竞价量、未匹配量、未匹配金额和买卖方向 |
做盘口策略时,建议把行情时间统一到同一时区,再用 (code, timestamp) 去重。五档快照和逐笔成交不要直接混成一张表,否则会把不同时间粒度的信号误当成同一时刻。
逐笔、分价和资金流:解释信号为什么出现
/wolf/deal 提供成交价、成交量、成交额和主动买卖方向,可用于拆解冲击成本与成交结构。/wolf/money 进一步区分主买、主卖以及特大单、大单、中单、小单的金额和数量。
这类数据很适合做“信号解释层”:模型触发买入后,可以检查成交是否由大单推动,或用主动性买卖判断信号是否正在衰减。接口文档显示这些历史数据在盘后更新,不能把它们当作盘中实时流。
涨跌停数据:A 股情绪因子的现成入口
| 接口 | 数据重点 | 可构建的因子 |
|---|---|---|
/wolf/zt |
首次封板、最后封板、封板资金、连板数 | 封板强度、连板梯队 |
/wolf/dt |
连续跌停、封单资金、开板次数 | 极端风险、流动性压力 |
/wolf/zb |
炸板次数、首次封板、振幅 | 炸板率、封板稳定度 |
/wolf/qs |
入选理由、是否新高、量比 | 强势延续、突破过滤 |
/wolf/cx |
上市日期、开板日期、是否新高 | 次新股生命周期 |
涨跌停接口的字段已经包含不少交易员常用指标,适合做情绪温度计,也适合给 AI 模型提供事件标签。
FXYZ API 的最小接入方式
接口采用 URL 参数传递 token。下面示例只读取单只股票,Token 放在环境变量里,避免写进代码仓库。
import os
import requests
BASE_URL = "//api.fxyz.site"
TOKEN = os.environ["FXYZ_TOKEN"]
def get_realtime_quote(code: str) -> dict:
params = {
"symbol": "stock",
"code": code,
"token": TOKEN,
}
response = requests.get(
f"{BASE_URL}/wolf/time",
params=params,
timeout=10,
)
response.raise_for_status()
payload = response.json()
if isinstance(payload, dict):
if payload.get("code") != 200:
raise RuntimeError(payload.get("message", "FXYZ 请求失败"))
rows = payload.get("data") or []
else:
rows = payload
if not isinstance(rows, list) or not rows:
raise ValueError("接口没有返回有效行情")
row = rows[0]
return {
"code": row.get("code"),
"price": row.get("zxj"),
"change_pct": row.get("zdf"),
"volume": row.get("cjl"),
"turnover": row.get("hsl"),
"timestamp": row.get("tradeDate"),
}
print(get_realtime_quote("000001"))
K 线接口的参数可以这样组织:
params = {
"symbol": "stock",
"code": "000001",
"period": "1d",
"cq": 1, # 1 不复权,2 前复权,3 后复权
"startDate": "YYYY-MM-DD",
"endDate": "YYYY-MM-DD",
"token": TOKEN,
}
rows = requests.get(
f"{BASE_URL}/wolf/time/kline",
params=params,
timeout=10,
).json()
接入后,数据管线要这样做
- 原始层:按接口、请求时间和响应体落盘,保留原始 JSON,方便追溯。
- 标准层:统一代码格式、时区、价格单位和成交量单位,保留字段字典。
- 校验层:检查重复时间戳、空数组、价格越界、成交量倒退和交易日错位。
- 特征层:再计算收益率、盘口不平衡、量价指标和情绪因子。
- 服务层:给回测和实盘使用同一套字段,配上重试、限流、断点续拉和监控。
先把数据管线做成可追溯的,再让 AI 去优化策略,效率会更高。
一份实盘前的核对清单
| 检查项 | 需要确认 |
|---|---|
| 时间戳 | 是否统一到交易所时间,盘前、午间和盘后如何标记 |
| 复权口径 | 回测使用的cq 是否与信号和收益计算一致 |
| 字段单位 | 成交量是手还是股,金额是元还是万元 |
| 数据缺口 | 空数组、停牌、涨跌停和网络超时如何区分 |
| 更新频率 | 文档频率与实测频率是否一致,是否存在延迟尖峰 |
| 权限与限流 | 单票、全市场、all 参数和调用次数是否在套餐范围 |
| 安全 | 文档示例使用 HTTP,生产环境要向服务方确认 HTTPS、Token 保护和白名单方案 |
/wolf/price 的字段说明在文档中与竞价字段较接近,接入时建议用样本响应核对语义,再写入统一字段字典。
FXYZ 适合怎样的量化项目
| 项目阶段 | 推荐组合 |
|---|---|
| 股票池构建 | /wolf/list + /wolf/sector + /wolf/financemetric |
| 盘中选股 | /wolf/time + /wolf/time/kline |
| 开盘竞价 | /wolf/time/bid + /wolf/time/five |
| 微观结构 | /wolf/time/five + /wolf/deal |
| 情绪策略 | /wolf/zt + /wolf/dt + /wolf/zb + /wolf/qs |
| 盘后归因 | /wolf/money + /wolf/fq + K 线历史 |
FXYZ 的价值在于接口覆盖面比较完整:一个数据源就能把股票池、实时行情、盘口、事件和盘后研究串起来。真正决定策略质量的,仍然是字段核验、时间对齐、权限边界和异常监控。
结语
AI 让量化研究从“写代码”进入“快速试错”,可靠的数据源让试错结果能够被复现。把行情接入、字段字典和质量监控先搭好,模型复杂度才有意义。
Github开源项目:https://github.com/fxyzsite/FxyzSkill

