AKShare QDII 数据接口实战:基于集思录 T+0 QDII 的欧美与亚洲市场行情获取指南
【免费下载链接】akshareAKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库项目地址: https://gitcode.com/gh_mirrors/aks/akshare
本篇指南围绕 AKShare 中集思录(jisilu)数据源的三个 QDII 接口展开,系统讲解qdii_e_index_jsl(欧美指数)、qdii_e_comm_jsl(欧美商品)与qdii_a_index_jsl(亚洲指数)的接口参数、输出字段、调用方式与底层实现原理。读完本文,你将能够使用 AKShare 一行代码获取 T+0 QDII 基金的实时行情、场内份额变化、净值估值与溢价率等核心数据,并理解这些数据在跨境 ETF 与 QDII 基金投研中的具体用法。
QDII 数据与 T+0 交易背景
QDII(Qualified Domestic Institutional Investor,合格境内机构投资者)基金允许境内投资者通过公募基金间接投资海外股票、债券、商品等资产。其中一部分跨境 ETF 与 LOF 在场内交易中支持 T+0 回转交易,即当日买入当日即可卖出,这类品种被统称为"T+0 QDII"。
AKShare 提供的三个 QDII 接口均来自集思录网站的 T+0 QDII 数据页(页面锚点qdiia),数据按欧美市场与亚洲市场两个维度组织,每个市场下再细分指数与商品类别,形成如下接口矩阵:
| 接口函数 | 市场 | 类别 | 描述 |
|---|---|---|---|
qdii_e_index_jsl | 欧美市场 | 指数 | 欧美指数 |
qdii_e_comm_jsl | 欧美市场 | 商品 | 欧美商品 |
qdii_a_index_jsl | 亚洲市场 | 指数 | 亚洲指数 |
三个接口均以 pandas DataFrame 形式单次返回所有数据,无需分页参数。在 docs/data/qdii/qdii.md 中详细记录了每个接口的输入输出规范,下面逐一展开。
qdii_e_index_jsl:T+0 QDII 欧美市场指数
接口基本信息
- 接口:
qdii_e_index_jsl - 目标数据源:集思录网站的 T+0 QDII 数据页
- 描述:集思录-T+0 QDII-欧美市场-欧美指数
- 限量:单次返回所有数据
该接口覆盖跟踪美股、欧洲等海外市场指数的 QDII 基金,从数据示例看涵盖中概互联、纳指、标普 500、德国、法国 CAC40、沙特等宽基与行业指数产品,是观察海外市场情绪与跨境 ETF 溢价的常用入口。
输入参数
| 名称 | 类型 | 描述 |
|---|---|---|
| cookie | str | 需要传入用户登录后的 cookie |
该接口仅有cookie一个可选参数(默认空字符串)。集思录部分数据页对未登录用户存在访问限制,传入登录后的 cookie 可提升请求成功率,具体获取方式见下文"实战:cookie 的获取与传递"。
输出参数
返回 DataFrame 共 18 列,字段含义如下:
| 名称 | 类型 | 描述 |
|---|---|---|
| 代码 | object | 基金代码 |
| 名称 | object | 基金名称 |
| 现价 | float64 | 场内最新成交价 |
| 涨幅 | object | 当日涨跌幅 |
| 成交 | float64 | 注意单位:万元 |
| 场内份额 | int64 | 注意单位:万份 |
| 场内新增 | int64 | 注意单位:万份 |
| T-2净值 | float64 | 前两个交易日的基金单位净值 |
| 净值日期 | object | 净值对应日期 |
| T-1估值 | float64 | 前一个交易日的估值 |
| 估值日期 | object | 估值对应日期 |
| T-1溢价率 | object | 前一个交易日的溢价率 |
| 相关标的 | object | 跟踪的指数或标的 |
| T-1指数涨幅 | object | 相关标的的前一交易日涨幅 |
| 申购费 | object | 申购费率 |
| 赎回费 | object | 赎回费率 |
| 托管费 | float64 | 托管费率 |
| 基金公司 | object | 基金公司名称 |
接口调用示例
import akshare as ak qdii_e_index_jsl_df = ak.qdii_e_index_jsl() print(qdii_e_index_jsl_df)返回数据示例
代码 名称 现价 涨幅 ... 申购费 赎回费 托管费 基金公司 0 513220 中概互联ETF 1.235 9.97% ... - - 0.65 招商基金 1 513360 教育ETF 0.537 10.04% ... 0.50% 0.50% 0.65 博时基金 2 159605 中概互联ETF 1.020 7.94% ... - - 0.60 广发基金 3 159607 中概互联网ETF 1.009 7.80% ... 0.00% 0.00% 0.60 嘉实基金 4 513050 中概互联网ETF 1.306 7.22% ... 0.50% 0.50% 0.85 易方达 5 164906 中概互联网LOF 1.180 8.76% ... 1.20% 1.50% 1.45 交银施罗德 6 159822 新经济ETF 0.682 7.06% ... - - 0.35 银华基金 7 159509 纳指科技ETF 1.454 -1.69% ... - - 1.05 景顺长城 8 161128 标普信息科技LOF 4.609 -1.77% ... 1.20% 1.50% 1.05 易方达 9 159518 标普油气ETF 0.910 2.59% ... 0.50% 0.5% 0.60 嘉实基金 10 513300 纳斯达克ETF 1.770 -1.17% ... 0.50% 0.50% 0.80 华夏基金 11 513350 标普油气ETF 0.947 2.71% ... 0.5% 0.5% 0.60 富国基金 12 513500 标普500ETF 1.908 -0.57% ... 0.50% 0.50% 0.85 博时基金 13 159502 标普生物科技ETF 1.036 0.88% ... 0.50% 0.5% 0.60 嘉实基金 14 513290 纳指生物科技ETF 1.217 1.25% ... - - 0.65 汇添富 15 159655 标普ETF 1.461 -0.14% ... 0.50% 0.50% 0.75 华夏基金 16 159612 标普500ETF 1.497 -0.86% ... 0.50% 0.5% 0.75 国泰基金 17 513730 东南亚科技ETF 1.238 0.65% ... - - 0.50 华泰柏瑞 18 159529 标普消费ETF 1.151 1.41% ... - - 0.70 景顺长城 19 161126 标普医疗保健LOF 1.955 0.26% ... 1.20% 1.50% 1.05 易方达 20 513850 美国50ETF 1.266 0.00% ... - - 0.60 易方达 21 513650 标普500ETF基金 1.447 0.35% ... - - 0.75 南方基金 22 159632 纳斯达克ETF 1.607 0.25% ... - - 0.80 华安基金 23 159941 纳指ETF 1.064 -0.47% ... - - 1.05 广发基金 24 159659 纳斯达克100ETF 1.505 -0.13% ... - - 0.65 招商基金 25 159696 纳指ETF易方达 1.300 -0.38% ... - - 0.60 易方达 26 513030 德国ETF 1.449 1.54% ... - - 1.00 华安基金 27 513100 纳指ETF 1.409 -0.35% ... 0.50% 0.50% 0.80 国泰基金 28 513400 道琼斯ETF 1.060 1.05% ... - - 0.65 鹏华基金 29 159561 德国ETF 1.059 1.05% ... - - 0.60 嘉实基金 30 513080 法国CAC40ETF 1.594 1.40% ... - - 0.65 华安基金 31 513390 纳指100ETF 1.568 -0.32% ... - - 0.65 博时基金 32 159501 纳斯达克指数ETF 1.315 -0.38% ... 0.50% 0.5% 0.60 嘉实基金 33 159577 美国50ETF 1.135 -0.26% ... - - 0.65 汇添富 34 513110 纳斯达克100ETF 1.615 -0.19% ... 0.50% 0.50% 1.00 华泰柏瑞 35 159660 纳指100ETF 1.529 -0.39% ... - - 0.65 汇添富 36 513870 纳指ETF富国 1.329 0.00% ... - - 0.60 富国基金 37 159513 纳斯达克100指数ETF 1.182 -0.08% ... - - 1.05 大成基金 38 161127 标普生物科技LOF 1.399 0.21% ... 1.20% 1.50% 1.05 易方达 39 501300 美元债LOF 0.936 -0.32% ... 0.80% 1.50% 0.80 海富通 40 161125 标普500LOF 2.449 0.00% ... 1.20% 1.50% 1.05 易方达 41 162415 美国消费LOF 2.553 0.20% ... 1.20% 1.50% 1.25 华宝基金 42 161130 纳斯达克100LOF 3.159 -0.63% ... 1.20% 1.50% 0.60 易方达 43 160140 美国REIT精选LOF 1.307 0.08% ... 1.20% 1.50% 1.05 南方基金 44 501312 海外科技LOF 1.368 0.74% ... 1.20% 1.50% 1.20 华宝基金 45 164824 印度基金LOF 1.596 -1.54% ... 1.20% 1.50% 1.80 工银瑞信 46 501225 全球芯片LOF 1.353 3.28% ... 1.50% 1.50% 1.45 景顺长城 47 160644 港美互联网LOF 1.265 1.04% ... 1.50% 1.50% 1.80 鹏华基金 48 159329 沙特ETF 1.008 -0.88% ... - - 0.60 南方基金 49 159687 亚太精选ETF 1.285 -0.16% ... - - 0.25 南方基金 50 520830 沙特ETF 1.002 -0.40% ... - - 0.60 华泰柏瑞 [51 rows x 18 columns]qdii_e_comm_jsl:T+0 QDII 欧美市场商品
接口基本信息
- 接口:
qdii_e_comm_jsl - 目标数据源:集思录网站的 T+0 QDII 数据页
- 描述:集思录-T+0 QDII-欧美市场-欧美商品
- 限量:单次返回所有数据
该接口覆盖跟踪原油、黄金、大宗商品等资产类别的 QDII 基金,数据示例中包含原油 LOF、黄金主题 LOF、抗通胀 LOF、石油基金 LOF 等品种,适合跟踪海外大宗商品行情的投研场景。
输入参数
| 名称 | 类型 | 描述 |
|---|---|---|
| cookie | str | 需要传入用户登录后的 cookie |
输出参数
与qdii_e_index_jsl完全一致的 18 列结构:
| 名称 | 类型 | 描述 |
|---|---|---|
| 代码 | object | 基金代码 |
| 名称 | object | 基金名称 |
| 现价 | float64 | 场内最新成交价 |
| 涨幅 | object | 当日涨跌幅 |
| 成交 | float64 | 注意单位:万元 |
| 场内份额 | int64 | 注意单位:万份 |
| 场内新增 | int64 | 注意单位:万份 |
| T-2净值 | float64 | 前两个交易日的基金单位净值 |
| 净值日期 | object | 净值对应日期 |
| T-1估值 | float64 | 前一个交易日的估值 |
| 估值日期 | object | 估值对应日期 |
| T-1溢价率 | object | 前一个交易日的溢价率 |
| 相关标的 | object | 跟踪的指数或标的 |
| T-1指数涨幅 | object | 相关标的的前一交易日涨幅 |
| 申购费 | object | 申购费率 |
| 赎回费 | object | 赎回费率 |
| 托管费 | float64 | 托管费率 |
| 基金公司 | object | 基金公司名称 |
接口调用示例
import akshare as ak qdii_e_comm_jsl_df = ak.qdii_e_comm_jsl() print(qdii_e_comm_jsl_df)返回数据示例
代码 名称 现价 涨幅 ... 申购费 赎回费 托管费 基金公司 0 161129 原油LOF易方达 1.341 2.60% ... 1.20% 1.50% 1.25 易方达 1 161116 黄金主题LOF 1.082 -0.46% ... 0 1.50% 1.40 易方达 2 501018 南方原油LOF 1.194 2.58% ... 1.20% 1.50% 1.28 南方基金 3 160723 嘉实原油LOF 1.387 2.06% ... 1.20% 1.50% 1.28 嘉实基金 4 161815 抗通胀LOF 0.753 0.40% ... 1.60% 1.50% 2.15 银华基金 5 164701 黄金LOF 1.111 -0.45% ... 0.80% 1.50% 1.26 汇添富 6 160216 国泰商品LOF 0.513 0.20% ... 1.50% 1.50% 1.85 国泰基金 7 160416 石油基金LOF 1.615 0.56% ... 0.00% 1.50% 1.28 华安基金 8 163208 全球油气能源LOF 0.983 2.93% ... 1.50% 1.50% 1.85 诺安基金 9 165513 中信保诚商品LOF 0.704 -0.14% ... 1.60% 1.50% 2.05 信诚基金 10 162719 石油LOF 2.222 2.44% ... 1.20% 1.50% 1.30 广发基金 11 160719 嘉实黄金LOF 1.285 -0.16% ... 0.80% 1.50% 1.26 嘉实基金 12 162411 华宝油气LOF 0.719 3.01% ... 1.50% 1.50% 1.28 华宝基金 [13 rows x 18 columns]qdii_a_index_jsl:T+0 QDII 亚洲市场指数
接口基本信息
- 接口:
qdii_a_index_jsl - 目标数据源:集思录网站的 T+0 QDII 数据页
- 描述:集思录-T+0 QDII-亚洲市场-亚洲指数
- 限量:单次返回所有数据
该接口覆盖港股、日本等亚洲市场的指数类 QDII 品种,数据示例中包含恒生 LOF、港股消费 ETF、港股通 ETF、恒生国企 ETF、港股创新药 ETF、日本东证指数 ETF 等,返回的行数明显多于欧美市场(示例中 109 行),品种更丰富。
输入参数
| 名称 | 类型 | 描述 |
|---|---|---|
| cookie | str | 需要传入用户登录后的 cookie |
输出参数
注意:亚洲指数接口的净值、估值、溢价率等字段不带 T-1/T-2 前缀,与欧美市场接口存在差异,共 17 列:
| 名称 | 类型 | 描述 |
|---|---|---|
| 代码 | object | 基金代码 |
| 名称 | object | 基金名称 |
| 现价 | float64 | 场内最新成交价 |
| 涨幅 | object | 当日涨跌幅 |
| 成交 | float64 | 注意单位:万元 |
| 场内份额 | int64 | 注意单位:万份 |
| 场内新增 | int64 | 注意单位:万份 |
| 净值 | float64 | 基金单位净值 |
| 净值日期 | object | 净值对应日期 |
| 估值 | float64 | 实时估值 |
| 溢价率 | object | 溢价率 |
| 相关标的 | object | 跟踪的指数或标的 |
| 指数涨幅 | object | 相关标的的涨幅 |
| 申购费 | object | 申购费率 |
| 赎回费 | object | 赎回费率 |
| 托管费 | float64 | 托管费率 |
| 基金公司 | object | 基金公司名称 |
接口调用示例
import akshare as ak qdii_a_index_jsl_df = ak.qdii_a_index_jsl() print(qdii_a_index_jsl_df)返回数据示例
代码 名称 现价 涨幅 ... 申购费 赎回费 托管费 基金公司 0 164705 恒生LOF 1.089 10.00% ... 1.20% 1.50% 1.05 汇添富 1 513230 港股消费ETF 0.970 9.98% ... 0.5% 0.5% 0.60 华夏基金 2 513990 港股通ETF 1.001 10.00% ... - - 0.25 招商基金 3 159850 恒生国企ETF 0.791 10.01% ... 0.50% 0.50% 0.65 华夏基金 4 159567 港股创新药ETF 1.111 10.00% ... - - 0.60 银华基金 .. ... ... ... ... ... ... ... ... ... 104 520890 港股通红利低波ETF 1.128 5.32% ... 0.50% 0.50% 0.60 华泰柏瑞 105 501307 银河高股息LOF 1.059 5.37% ... 1.00% 1.50% 0.68 银河基金 106 501310 价值基金LOF 1.118 4.39% ... 1.20% 1.50% 0.90 华宝基金 107 513090 香港证券ETF 1.279 9.97% ... 0.50% 0.50% 0.20 易方达 108 513800 日本东证指数ETF 1.387 -0.07% ... - - 0.25 南方基金 [109 rows x 17 columns]源码实现深度解析
三个接口的完整实现集中在 akshare/qdii/qdii_jsl.py 一个文件中,顶层入口在 akshare/init.py 中通过from akshare.qdii.qdii_jsl import qdii_a_index_jsl, qdii_e_index_jsl, qdii_e_comm_jsl对外导出,并登记在 akshare/data/interfaces.json 的接口注册表中。从源码可以梳理出以下实现细节。
请求层:统一的重试与异常处理
三个接口均复用akshare.request模块的make_request_with_retry_json发送 HTTP GET 请求(见 akshare/request.py)。该函数内置了最多 3 次重试、指数退避(初始延迟 1 秒,逐次翻倍)的机制,并对响应状态做了分级处理:
- 200:解析 JSON,若响应体为空则抛出
DataParsingError; - 429:判定为触发限流,抛出
RateLimitError; - 其他非 200 状态:抛出
APIError; - 网络层异常:重试耗尽后统一抛出
NetworkError。
这意味着调用 QDII 接口时遇到瞬时网络抖动或服务端限流,AKShare 会在内部自动重试,无需调用方自行编写重试逻辑。同时该函数支持从全局配置config.proxies读取代理设置,方便在需要代理的网络环境中使用。
数据流:URL、字段映射与类型转换
以qdii_e_index_jsl为例(实现见 akshare/qdii/qdii_jsl.py),完整的数据流为:
- 构造请求:请求地址为
https://www.jisilu.cn/data/qdii/qdii_list/E,其中路径末尾的E表示欧美市场(A表示亚洲市场,即qdii_a_index_jsl使用https://www.jisilu.cn/data/qdii/qdii_list/A);携带___jsl(时间戳型请求标记)与rp=22(每页记录数)两个查询参数,并将调用方传入的cookie放入请求头。 - 解析响应:从返回 JSON 的
rows列表中逐条取出cell字段,构造成 DataFrame。 - 字段重命名:将英文原始字段映射为中文列名,例如
fund_id对应"代码"、price对应"现价"、discount_rt对应欧美市场的"T-1溢价率"(亚洲市场则映射为"溢价率")。 - 类型规范化:对数值列统一执行
pd.to_numeric(..., errors="coerce"),对日期列执行pd.to_datetime(..., errors="coerce").dt.date,确保"现价""成交""场内份额""净值""托管费"等列为数值类型、日期列统一为 date 对象,即便源数据个别字段缺失也能以 NaN 安全承载,不中断整表返回。
三个接口的字段差异
对比源码中的重命名映射表可以发现:
qdii_e_index_jsl与qdii_e_comm_jsl的字段结构完全相同(18 列),都带T-2净值、T-1估值、T-1溢价率、T-1指数涨幅前缀,二者唯一区别仅是数据内容(指数类 vs 商品类),接口地址也同为.../qdii_list/E。qdii_a_index_jsl的字段没有 T-1/T-2 前缀(17 列),直接用净值、估值、溢价率、指数涨幅命名,且不包含"估值日期"列,接口地址为.../qdii_list/A。
这一差异在编写跨接口通用处理逻辑时需要留意,例如统一分析多市场 QDII 数据时,应针对列名做归一化映射。
接口版本演进
从 docs/changelog.md 可以查到这三个接口的演进记录:
- 版本
1.14.92一次性新增qdii_a_index_jsl、qdii_e_index_jsl、qdii_e_comm_jsl三个接口; - 版本
1.15.6修复qdii_e_index_jsl接口; - 版本
1.18.25修复qdii_e_comm_jsl接口。
在 docs/tutorial.md 的接口速查清单中,这三个接口同样被收录在 QDII 分类下。使用时可关注 AKShare 版本号,确保已升级到包含上述修复的版本。
实战:cookie 的获取与传递
集思录部分数据接口需要登录态,cookie参数的正确使用是稳定取数的关键。操作步骤:
- 用浏览器登录集思录网站,打开开发者工具(F12);
- 在"网络(Network)"面板中任选一个请求,从请求头的
Cookie字段复制完整 cookie 字符串; - 将 cookie 作为参数传入接口:
import akshare as ak my_cookie = "您的登录cookie字符串" qdii_df = ak.qdii_e_index_jsl(cookie=my_cookie) print(qdii_df)需要说明的是,cookie是可选参数(默认""),未登录状态下接口也可尝试匿名请求,但受登录限制影响,部分数据可能无法完整获取。cookie 会过期失效,建议定时刷新,并在请求失败(如返回异常或字段为空)时优先检查 cookie 是否仍有效。
实战:基于返回数据的常见分析
观察 QDII 溢价与成交热度
T-1溢价率(亚洲市场为溢价率)字段反映了场内价格相对净值的偏离程度,是跨境 ETF 套利与情绪观察的核心指标。例如筛选溢价率高企的品种:
import akshare as ak df = ak.qdii_a_index_jsl() # 溢价率字段为字符串(如 "2.35%"),先清洗再排序 df["溢价率数值"] = ( df["溢价率"].astype(str).str.replace("%", "", regex=False) ) df["溢价率数值"] = pd.to_numeric(df["溢价率数值"], errors="coerce") print(df.sort_values("溢价率数值", ascending=False).head(10))监控场内份额增减
场内份额与场内新增字段(单位均为万份)反映了资金申赎与二级市场供给变化:份额持续增长通常意味着资金净流入,可用于跟踪跨境 ETF 的规模趋势。同时注意成交字段单位为万元,与通常习惯的"亿元"相差四个数量级,直接比较前需先换算。
常见问题与注意事项
- 数据单位为万元/万份:
成交(万元)、场内份额与场内新增(万份)均非原始单位,做规模统计前务必换算。 - 字段类型非统一数值:
涨幅、T-1溢价率、申购费、赎回费等字段在源码中保留为object(字符串,如"9.97%"、"0.50%",缺失值为-),需要数值化时自行清洗转换。 - 欧美与亚洲字段命名不同:欧美接口使用
T-2净值/T-1估值/T-1溢价率,亚洲接口使用净值/估值/溢价率,跨市场拼接数据前需归一化列名。 - 限流与网络异常:请求层内置重试与指数退避,但若持续触发 429 限流,建议降低调用频率;代理环境可通过 AKShare 全局代理配置生效。
- cookie 有效性:登录 cookie 过期会导致取数异常,需定期更新。
小结
AKShare 的 QDII 接口族以极简的调用方式封装了集思录 T+0 QDII 数据:qdii_e_index_jsl覆盖欧美指数、qdii_e_comm_jsl覆盖欧美商品、qdii_a_index_jsl覆盖亚洲指数,单次调用即可获得包含现价、涨跌幅、净值估值、溢价率、份额变化与费率的完整数据表。结合 akshare/qdii/qdii_jsl.py 的源码实现,你可以进一步理解其请求重试、字段映射与类型转换机制,从而在跨境 ETF 投研、溢价监控与资金流向分析等场景中稳定、高效地使用这些数据。更多接口速查可参考 docs/tutorial.md,完整文档见 docs/data/qdii/qdii.md。
【免费下载链接】akshareAKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库项目地址: https://gitcode.com/gh_mirrors/aks/akshare
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考