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

joinquant 怎么获取股票或期货的五档/一档买卖盘口 Tick 数据?

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

问题描述

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

Title: joinquant 高频数据应用:get_ticks 获取买卖盘口深度

Question: joinquant 怎么获取股票或期货的五档/一档买卖盘口 Tick 数据?

解决方案

在 JoinQuant(聚宽)量化交易平台中,可以使用 get_ticks 函数来获取股票、期货、场内基金及 ETF 期权的高频 Tick 级别数据以及买卖盘口深度信息。

一、API 语法说明

get_ticks(security, end_dt, start_dt=None, count=None, fields=['time', 'current', 'high', 'low', 'volume', 'money'], skip=True, df=False)

参数解析:

  1. security: 标的代码或标的代码列表(如 '000001.XSHE''RB1909.XSGE')。
  2. end_dt: 结束时间(如 '2023-11-05 10:40:00')。
  3. start_dt / count: 开始时间或获取条数,两者二选一。
  4. fields: 获取的字段列表。若需要获取买卖盘口深度数据,必须在 fields 参数中手动指定盘口字段:
    • 股票/场内基金/期权(支持五档盘口): a1_v~a5_v(卖一至卖五量)、a1_p~a5_p(卖一至卖五价)、b1_v~b5_v(买一至买五量)、b1_p~b5_p(买一至买五价)。
    • 期货(支持一档盘口): a1_v, a1_p(卖一量/价)、b1_v, b1_p(买一量/价)及 position(持仓量)。
  5. skip: 默认为 True,过滤掉无成交变化的 tick 数据;设为 False 则保留仅盘口变化无成交的 tick。
  6. df: 默认为 False(返回 numpy.ndarray),设为 True 则返回 pandas.DataFrame 格式。

二、代码示例

1. 获取股票(平安银行)的五档盘口 Tick 数据

from jqdata import *

# 获取 2023-11-05 指定时间段内的股票 Tick 数据及买卖五档盘口
fields_list = [
    'time', 'current', 'volume', 'money', 
    'a1_p', 'a1_v', 'a2_p', 'a2_v', 
    'b1_p', 'b1_v', 'b2_p', 'b2_v'
]

df_stock_ticks = get_ticks(
    security='000001.XSHE',
    start_dt='2023-11-05 10:40:00',
    end_dt='2023-11-05 10:40:10',
    fields=fields_list,
    skip=True,
    df=True
)

print(df_stock_ticks)

2. 获取商品期货(螺纹钢)的一档盘口及持仓 Tick 数据

from jqdata import *

# 获取螺纹钢期货合约的 Tick 数据及买卖一档
fields_futures = ['time', 'current', 'volume', 'position', 'a1_p', 'a1_v', 'b1_p', 'b1_v']

df_futures_ticks = get_ticks(
    security='RB2401.XSGE',
    end_dt='2023-11-05 15:00:00',
    count=10,
    fields=fields_futures,
    df=True
)

print(df_futures_ticks)

三、注意事项

  1. 历史数据范围:股票及期货支持 2010 年至今的 Tick 数据。上交所 ETF 期权支持 2017 年至今数据。
  2. 期货主力合约转换:若要获取主力合约的 Tick 数据,需先通过 get_dominant_future('RB', dt) 获取具体合约代码,再传入 get_ticks 中。
  3. 策略模式限制get_ticks 可用于研究环境、回测及模拟交易。若在 Tick 频次回测/模拟中实时获取盘口,亦可在 handle_tick(context, tick) 事件回调中通过 tick 对象的属性(如 tick.a1_p, tick.b1_v)直接获取最新盘口快照。