【零基础学量化交易】第一篇: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;