中衍数据 REST API — 金融数据聚合平台,一站式接入实时行情、K线数据、二买二卖信号
交易所级实时行情,延迟<200ms。覆盖A股、ETF、期货、期权全品类
统一API接入,一份Key调用所有数据。支持REST和MCP协议,AI Agent原生就绪
八大品类:A股/ETF/期货/期权/全球商品/宏观事件/技术分析/基本面
二买二卖信号系统、波动率指数、多因子评分 — 中衍独有量化数据
解决金融数据 来源分散、接口各异、接入成本高 的核心痛点。
一个API Key,搞定全市场数据。
在 开发者控制台 注册账号,系统自动生成API密钥。
将API Key放在 X-API-Key 请求头或 ?api_key= 查询参数中:
# 实时行情
curl https://zyqqyj.xyz/api/data/v2/quote/510300 \
-H "X-API-Key: zy8a2b_c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f"
所有端点返回统一JSON格式,包含 ok 状态和 data 数据字段。
{
"ok": true,
"symbol": "510300",
"data": {
"price": 4.87,
"change_pct": 0.82,
"volume": 12567890,
"time": "14:30:00"
},
"tier": "free"
}
| 方法 | 端点 | 说明 | 免费 |
|---|---|---|---|
| GET | /api/data/v2/health |
健康检查(无需认证) | ✅ |
| GET | /api/data/v2/quote/{symbol} |
实时行情(价、涨跌幅、成交量) | ✅ |
| GET | /api/data/v2/kline/{symbol}?period=day&count=60 |
K线数据(日线/5分钟,最多120条) | ✅ |
| GET | /api/data/v2/signals |
全品种二买二卖信号 | ❌ Pro |
| GET | /api/data/v2/indicators/{symbol}?period=day&count=100 |
技术分析指标(均线/RSI/ATR/MACD) | ❌ Pro |
| GET | /api/data/options/chain/{symbol}?expiration=202606 |
期权链合约列表(T型报价) | ❌ Pro |
| GET | /api/data/v2/options/greeks/{symbol} |
期权Greeks(Delta/Gamma/Vega/Theta) | ❌ Pro |
| GET | /ws ↓ 详情 |
WebSocket实时行情推送 | ❌ Pro |
| GET | /api/data/v2/all |
一站式获取所有数据(行情+信号+波指) | ❌ Pro |
| GET | /api/data/v2/vix |
波动率指数信号 | ✅ |
| GET | /api/data/v2/symbols?q=50 |
品种搜索(支持模糊匹配) | ✅ |
| 品类 | 代码格式 | 示例 |
|---|---|---|
| A股 | 6位数字 | 600519(贵州茅台) |
| ETF | 6位数字(51/56/15/16开头) | 510300(沪深300ETF) |
| 期货主力 | 大写字母+0 | AU0(黄金)、RB0(螺纹钢) |
| 外汇 | 货币对 | USDCNH |
| 国债期货 | 字母+0 | T0(10年期国债期货) |
参数: symbol(路径参数)— 品种代码
返回:
{
"ok": true,
"symbol": "510050",
"data": {
"price": 2.865,
"change_pct": 0.53,
"change_amount": 0.015,
"open": 2.855,
"high": 2.870,
"low": 2.850,
"volume": 3256789,
"amount": 93200000,
"time": "14:35:00"
},
"tier": "free"
}
参数:
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
symbol | string | — | 品种代码(必填) |
period | string | day | 周期:day(日线)、5min(5分钟) |
count | int | 60 | 返回条数(1-120) |
每日16:00自动扫描全品种,基于20日均线法则判断买卖信号。仅Pro用户可用
{
"ok": true,
"data": {
"timestamp": "2026-05-21 16:00",
"daily_buy2": 14,
"daily_sell2": 12,
"signals": [
{"code": "510050", "name": "上证50ETF",
"daily_signal": "buy2", "m5_signal": "buy2", "price": 2.865}
]
},
"tier": "pro"
}
ETF期权波指 + 商品期货IV指数,同样基于二买二卖法则判断。
基于K线数据计算常用技术指标,返回均线、RSI、ATR、MACD。
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
symbol | string | — | 品种代码(必填) |
period | string | day | 周期:day(日线)、5min(5分钟) |
count | int | 100 | 计算使用的K线数量(60-500) |
{
"ok": true,
"symbol": "510050",
"period": "day",
"data": {
"ma": { "ma5": 2.989, "ma10": 3.003, "ma20": 3.037, "ma60": 3.004 },
"rsi": { "rsi6": 32.84, "rsi12": 48.35, "rsi24": 48.76 },
"atr14": 0.0421,
"macd": { "dif": -0.010, "dea": 3.003, "macd": -0.020 }
},
"tier": "pro"
}
获取ETF期权T型报价,含看涨/看跌合约的实时行情与Greeks。
| 参数 | 类型 | 说明 |
|---|---|---|
symbol | string | 标的代码(510050=上证50ETF, 510300=沪深300ETF, 588000=科创50ETF) |
expiration | string | 到期月份(可选,如202606),不传则取近月 |
{
"symbol": "510050",
"expiration": "2026-06",
"underlying_price": 2.966,
"calls": [...],
"puts": [...],
"total": 118
}
每个合约包含:行权价、最新价、涨跌幅、持仓量、成交量、隐含波动率。
基于BSM模型计算的期权合约Greeks值,覆盖所有到期月份。
| 参数 | 类型 | 说明 |
|---|---|---|
symbol | string | 标的代码(同期权链) |
{
"symbol": "510050",
"underlying_price": 2.966,
"risk_free_rate": 0.025,
"data": [
{
"contract_id": "10000001",
"strike": 2.95,
"type": "call",
"expiration": "2026-06-24",
"delta": 0.53,
"gamma": 2.85,
"vega": 0.0032,
"theta": -0.0015
}
]
}
WebSocket推送式行情,无需轮询。连接后需先认证再订阅。
Step 1: 建立WebSocket连接
wss://zyqqyj.xyz/api/ws/quote/510050
Step 2: 发送认证消息
{"action": "auth", "api_key": "zy8a2b_c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f"}
Step 3: 收到认证成功响应
{"type": "auth_ok", "symbol": "510050", "message": "已连接,推送 510050 实时数据"}
Step 4: 发送订阅消息(可选,默认自动推送该symbol行情)
{"action": "subscribe", "channel": "quote", "symbol": "510050"}
Step 5: 接收实时行情推送
{
"type": "quote",
"symbol": "510050",
"data": {
"price": 2.966,
"chg": 0.84,
"ema20": 3.023,
"signal": "二卖",
"m5_signal": "二卖"
},
"timestamp": "14:41:39"
}
import websockets, json, asyncio
async def ws_demo():
async with websockets.connect("wss://zyqqyj.xyz/api/ws/quote/510050") as ws:
# 认证
await ws.send(json.dumps({"action": "auth", "api_key": "zy8a2b_..."}))
resp = json.loads(await ws.recv())
print(f"认证: {resp['message']}")
# 接收行情
while True:
data = json.loads(await ws.recv())
print(f"{data['symbol']} 最新价: {data['data']['price']}")
所有数据API(除 /health 外)都需要API Key认证。支持两种方式:
# 方式一:请求头(推荐) curl -H "X-API-Key: zy8a2b_c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f" \ https://zyqqyj.xyz/api/data/v2/quote/510300 # 方式二:查询参数 curl "https://zyqqyj.xyz/api/data/v2/quote/510300?api_key=zy8a2b_c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f"
| 套餐 | 每分钟上限 | 每日上限 |
|---|---|---|
| Free | 10次 | 100次 |
| Pro · 月付 (¥298/月) | 300次 | 10,000次 |
| Pro · 年付 (¥1,280/年) | 300次 | 10,000次 |
超过限流返回 429 Too Many Requests。每日额度在UTC+8 00:00重置。
| HTTP状态 | 说明 |
|---|---|
| 200 | 请求成功 |
| 401 | 缺少API Key |
| 403 | API Key无效或被注销 |
| 429 | 请求频率超限 |
| 502 | 数据源暂不可用 |
import requests
API_KEY = "zy8a2b_c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f"
BASE = "https://zyqqyj.xyz/api/data/v2"
# 查实时行情
r = requests.get(f"{BASE}/quote/510300", headers={"X-API-Key": API_KEY})
data = r.json()
print(f"沪深300ETF: {data['data']['price']} ({data['data']['change_pct']}%)")
# 查二买二卖信号 (Pro)
r = requests.get(f"{BASE}/signals", headers={"X-API-Key": API_KEY})
signals = r.json()
print(f"今日二买: {signals['data']['daily_buy2']}, 二卖: {signals['data']['daily_sell2']}")
# 查K线
r = requests.get(f"{BASE}/kline/510050?period=day&count=20",
headers={"X-API-Key": API_KEY})
klines = r.json()
print(f"最新K线: 开{klines['data'][-1][1]} 收{klines['data'][-1][2]}")
# 查技术分析指标 (Pro)
r = requests.get(f"{BASE}/indicators/510050", headers={"X-API-Key": API_KEY})
ind = r.json()
print(f"MA5={ind['data']['ma']['ma5']} RSI6={ind['data']['rsi']['rsi6']}")
# 查期权链 (Pro)
r = requests.get("https://zyqqyj.xyz/api/data/options/chain/510050",
headers={"X-API-Key": API_KEY})
chain = r.json()
print(f"期权合约: {chain['total']}个")
const API_KEY = "zy8a2b_c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f";
const BASE = "https://zyqqyj.xyz/api/data/v2";
// 实时行情
fetch(`${BASE}/quote/510300`, {
headers: { "X-API-Key": API_KEY }
})
.then(r => r.json())
.then(d => console.log(`沪深300ETF: ${d.data.price}`));
// 二买二卖信号
fetch(`${BASE}/signals`, {
headers: { "X-API-Key": API_KEY }
})
.then(r => r.json())
.then(d => {
console.log(`二买: ${d.data.daily_buy2}, 二卖: ${d.data.daily_sell2}`);
});
# 实时行情 curl -s -H "X-API-Key: zy8a2b_c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f" \ https://zyqqyj.xyz/api/data/v2/quote/510300 | jq . # 二买二卖信号 curl -s -H "X-API-Key: zy8a2b_c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f" \ https://zyqqyj.xyz/api/data/v2/signals | jq '.data.daily_buy2, .data.daily_sell2' # K线导出到CSV curl -s -H "X-API-Key: zy8a2b_c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f" \ "https://zyqqyj.xyz/api/data/v2/kline/510050?period=day&count=100" | \ jq -r '.data[] | @csv' > kline_510050.csv # 技术分析指标 curl -s -H "X-API-Key: zy8a2b_c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f" \ "https://zyqqyj.xyz/api/data/v2/indicators/510050" | jq '.data' # 期权链 curl -s -H "X-API-Key: zy8a2b_c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f" \ "https://zyqqyj.xyz/api/data/options/chain/510050" | jq '.total'
中衍数据支持 MCP (Model Context Protocol),Claude、Cursor等AI工具可直接调用数据。
# Claude Code / Cursor 配置
# 在 ~/.hermes/config.yaml 或 Cursor MCP设置中:
{
"mcpServers": {
"zhongyan-data": {
"type": "http",
"url": "https://zyqqyj.xyz/mcp",
"headers": {
"X-API-Key": "zy8a2b_c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f"
}
}
}
}
支持的工具:get_real_time_quote、get_kline_data、get_buy2_sell2_signals、get_volatility_index、search_market_symbols
¥0
¥1,280¥2,800 /年
¥298¥980 /月