history()函数
history()
获取历史数据,可查询多个标的单个数据字段,返回数据格式为 DataFrame 或 Dict(字典),其语法格式如下:
history(count,
unit='1d',
field='avg',
security_list=None,
df=True,
skip_paused=False,
fq='pre')
在获取天数据时,不包括当天的数据,即使是在收盘后
关于停牌:因为获取多只股票的原因,为了保持数据格式的一致,默认没有跳过停牌的日期,停牌的数据使用停牌前的数据填充
参数解析:
-
count : 表示返回结果集的行数
-
unit : 表示单位时间的长度,几天或者几分钟
- Xd : 几天
- Xm : 几分钟
**当X>1时,fields只支持
['open', 'close', 'high', 'low', 'volume', 'money']
这几个标准字段 ** -
field : 表示获取的数据类型,支持 SecurityUnitData 里所有的基本属性,包括:
- open : 开盘价
- close : 收盘价
- high : 最高价
- low : 最低价
- volume : 成交量
- money : 成效额
- factor : 前复权因子
- high_limit : 涨停价
- low_limit : 跌停价
- avg : 平均价 (money/volume)
- pre_close : 前一个单位时间的结束时的价格
- paused : 布尔值。用来判断是否停牌
-
security_list : 用来获取数据的股票列表,其值如果为None,则默认从context.universe中选择股票
-
df : 如果是True,则返回 pandas.DataFrame,否则返回dict;默认为 True
-
skip_paused : 用来设置是否跳过不交易日期(包括停牌、未上市或者退市后的日期)。如果不跳过,停牌时会使用停牌前的数据填充。上市前或者退市后数据都为nan。需要注意的是,该参数的默认为False,即不跳过不交易日期
-
fq : 表示复权选项。值为"pre",表示前复权;值为 None ,表示不复权,返回实际价格;值设置为 ”pos",表示后复权
示例:
import pandas as pd
# 显示中国平安 000009 最后5个交易日每天的收盘价信息
df = history(5,
unit='1d',
field='close',
security_list='000009.XSHE',
df=True,
skip_paused=False,
fq='pre')
df
000009.XSHE | |
---|---|
2018-09-25 | 4.77 |
2018-09-26 | 4.69 |
2018-09-27 | 4.59 |
2018-09-28 | 4.64 |
2018-10-08 | 4.50 |
import pandas as pd
# 同时显示多只股票的第天的收盘价信息
df = history(5,
unit='1d',
field='close',
security_list=['000001.XSHE',
'000002.XSHE',
'000009.XSHE'],
df=True,
skip_paused=False,
fq='pre')
df
000001.XSHE | 000002.XSHE | 000009.XSHE | |
---|---|---|---|
2018-09-25 | 10.55 | 24.64 | 4.77 |
2018-09-26 | 10.71 | 24.67 | 4.69 |
2018-09-27 | 10.74 | 24.45 | 4.59 |
2018-09-28 | 11.05 | 24.30 | 4.64 |
2018-10-08 | 10.45 | 22.05 | 4.50 |
import pandas as pd
df = history(3,
unit='1d'