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

如何在 JoinQuant 平台获取集合竞价期间的价格?

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

问题描述

集合竞价期间的价格如何获取

集合竞价期间的价格如何获取?
getprice获取不到

解决方案

在 JoinQuant 平台上,常规的行情获取函数 get_pricehistory 主要是获取连续竞价期间的 K 线数据,因此无法直接获取集合竞价期间的详细价格和盘口信息。

要获取集合竞价期间的数据,您需要使用专门的 API:get_call_auction

get_call_auction 函数详解

该函数用于获取指定时间区间内交易日 09:25 的集合竞价数据。支持股票(2010年至今)、场内基金(2019年至今)、指数(2017年至今)和上交所ETF期权(2017年至今)的集合竞价数据。

注意:当日的集合竞价数据最晚于 9:28 分返回。

函数原型

from jqdata import *
get_call_auction(security, start_date=None, end_date=None, fields=None)

参数说明

  • security: 标的代码或者标的代码组成的列表,支持股票、指数、50ETF期权。
  • start_date: 开始日期,一个时间字符串,比如 "2019-01-01"。不能为 None。
  • end_date: 结束日期,一个时间字符串,比如 "2019-02-01"。不能为 None。
  • fields: 选择要获取的行情字段(类似 tick 数据的每一个字段)。如果为 None,默认获取全部字段。可选字段包括:
    • time: 时间 (datetime)
    • current: 当前价 (float)
    • volume: 累计成交量(股) (float)
    • money: 累计成交额 (float)
    • b1_v ~ b5_v: 五档买量 (float)
    • b1_p ~ b5_p: 五档买价 (float)
    • a1_v ~ a5_v: 五档卖量 (float)
    • a1_p ~ a5_p: 五档卖价 (float)

返回值

返回一个 pandas.DataFrame,索引为 pandas 默认的整数索引。

代码示例

示例 1:获取多只股票指定字段的集合竞价数据

from jqdata import *

# 获取平安银行和万科A在指定时间段的集合竞价当前价和买卖一档量
d = get_call_auction(['000001.XSHE', '000002.XSHE'], 
                     start_date='2019-01-01', 
                     end_date='2019-10-10',
                     fields=['time', 'current', 'a1_v', 'b1_v'])
print(d)

示例 2:获取单只股票全部字段的集合竞价数据

from jqdata import *

# fields不填,默认获取全部字段数据
d = get_call_auction('000001.XSHE', '2019-08-10', '2019-08-20')
print(d)

注意事项

  1. 数据量限制:为了防止返回数据量过大,每次调用最多返回 5000 行 数据。如果需要更长时间段的数据,请分批次获取。
  2. 模拟/回测环境:在日级模拟或回测中,如果您在 09:30 之前(如 09:00before_trading_start)调用此函数获取当天的集合竞价数据,可能会获取不到,因为当天的数据最晚在 09:28 生成。建议在 09:30handle_data 或定时函数中获取前一日或当天的集合竞价数据。