🚀 AI 一键生成 joinquant 策略代码
立即体验

joinquant 怎样查询北向资金和沪深港通持股数据?

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

问题描述

请根据以下 SEO 主题生成完整页面内容:

Title: joinquant 深沪港通数据查询:使用 finance.run_query 获取陆股通持股

Question: joinquant 怎样查询北向资金和沪深港通持股数据?

解决方案

joinquant 深沪港通数据查询指南

在聚宽(JoinQuant)量化交易平台上,查询深沪港通(北向资金/陆股通)以及股东持股信息非常简单。你可以使用平台提供的 finance.run_query 接口搭配相应的数据库表进行调用。


1. 核心 API 介绍:finance.run_query

finance.run_query 用于查询深沪港通、股东信息、公司概况等数据,返回格式为 pandas.DataFrame

使用方法与注意事项

  1. 需要先导入聚宽数据模块:from jqdata import *
  2. 构建 query 查询对象,然后传入 finance.run_query(q)
  3. 单次限制:为了防止返回数据量过大,每次调用最多返回 4000 行数据。
  4. 连表限制:不能进行多表 Join 连表查询,仅支持单表过滤与排序。

2. 常用查询示例

示例一:查询深沪港通 AH 股比价及相关数据

你可以通过 finance.STK_AH_PRICE_COMP 表查询标的的 AH 股价格及比价信息:

from jqdata import *

# 查询万科A(000002.XSHE)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.desc()
).limit(10)

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

示例二:查询个股十大股东/陆股通持股变动

通过 finance.STK_SHAREHOLDER_TOP10 可以查询上市公司前十大股东详情(包含香港中央结算有限公司等北向资金持股主体):

from jqdata import *

# 指定查询恒瑞医药(600276.XSHG)2015年以来的十大股东数据
q = query(
    finance.STK_SHAREHOLDER_TOP10
).filter(
    finance.STK_SHAREHOLDER_TOP10.code == '600276.XSHG',
    finance.STK_SHAREHOLDER_TOP10.pub_date > '2015-01-01'
).order_by(
    finance.STK_SHAREHOLDER_TOP10.pub_date.desc()
).limit(10)

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

3. 在策略与研究环境中的应用技巧

  • 回测与模拟:在策略回测中,请注意避免引入未来数据,建议根据交易日(如 context.previous_date)过滤公告日或统计日。
  • 数据导出:查出的 DataFrame 可以直接配合 write_file('north_bound.csv', df.to_csv()) 保存到研究根目录,方便后续进一步因子分析与建模。