3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化交易平台中,使用 get_tick_direction 接口获取分时成交数据时返回空数据,通常是由以下几个原因导致的:
根据 ptrade API 文档的明确说明:分时成交数据需开通 Level2 行情才有数据推送,否则无数据返回。普通的 Level1 行情无法获取逐笔/分时成交的详细数据。请联系您的券商确认您的账户是否已经开通了 Level2 行情权限。
get_tick_direction 接口的 query_date 参数目前只支持查询当日的数据。如果您尝试传入历史日期(例如昨天的日期),接口将无法返回数据。默认情况下 query_date=0 即表示查询当日。
如果您查询的股票在当日处于停牌状态,或者在您查询的时间点(如集合竞价前)尚未产生任何成交,接口也会返回空数据。
请确保该接口是在交易模块中调用的。文档指出该函数仅在交易模块可用,如果在回测或研究模块中调用,可能无法获取到预期的实时数据。
query_date 参数为 0 或当天的日期(格式 YYYYMMDD)。000001.SZ 或 600000.SS),以排除个股无成交的情况。示例代码(正确调用方式):
def initialize(context):
g.security = '000001.SZ'
set_universe(g.security)
def handle_data(context, data):
# 获取当日分时成交数据,默认 query_date=0
direction_data = get_tick_direction(g.security)
if direction_data and g.security in direction_data:
log.info('成功获取数据')
business_amount = direction_data[g.security]['business_amount']
log.info('最新分时成交量:%s' % business_amount)
else:
log.warning('获取数据为空,请检查 Level2 权限或交易状态')