获取历史数据使用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;
1106

被折叠的 条评论
为什么被折叠?



