ptrade从零开始学习量化交易第32期【ptrade获取行情信息之get_individual_transaction – 获取逐笔成交行情】

PTrade获取行情信息

更加详细的调用方法,后续会慢慢整理。

也可找寻博主历史文章,搜索关键词使用方案,比如本文涉及函数get_individual_transaction!

感谢关注,咨询免费开通量化回测与获取实盘权限,欢迎和博主联系!

get_individual_transaction – 获取逐笔成交行情

get_individual_transaction(stocks=None, data_count=50, start_pos=0, search_direction=1, is_dict=False)
使用场景

该函数在交易模块可用

接口说明

该接口用于获取当日逐笔成交行情数据。

注意事项:

1、沪深市场都有逐笔成交数据;

2、逐笔委托,逐笔成交数据需开通level2行情才能获取到数据,否则无数据返回;

参数

stocks: 默认为当前股票池中代码列表(list[str]);

data_count: 数据条数,默认为50,最大为200(int);

start_pos: 起始位置,默认为0(int);

search_direction: 搜索方向(1向前,2向后),默认为1(int);

is_dict: 返回类型(False-Panel; True-dict),默认为False(bool);

返回

当入参is_dict为False时,正常返回Pandas.panel对象,异常时返回None。

Items axis: 股票代码列表(str);

Major_axis axis: 数据索引为自然数列(DataFrame);

Minor_axis axis: 包含以下信息:

  • business_time: 时间戳毫秒级(str:numpy.int64);
  • hq_px: 价格(str:numpy.float64);
  • business_amount: 成交数量(str:numpy.int64);
  • trade_index: 成交编号(str:numpy.int64);
  • business_direction: 成交方向,0:卖,1:买,2:借入,3:出借(str:numpy.int64);
  • buy_no: 叫买方编号(str:numpy.int64);
  • sell_no: 叫卖方编号(str:numpy.int64);
  • trans_flag: 成交标记(0:普通成交,1:撤单成交)(str:numpy.int64);
  • trans_identify_am: 盘后逐笔成交序号标识(0表示盘中,1表示盘后)(str:numpy.int64);
  • channel_num: 成交通道信息(str:numpy.int64);

当入参is_dict为True时,返回dict类型数据。

返回的数据格式如下:

{股票代码(str): [[时间戳毫秒级(int), 价格(float), 成交数量(int), 成交编号(int), 成交方向(int), 叫买方编号(int), 叫卖方编号(int), 成交标记(int), 盘后逐笔成交序号标识(int), 成交通道信息(int)], ...], "fields": ["business_time", "hq_px", "business_amount", "trade_index", "business_direction", "buy_no", "sell_no", "trans_flag", 'trans_identify_am", "channel_num"]}

{"600570.SS": [[20220913111141472, 36.47, 100, 3286989, 1, 5807243, 5804930, 0, 0, 2], ...], "fields": ["business_time", "hq_px", "business_amount", "trade_index", "business_direction", "buy_no", "sell_no", "trans_flag", 'trans_identify_am", "channel_num"]}

示例
def initialize(context):
    g.security = "000001.SZ"
    set_universe(g.security)

def handle_data(context, data):
    # 获取当前股票池逐笔成交数据
    transaction = get_individual_transaction()
    log.info(transaction)

    # 获取指定股票列表逐笔成交数据
    transaction = get_individual_transaction(["000002.SZ", "000032.SZ"])
    log.info(transaction)

    # 获取成交量
    if transaction is not None:
        business_amount = transaction["000002.SZ"]["business_amount"]
        log.info("逐笔数据的成交量为:%s" % business_amount)

 

  • 23
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值