history_n - 查询历史行情最新n条

时间:2021-08-10
本文章向大家介绍history_n - 查询历史行情最新n条,主要包括history_n - 查询历史行情最新n条使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

函数原型:

 
  1. history_n(symbol, frequency, count, end_time=None, fields=None, skip_suspended=True,
  2. fill_missing=None, adjust=ADJUST_NONE, adjust_end_time='', df=False)

参数:

 
参数名类型说明
symbol str 标的代码(只允许单个标的的代码字符串),使用时参考symbol
frequency str 频率, 支持 ‘tick’, ‘1d’, ‘15s’, ‘30s’ 等,详情见股票行情数据期货行情数据
count int 数量(正整数)
end_time str or datetime.datetime 结束时间 (%Y-%m-%d %H:%M:%S 格式), 也支持datetime.datetime格式
fields str 指定返回对象字段, 如有多个字段, 中间用, 隔开, 默认所有,
具体字段见:股票字段 ,期货字段
skip_suspended bool 是否跳过停牌, 默认跳过
fill_missing str or None 填充方式, None - 不填充, 'NaN' - 用空值填充, 'Last' - 用上一个值填充, 默认 None
adjust int ADJUST_NONE or 0: 不复权ADJUST_PREV or 1: 前复权ADJUST_POST or 2: 后复权 默认不复权 , 目前只支持股票
adjust_end_time str 复权基点时间, 默认当前时间
df bool 是否返回dataframe 格式, 默认False, 返回list[dict]

返回值:

 当df = True时,返回

类型说明
dataframe tick的dataframe 或者 bar的dataframe

示例1:

 
  1. history_n_data = history_n(symbol='SHSE.600519', frequency='1d', count=100, end_time='2020-10-20 15:30:00', fields='symbol, open, close, low, high, eob', adjust=ADJUST_PREV, df=True)

输出1:

 
  1. symbol open ... high eob
  2. 0 SHSE.600519 1350.2278 ... 1350.3265 2020-05-22 00:00:00+08:00
  3. 1 SHSE.600519 1314.6434 ... 1350.8010 2020-05-25 00:00:00+08:00
  4. 2 SHSE.600519 1354.0629 ... 1354.1321 2020-05-26 00:00:00+08:00
  5. 3 SHSE.600519 1343.3086 ... 1344.2970 2020-05-27 00:00:00+08:00
  6. 4 SHSE.600519 1322.5214 ... 1331.3878 2020-05-28 00:00:00+08:00

当df = False时, 返回

类型说明
list tick 列表 或者 bar 列表

示例2:

1 history_n_data = history_n(symbol='SHSE.600519', frequency='1d', count=2, end_time='2020-10-20 15:30:00', fields='symbol, open, close, low, high, eob', adjust=ADJUST_PREV, df=False)

输出2:

  1. [{'symbol': 'SHSE.600519', 'open': 1725.0, 'close': 1699.0, 'low': 1691.9000244140625, 'high': 1733.97998046875, 'eob': datetime.datetime(2020, 10, 19, 0, 0, tzinfo=tzfile('PRC'))}, {'symbol': 'SHSE.600519', 'open': 1699.989990234375, 'close': 1734.0, 'low': 1695.0, 'high': 1734.969970703125, 'eob': datetime.datetime(2020, 10, 20, 0, 0, tzinfo=tzfile('PRC'))}]

注意:

 

1.返回的list/DataFrame是以参数eob/bob的升序来排序的

2.若输入无效标的代码,返回空列表/空DataFrame

3.若输入代码正确,但查询字段包含无效字段,返回的列表、DataFrame只包含
eob、symbol和输入的其他有效字段

4.end_time中月,日,时,分,秒均可以只输入个位数,例:'2017-7-30 20:0:20',但若对应位置为零,则0不可被省略,如不可输入'2017-7-30 20: :20'

5. skip_suspended 和 fill_missing 参数暂不支持

6. 单次返回数据量最大返回33000, 超出部分不返回

7. start_time和end_time输入不存在日期时,会报错details = “Can’t parse string as time: 2020-10-40 15:30:00”

原文地址:https://www.cnblogs.com/guanshoupeng/p/15122990.html