【零基础学量化交易】第一篇:ptrade获取历史行情

get_history用于获取最近历史行情K线数据,支持多股票、多行情字段获取。

get_history(count, frequency='1d', field='close', security_list=None, fq=None, include=False, fill='nan', is_dict=False)

1、贵州茅台过去5天的每日收盘价

def initialize(context):
    g.security = ['600519.SS']
    set_universe(g.security)

def handle_data(context, data):
    # 贵州茅台过去5天的每日收盘价
    his = get_history(5, '1d', 'close', security_list=g.security)
    log.info('贵州茅台过去5天的每日收盘价')
    log.info(his)

如图:

2、贵州茅台过去10分钟的成交量

def initialize(context):
    g.security = ['600519.SS']
    set_universe(g.security)

def handle_data(context, data):
    # 贵州茅台过去10分钟的成交量
    his1 = get_history(10, '1m', 'volume', security_list=g.security)
    log.info('贵州茅台过去10分钟的成交量')
    log.info(his1)

如图:

3、获取贵州茅台的过去5周的每周的收盘价

def initialize(context):
    g.security = ['600519.SS']
    set_universe(g.security)

def handle_data(context, data):
    # 获取贵州茅台过去5周的每周的收盘价
    his4 = get_history(5, '1w', 'close', security_list=g.security)
    log.info('获取贵州茅台的过去5周的每周的收盘价')
    log.info(his4)

如图:

4、获取贵州茅台2点57分的数据

def initialize(context):
    g.security = ['600519.SS']
    set_universe(g.security)

def handle_data(context, data):
    if context.current_dt.hour == 14 and context.current_dt.minute == 58:
        # 获取贵州茅台2点57分的数据
        his1 = get_history(1, '1m', security_list=g.security)
        log.info('获取贵州茅台2点57分的数据')
        log.info(his1)

如图:

5、get_history接口能获取到的所有信息:

  • open — 开盘价,字段返回类型:numpy.float64;
  • high — 最高价,字段返回类型:numpy.float64;
  • low –最低价,字段返回类型:numpy.float64;
  • close — 收盘价,字段返回类型:numpy.float64;
  • volume — 交易量,字段返回类型:numpy.float64;
  • money — 交易金额,字段返回类型:numpy.float64;
  • price — 最新价,字段返回类型:numpy.float64;
  • is_open — 是否开盘,字段返回类型:numpy.int64(仅日线返回);
  • preclose — 昨收盘价,字段返回类型:numpy.float64(仅日线返回);
  • high_limit — 涨停价,字段返回类型:numpy.float64(仅日线返回);
  • low_limit — 跌停价,字段返回类型:numpy.float64(仅日线返回);

参数:

  • count: K线数量,大于0,返回指定数量的K线行情;必填参数;入参类型:int;
  • frequency:K线周期,现有支持1分钟线(1m)、5分钟线(5m)、15分钟线(15m)、30分钟线(30m)、60分钟线(60m)、120分钟线(120m)、日线(1d)、周线(1w/weekly)、月线(mo/monthly)、季度线(1q/quarter)和年线(1y/yearly)频率的数据;选填参数,默认为’1d’;入参类型:str;
  • field:指明数据结果集中所支持输出的行情字段;选填参数,默认为[‘open’,’high’,’low’,’close’,’volume’,’money’,’price’];入参类型:list[str,str]或str
  • security_list:要获取数据的股票列表;选填参数,None表示在上下文中的universe中选中的所有股票;入参类型:list[str,str]或str;
  • fq:数据复权选项,支持包括,pre-前复权,post-后复权,dypre-动态前复权,None-不复权;选填参数,默认为None;入参类型:str;
  • include:是否包含当前周期,True -包含,False-不包含;选填参数,默认为False;入参类型:bool;
  • fill:行情获取不到某一时刻的分钟数据时,是否用上一分钟的数据进行填充该时刻数据,’pre’-用上一分钟数据填充,’nan’-NaN进行填充(仅交易有效);选填参数,默认为’nan’;入参类型:str;
  • is_dict:返回是否是字典(dict)格式{str: array()},True -是,False-不是;选填参数,默认为False;返回为字典格式取数速度相对较快;入参类型:bool;

6、详细的api文档

180.169.107.9:7766/hub/