3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 JoinQuant(聚宽)量化交易平台中,get_current_tick 是用于获取指定标的最新的 Tick 级别盘口快照数据的专用 API。在回测或模拟交易(特别是 Tick 频率或分钟频率)中,可以通过该 API 实时获取高频盘口信息。
get_current_tick(security, dt=None, df=False)
datetime 格式时刻,指定时返回离该时刻最近的一条 Tick 数据。默认为 None(返回当前逻辑时刻最近的 Tick)。False(返回 Tick 对象或字典)。设为 True 时返回 pandas.DataFrame 格式。当 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) |
股票/基金/期货 |
注意事项:
- 返回值类型:若传入字符串列表(如
['000001.XSHE', '600000.XSHG']),则返回一个dict,其 key 为标的代码,value 为对应的 Tick 对象。- 运行环境:
get_current_tick为回测/模拟专用 API,不支持在投资研究模块中调用。- 无数据处理:若截至当前时刻未产生 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)