该接口可以用来获取某个标的的历史数据,可以获取最近N条历史行情K线数据。支持多股票、多行情字段获取。在Ptrade中实时更新,一分钟结束之后,更新一分钟的数据,如果使用tick_data实盘交易,要注意补充当前数据,否则可能会造成交易信号滞后。
get_history(count, frequency="1d", field="close", security_list=None, fq=None, include=False, fill="nan")
参数说明
count:K线数量,大于0,返回指定数量的K线行情;必填参数;入参类型:int;
frequency:K线周期,现有支持1分钟线、5分钟线、15分钟线、30分钟线、60分钟线、120分钟线、日线、周线、月线、季度线和年线频率的数据;选填参数,默认为"1d";入参类型:str;
field:指明数据结果集中所支持输出的行情字段;选填参数,默认为["open","high","low","close","volume","money","price"];入参类型:list[str,str]或str;输出字段包括:
open--开盘价,字段返回类型:numpy.float64;high--最高价,字段返回类型:numpy.float64;low--最低价,字段返回类型:numpy.float64;close--收盘价,字段返回类型:numpy.float64;volume--交易量,字段返回类型:numpy.float64;money--交易金额,字段返回类型:numpy.float64;price--最新价,字段返回类型:numpy.float64;preclose--昨收盘价,字段返回类型:numpy.float64;high_limit--涨停价,字段返回类型:numpy.float64;low_limit--跌停价,字段返回类型:numpy.float64;unlimited--判断查询日是否是无涨跌停限制,字段返回类型:numpy.float64;
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;
返回数据解析
输入参数security是单个标的
get_history(5, "1d", "open", "600570.SS", fq=None, include=False)
返回数据格式如下:pandas.DataFrame对象,其中index:timecolumns:fileds
输入参数security是列表
get_history(5, "1d", "open", ["600570.SS","600571.SS"], fq=None, include=False)
返回数据格式如下:pandas.DataFrame对象,其中index:timecolumns:stock_code
2017-04-11 | 40.30 | 17.81 |
2017-04-12 | 40.08 | 17.56 |
2017-04-13 | 40.03 | 17.42 |
2017-04-14 | 40.04 | 17.40 |
2017-04-17 | 39.90 | 17.49 |
输入参数security是列表,行情字段field入参为多个
get_history(2, frequency="1d", field=["open","close"], security_list=["600570.SS", "600571.SS"], fq=None, include=False)
返回数据格式:pandas.Panel对象,其中items索引是行情字段
示意:
可以使用以下代码选中其中一个dataframe
get_history(2, frequency="1d", field=["open","close"], security_list=["600570.SS", "600571.SS"], fq=None, include=False)["open"]
返回数据格式:pandas.DataFrame对象,其中index:timecolumns:stock_code
解析:很多朋友可能没有见过panel格式的数据结构,因为panel只在pandas低版本使用,现在新版本已经取消了panel结构,可以简单地把Itemsaxis看做dataframe的名字,Major_axisaxis看做index,Minor_axisaxis看做column,但是以行情字段作为items_axis不符合我们使用的习惯,我们一般会使用swapaxis方法改变items_axis,将stock_code作为items_axis,行情字段作为column,将dataframe的结构改成和返回的格式一致,让我们处理数据结构更加方便。
示例:
panel_info = get_history(2, frequency="1d", field=["open","close"], security_list=["600570.SS", "600571.SS"], fq=None, include=False)
panel_info = panel_info.swapaxes("minor_axis", "items")
log.info(panel_info)
返回数据格式:pandas.Panel对象,其中items索引stock_code
示意:
可以使用以下代码选中其中一个dataframe
panel_info = get_history(2, frequency="1d", field=["open","close"], security_list=["600570.SS", "600571.SS"], fq=None, include=False)
panel_info = panel_info.swapaxes("minor_axis", "items")
df = panel_info["600570.SS"]
返回数据格式:pandas.DataFrame对象,其中index:timecolumns:fileds
有疑问可以交流,可代写策略,欢迎私信交流
文章为作者独立观点,不代表股票交易接口观点