外观
数据接口 API
用户端 HTTP 接口说明:使用请求头
x-api-key鉴权,覆盖基金行情与自动交易相关端点;
| 属性 | 说明 |
|---|---|
| 适用范围 | 本地开发ETF策略,对接第三方平台等,仅限VIP会员用户使用 |
| 典型场景 | ETF,LOF基金行情拉取、获取策略信息、获取策略最新交易信号 |
| 文档版本 | V1.0 |
1. 概述
本文档包含 6 个 HTTP 接口,分为「基金行情」与「策略」两类。
2. 环境与基础 URL
基础URL: https://www.cifangquant.com/api
请求约定
- 传输编码:UTF-8
- 日期 Query:
YYYY-MM-DD - JSON Body:
Content-Type: application/json
3. 认证
3.1 API Key
| 项 | 规范 |
|---|---|
| 请求头 | x-api-key: <平台发放的 API Key>(必填) |
3.2 认证失败
| HTTP 状态码 | 说明 |
|---|---|
| 401 Unauthorized | Key 无效或未提供 |
示例(401)
http
HTTP/1.1 401 Unauthorized
WWW-Authenticate: ApiKey
Content-Type: application/json
{"detail":"无效的API Key或Secret"}4. 统一响应体
| 字段 | 类型 | 说明 |
|---|---|---|
code | integer | 业务码;0 表示成功 |
message | string | 人类可读提示 |
data | object | array | null | 业务载荷;失败时可为 null |
成功示例
json
{
"code": 0,
"message": "ok",
"data": {}
}5. 接口索引
| 序号 | 方法 | 路径 | 摘要 |
|---|---|---|---|
| 1 | GET | /api/fund/list | 基金列表 |
| 2 | GET | /api/fund/hist_em | 基金历史行情(多代码、复权) |
| 3 | GET | /api/fund/spot | 基金实时行情(最多约2分钟延迟) |
| 4 | GET | /api/fund/exchange_rank | 场内基金收益排行 |
| 5 | GET | /api/trading/list | 自动交易策略列表 |
| 6 | GET | /api/trading/get_strategy_signal | 指定策略当日信号 |
6. 基金行情 API
模块路径前缀:/api/fund
6.1 获取基金列表
获取基金清单;可选关键词过滤
| 属性 | 值 |
|---|---|
| 方法 / 路径 | GET /api/fund/list |
| 鉴权 | x-api-key |
Query 参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
key_word | string | 否 | 基金代码或名称;省略时由返回全量 |
响应
data:object[],基金信息列表, 每项为一只基金的基础信息;字段结构如下。
data[] 单条记录字段
| 字段 | 类型 | 说明 |
|---|---|---|
fund_code | string | 基金代码 |
fund_name | string | 基金名称 |
fund_type | string | 基金类型(如指数型-股票) |
fund_market | string | 上市市场代码(如 SH、SZ) |
establish_date | string | 成立日期,YYYY-MM-DD |
data 示例
json
[
{
"fund_code": "159107",
"fund_name": "创业板软件ETF富国",
"fund_type": "指数型-股票",
"fund_market": "SZ",
"establish_date": "2025-09-09"
}
]请求示例
bash
curl -sS -H "x-api-key: YOUR_API_KEY" \
"https://<host>/api/fund/list?key_word=510300"6.2 获取基金历史行情
批量查询基金历史 K 线/行情数据,支持复权选项。
| 属性 | 值 |
|---|---|
| 方法 / 路径 | GET /api/fund/hist_em |
| 鉴权 | x-api-key |
Query 参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbol | string | 是 | 基金代码;多个以英文逗号 , 分隔,最多支持同时查询50支基金 |
start_date | date | 是 | 开始日期 YYYY-MM-DD |
end_date | date | 是 | 结束日期 YYYY-MM-DD |
adjust | string | 否,默认 none | 复权:none | qfq | hfq |
响应
data:对象;键为请求参数symbol按逗号拆分后的基金代码,值为该标的在start_date~end_date区间内的日线行情(按交易日升序)。
行数据格式(data[基金代码][i] 为长度 7 的数组)
| 下标 | 类型 | 字段含义 |
|---|---|---|
0 | string | 交易日期,YYYY-MM-DD |
1 | number | 开盘价 |
2 | number | 收盘价 |
3 | number | 最高价 |
4 | number | 最低价 |
5 | number | 涨跌幅(百分比数值,如 7.02 表示约 7.02%) |
6 | number | 成交量 |
data 示例(节选两只标的、各两个交易日)
json
{
"161226": [
["2026-04-01", 2.798, 2.929, 2.978, 2.76, 7.02, 4064275],
["2026-04-02", 2.771, 2.796, 2.838, 2.724, -4.54, 3790675]
],
"518880": [
["2026-04-01", 9.95, 10.024, 10.028, 9.912, 3.35, 8356708],
["2026-04-02", 10, 9.738, 10, 9.641, -2.85, 13026467]
]
}请求示例
bash
curl -sS -H "x-api-key: YOUR_API_KEY" \
"https://<host>/api/fund/hist_em?symbol=510300,510500&start_date=2024-01-01&end_date=2024-12-31&adjust=qfq"6.3 获取基金实时行情
获取场内基金实时行情快照。该接口数据源存在行情延迟,通常不超过约 2 分钟。
| 属性 | 值 |
|---|---|
| 方法 / 路径 | GET /api/fund/spot |
| 鉴权 | x-api-key |
Query 参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbol | string | 否 | 基金代码;支持多个代码用英文逗号 , 分隔,不传则返回全量实时行情 |
响应
data:对象;键为基金代码,值为该基金的实时行情对象。
data[基金代码] 字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
code | string | 基金代码 |
name | string | 基金名称 |
price | number | 最新价 |
change | number | 涨跌幅(百分比) |
change_amount | number | 涨跌额 |
volume | number | 成交量 |
amount | number | 成交额 |
open | number | 开盘价 |
high | number | 最高价 |
low | number | 最低价 |
close_yesterday | number | 昨收价 |
fund_type | string | 基金类型(如 LOF) |
trade_date | string | 交易日期(ISO 时间字符串) |
data_time | string | 行情时间(HH:mm:ss) |
data 示例
json
{
"161226": {
"code": "161226",
"name": "国投白银LOF",
"price": 2.73,
"change": -4.177,
"change_amount": -0.119,
"volume": 133505376,
"amount": 366382936,
"open": 2.789,
"high": 2.792,
"low": 2.716,
"close_yesterday": 2.849,
"fund_type": "LOF",
"trade_date": "2026-04-23T00:00:00Z",
"data_time": "13:32:33"
}
}请求示例
bash
curl -sS -H "x-api-key: YOUR_API_KEY" \
"https://<host>/api/fund/spot?symbol=161226,518880"6.4 获取场内基金排行
获取场内基金收益率排行榜,支持按不同区间收益字段排序。
| 属性 | 值 |
|---|---|
| 方法 / 路径 | GET /api/fund/exchange_rank |
| 鉴权 | x-api-key |
Query 参数
| 名称 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
sort_by | string | 否 | 1yzf | 排序字段:zzf(近1周)、1yzf(近1月)、3yzf(近3月)、6yzf(近6月)、1nzf(近1年)、2nzf(近2年)、3nzf(近3年)、jnzf(今年来)、lnzf(成立以来) |
sort_order | string | 否 | desc | 排序方向:desc(降序)或 asc(升序) |
limit | integer | 否 | 30000 | 返回数量上限 |
响应
data:object[],排行结果列表。
data[] 单条记录字段
| 字段 | 类型 | 说明 |
|---|---|---|
rank | integer | 排名 |
fund_code | string | 基金代码 |
fund_name | string | 基金名称 |
fund_type | string | 基金类型 |
date | string | 净值日期,YYYY-MM-DD |
unit_nav | number | 单位净值 |
accumulated_nav | number | 累计净值 |
week_1 | number | 近1周收益率 |
month_1 | number | 近1月收益率 |
month_3 | number | 近3月收益率 |
month_6 | number | 近6月收益率 |
year_1 | number | 近1年收益率 |
year_2 | number | 近2年收益率 |
year_3 | number | 近3年收益率 |
ytd | number | 今年来收益率 |
since_inception | number | 成立以来收益率 |
inception_date | string | 成立日期,YYYY-MM-DD |
data 示例
json
[
{
"rank": 1,
"fund_code": "515880",
"fund_name": "通信ETF国泰",
"fund_type": "指数型-股票",
"date": "2026-04-22",
"unit_nav": 1.4105,
"accumulated_nav": 4.2315,
"week_1": 15.52,
"month_1": 30.87,
"month_3": 33.43,
"month_6": 58.25,
"year_1": 270.6,
"year_2": 282.98,
"year_3": 279.1,
"ytd": 37.28,
"since_inception": 323.19,
"inception_date": "2019-08-16"
}
]请求示例
bash
curl -sS -H "x-api-key: YOUR_API_KEY" \
"https://<host>/api/fund/exchange_rank?sort_by=1yzf&sort_order=desc&limit=100"7. 策略 API
模块路径前缀:/api/trading
7.1 获取自动化交易策略列表
自动化交易策略需要在平台个人中心-> 自动化交易页面中创建,(必须先开通自动化交易服务)

| 属性 | 值 |
|---|---|
| 方法 / 路径 | GET /api/trading/list |
| 鉴权 | x-api-key |
Query 参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
account | string | 否 | 按资金账号筛选 |
响应
ResponseSchemadata:StrategyInfoForAutoTrading[]
StrategyInfoForAutoTrading 字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | integer | ID |
strategy_name | string | 策略名称 |
strategy_description | string | 策略描述 |
execute_time | string | 执行时间,格式 HH:mm:ss |
trading_relation_id | integer | 关联的策略ID |
data 示例
json
[
{
"id": 11040,
"strategy_name": "策略名称",
"strategy_description": "策略描述",
"execute_time": "10:30:00",
"trading_relation_id": 11039
}
]7.2 获取指定自动化交易当日信号
获取单个策略的当日信号
| 属性 | 值 |
|---|---|
| 方法 / 路径 | GET /api/trading/get_strategy_signal |
| 鉴权 | x-api-key |
Query 参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
strategy_id | integer | 是 | 自动化交易 ID,即/api/trading/list接口中返回的数据项的id |
响应
ResponseSchemadata:单个TradingSignalResponse
TradingSignalResponse 字段说明
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
strategy_id | integer | 是 | 自动化交易 ID。 |
buy_stocks | SignalStock[] | 是 | 需要买入的股票列表;无买入信号时为空数组 []。 |
sell_stocks | SignalStock[] | 是 | 需要卖出的股票列表;无卖出信号时为空数组 []。 |
signal_date | string | null | 否 | 信号产生时间,未生成时可能为 null。 |
execution_date | string | null | 否 | 执行时间,未生成时可能为 null。 |
SignalStock 字段说明
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
etf_code | string | null | 否 | ETF 代码 |
etf_name | string | null | 否 | ETF 名称 |
price | number | string | null | 否 | 交易价格 |
quantity | integer | null | 否 | 交易数量 |
action | string | null | 否 | 交易方向 |
data 示例
json
{
"strategy_id": 11040,
"buy_stocks": [],
"sell_stocks": [],
"signal_date": "2026-04-19 10:30:00",
"execution_date": "2026-04-19 10:30:00"
}行为说明
- 策略未运行、关联策略异常或当日信号尚未生成时,可能返回空买卖列表。
- 只有在交易日的执行时间点之后,才能获取到当日的交易信号,且交易信号生成有延迟,所以该接口需要在执行时间点之后进行轮训查询直到获取到信号。
- 信号未生成且未超过服务端重试次数时,
message为「今日信号未生成」