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

joinquant 平台 get_current_tick 函数返回哪些盘口快照属性?

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

问题描述

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

Title: joinquant 获取最新 Tick:get_current_tick 属性与数据结构

Question: joinquant 的 get_current_tick 函数返回哪些盘口快照属性?

解决方案

joinquant 获取最新 Tick:get_current_tick 属性与数据结构

在 JoinQuant(聚宽)量化交易平台中,get_current_tick 是用于获取指定标的最新的 Tick 级别盘口快照数据的专用 API。在回测或模拟交易(特别是 Tick 频率或分钟频率)中,可以通过该 API 实时获取高频盘口信息。


一、get_current_tick 函数概述

1. 函数定义

get_current_tick(security, dt=None, df=False)

2. 参数说明

  • security:标的代码或标的代码列表(支持股票、场内基金、商品期货和股指期货)。注意:期货需传入具体合约代码(如 'RB1909.XSGE'),不能使用主力合约或指数代码
  • dtdatetime 格式时刻,指定时返回离该时刻最近的一条 Tick 数据。默认为 None(返回当前逻辑时刻最近的 Tick)。
  • df:布尔值,默认为 False(返回 Tick 对象或字典)。设为 True 时返回 pandas.DataFrame 格式。

二、返回的 Tick 对象属性结构

df=False 且传入单个标的代码时,函数返回一个 Tick 对象。该对象包含以下盘口快照属性:

属性名 数据类型 说明 适用品种
code str 标的的代码(如 '000001.XSHE' 全部
datetime datetime.datetime Tick 发生的时间/时刻 全部
current float 最新成交价 全部
open float 当日开盘价 全部
high float 截至当前时刻的日内最高价 全部
low float 截至当前时刻的日内最低价 全部
volume float 截至当前时刻的累计成交量(股/手) 全部
money float 截至当前时刻的累计成交额 全部
position float 截至当前时刻的持仓量 仅期货
a1_v ~ a5_v float 卖一量至卖五量(期货仅 a1_v 股票/基金/期货
a1_p ~ a5_p float 卖一价至卖五价(期货仅 a1_p 股票/基金/期货
b1_v ~ b5_v float 买一量至买五量(期货仅 b1_v 股票/基金/期货
b1_p ~ b5_p float 买一价至买五价(期货仅 b1_p 股票/基金/期货

注意事项

  1. 返回值类型:若传入字符串列表(如 ['000001.XSHE', '600000.XSHG']),则返回一个 dict,其 key 为标的代码,value 为对应的 Tick 对象。
  2. 运行环境get_current_tick 为回测/模拟专用 API,不支持在投资研究模块中调用
  3. 无数据处理:若截至当前时刻未产生 Tick 数据,则返回 None

三、代码示例

import datetime

def initialize(context):
    # 设定定时运行函数
    run_daily(market_open, time='10:00')

def market_open(context):
    # 1. 获取单只股票的最新 Tick 对象
    tick = get_current_tick('000001.XSHE')
    if tick:
        print("平安银行最新价:", tick.current)
        print("买一价:", tick.b1_p, "买一量:", tick.b1_v)
        print("卖一价:", tick.a1_p, "卖一量:", tick.a1_v)
    
    # 2. 获取多只标的的 Tick 字典
    ticks = get_current_tick(['000001.XSHE', '600000.XSHG'])
    print("浦发银行最新价:", ticks['600000.XSHG'].current)
    
    # 3. 指定历史时刻获取 Tick
    hist_tick = get_current_tick('000001.XSHE', dt=datetime.datetime(2020, 1, 6, 10, 0, 0))
    if hist_tick:
        print("历史时刻成交价:", hist_tick.current)