🚀 AI 一键生成 joinquant 策略代码

JoinQuant 聚宽平台获取AH股比价与除权信息指南

joinquant | 发布时间: 2026/5/22
以下内容由 EasyQuant 生成。

问题描述

是否可以获取H股的除权信息?

看了一下聚宽的AH股比价信息,发现在AH除权日期差之间的数据有错,想获取AH股的除权信息纠正一下。

请问有这个查询功能吗?

解决方案

根据 JoinQuant API 文档,您可以通过 finance.run_query 查询深沪港通的相关数据,包括 AH 股比价信息。但关于 H股的除权信息,目前基础 API 文档中并未直接列出专门针对 H 股(港股)的除权除息明细数据表。

聚宽主要提供 A 股的除权除息数据。如果您发现 finance.STK_AH_PRICE_COMP(AH股价格对比表)在除权日期附近存在偏差,这通常是由于两地市场除权除息日不同步、分红派息规则差异或汇率换算导致的。

1. 获取 AH 股比价信息的示例代码

您可以使用以下代码获取 AH 股的比价信息,以万科(000002.XSHE)为例:

from jqdata import *

# 查询万科 AH 股价格的前10条数据
q = query(finance.STK_AH_PRICE_COMP).filter(
    finance.STK_AH_PRICE_COMP.a_code == '000002.XSHE'
).order_by(
    finance.STK_AH_PRICE_COMP.day
).limit(10)

df = finance.run_query(q)
print(df)

2. 纠正 H 股除权数据的替代解决方案

既然直接查询 H 股除权表的 API 可能缺失,您可以尝试以下几种方法来获取或推算 H 股的除权信息,从而纠正您的数据:

方法一:通过复权因子反推除权日
如果聚宽支持您所需 H 股标的的行情查询,您可以通过 get_priceget_bars 获取该 H 股的 factor(复权因子)字段。当复权因子在相邻两个交易日发生变化时,即可判定发生了除权除息,并可通过因子的比值计算出除权比例。

# 假设支持该港股代码,获取复权因子
df = get_price('港股代码', start_date='2022-01-01', end_date='2022-12-31', fields=['close', 'factor'])
# 筛选出 factor 发生变化的日期
df['factor_change'] = df['factor'].pct_change()
dividend_days = df[df['factor_change'] != 0]

方法二:查阅最新数据字典
建议登录聚宽官网,进入“数据” -> “数据字典” -> “市场通(沪港通深港通和港股通)”板块,确认近期是否新增了港股的除权除息表(如类似 A 股的 finance.STK_XR_XD 表)。

方法三:引入外部数据源
如果平台内确实缺失精确的 H 股除权明细,您可以借助外部免费或开源的金融数据接口(如 AkShare、Tushare 等)获取 H 股的除权除息日历。将其保存为 CSV 或 JSON 文件后,上传至聚宽的“投资研究”目录,再通过 read_filepandas.read_csv 读取并在策略中进行数据清洗和纠正。

import pandas as pd
from six import BytesIO

# 读取您上传的 H股除权信息文件
body = read_file("h_share_dividends.csv")
dividend_data = pd.read_csv(BytesIO(body))