ptrade量化教程之获取指定日期历史数据

获取历史数据使用get_price接口,我们能获取指定日期以前的历史数据,数据返回内容不包括当天数据。

get_price(security, start_date=None, end_date=None, frequency='1d', fields=None, fq=None, count=None, is_dict=False)

1、获得贵州茅台2015年01月数据,只获取开盘价

def initialize(context):
  g.security = '600570.SS'
  set_universe(g.security)

def handle_data(context, data):
  # 获得贵州茅台2015年01月数据,只获取开盘价
  price_open = get_price('600519.SS', start_date='20150101', end_date='20150131', frequency='1d')['open']
  log.info("2015年01月数据,只获取开盘价----------")
  log.info(price_open)

如图:

2、获取贵州茅台2015年01月31日前10天的开盘价

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

def handle_data(context, data):
  # 获取贵州茅台2015年01月31日前10天的开盘价
  price_open = get_price('600519.SS', end_date='20150131', frequency='daily', count=10)['open']
  log.info("获取贵州茅台2015年01月31日前10天的开盘价----------")
  log.info(price_open)

如图:

3、获取沪深300所有股票2015年1月5号的数据

def initialize(context):
  g.security = '600570.SS'
  set_universe(g.security)

def handle_data(context, data):
  # 获取沪深300所有股票的2015年1月5号的数据
  security_list = get_index_stocks('000300.SS')
  price = get_price(security_list, start_date='20150104', end_date='20150105', frequency='1d')
  log.info("获取沪深300所有股票的2015年1月5号的数据-------")
  log.info(price)

如图:

4、get_price接口能获取到的所有信息:

  • 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)(仅日线返回);
  • unlimited -- 判断查询日是否无涨跌停限制(1:该日无涨跌停限制;0:该日有涨跌停限制)(numpy.int64)(仅日线返回);

参数:

security:一支股票代码或者一个股票代码的list(list[str]/str)

start_date:开始时间,默认为空,回测中输入请小于回测日期,交易、研究中输入请小于当前日期,且均小于等于end_date。传入格式仅支持:YYYYmmdd、YYYY-mm-dd、YYYY-mm-dd HH:MM、YYYYmmddHHMM,如'20150601'、'2015-06-01'、'2015-06-01 10:00'、'201506011000'(str);

end_date:结束时间,默认为空,回测中输入请小于回测日期,交易、研究中输入请小于当前日期。传入格式仅支持:YYYYmmdd、YYYY-mm-dd、YYYY-mm-dd HH:MM、YYYYmmddHHMM,如'20150601'、'2015-06-01'、'2015-06-01 14:00'、'201506011400'(str);

frequency: 单位时间长度,现有支持1分钟线(1m)、5分钟线(5m)、15分钟线(15m)、30分钟线(30m)、60分钟线(60m)、120分钟线(120m)、日线(1d)、周线(1w/weekly)、月线(mo/monthly)、季度线(1q/quarter)和年线(1y/yearly)频率数据(str);

fields:指明数据结果集中所支持输出字段(list[str]/str)

fq:数据复权选项,支持包括,pre-前复权,post-后复权,dypre-动态前复权,None-不复权(str);

count:大于0,不能与start_date同时输入,获取end_date前count根的数据,不支持除天('daily'/'1d')、分钟('1m')、5分钟线('5m')、15分钟线('15m')、30分钟线('30m')、60分钟线('60m')、120分钟线('120m')、周('weekly'/'1w')、('monthly'/'mo')、('quarter'/'1q')和('yearly'/'1y')以外的其它频率(int);

is_dict:返回是否是字典(dict)格式{str: array()},True -是,False-不是;选填参数,默认为False;返回为字典格式取数速度相对较快,入参类型:bool;

5、详细的api文档

帮助http://180.169.107.9:7766/hub/help/api#get_price

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值