🚀 AI 一键生成 joinquant 策略代码

JoinQuant 高频数据:深入理解 Tick 对象的 current 与 volume 属性

joinquant | 发布时间: 2025/12/21
以下内容由 EasyQuant 生成。

问题描述

Tick对象中包含哪些实时的行情字段?

解决方案

在聚宽(JoinQuant)API中,Tick 对象代表了盘面的一个快照,主要包含以下实时行情字段。这些字段可以在 handle_tick 回调函数或 get_current_tick 返回的对象中获取。

Tick 对象包含的字段列表

1. 基础信息

  • code: 标的代码(例如 '000001.XSHE')。
  • datetime: Tick 发生的时间(datetime 对象)。

2. 价格与成交信息

  • current: 最新价。
  • open: 当日开盘价。
  • high: 截至到当前时刻的日内最高价。
  • low: 截至到当前时刻的日内最低价。
  • volume: 截至到当前时刻的累计成交量(单位:股/手)。
  • money: 截至到当前时刻的累计成交额(单位:元)。
  • position: 截至到当前时刻的持仓量(仅适用于期货)。

3. 盘口信息(买卖五档)

  • 卖方盘口:
    • a1_p ~ a5_p: 卖一价 到 卖五价。
    • a1_v ~ a5_v: 卖一量 到 卖五量。
  • 买方盘口:
    • b1_p ~ b5_p: 买一价 到 买五价。
    • b1_v ~ b5_v: 买一量 到 买五量。

特别说明

  1. 股票与场内基金:提供买五卖五(1-5档)的盘口数据。
  2. 期货:通常只提供买一卖一(1档)的盘口数据(即只有 a1b1 有效),且包含特有的 position(持仓量)字段。

Q&A

Q: 如何在策略中获取当前的 Tick 数据?
A: 在分钟或 Tick 回测模式下,可以使用 get_current_tick(security) 获取指定标的的最新 Tick 对象;或者在 handle_tick(context, tick) 回调函数中直接使用传入的 tick 参数。

Q: Tick 数据中的 volume 是当前这一笔的成交量还是累计成交量?
A: volume 字段表示的是截至到当前时刻的累计成交量。如果需要计算两个 Tick 之间的单笔成交量,需要用当前 Tick 的 volume 减去上一个 Tick 的 volume。

Q: 为什么获取期货的 a2_p (卖二价) 是空的或者无效值?
A: 因为聚宽提供的期货 Tick 数据通常只包含一档盘口(买一和卖一),所以 a2_pa5_p 以及对应的量在期货数据中通常不可用。