东方财富(Python/C++量化) - 数据查询函数【history - 查询历史行情】
函数原型:[code]history(symbol, frequency, start_time, end_time, fields=None, skip_suspended=True,fill_missing=None, adjust=ADJUST_NONE, adjust_end_time='', df=True)[/code]参数:
[img]http://p.algo2.net/2024/0306/3aad4304f925b.png[/img]
返回值:参考Tick对象或者Bar对象。
当df = True时, 返回
[img]http://p.algo2.net/2024/0306/c28b4f70e1bc5.png[/img]
示例:[code]history_data = history(symbol='SHSE.000300', frequency='1d', start_time='2010-07-28', end_time='2017-07-30', fields='open, close, low, high, eob', adjust=ADJUST_PREV, df= True)[/code]输出:[code] open close low high eob
0 2796.4829 2863.7241 2784.1550 2866.4041 2010-07-28 00:00:00+08:00
1 2866.7720 2877.9761 2851.9961 2888.5991 2010-07-29 00:00:00+08:00
2 2871.4810 2868.8459 2844.6819 2876.1360 2010-07-30 00:00:00+08:00
3 2868.2791 2917.2749 2867.4500 2922.6121 2010-08-02 00:00:00+08:00
4 2925.2539 2865.9709 2865.7610 2929.6140 2010-08-03 00:00:00+08:00[/code]当df = False时, 返回
[img]http://p.algo2.net/2024/0306/dacb7673fa19b.png[/img]
注意:[code]history_data = history(symbol='SHSE.000300', frequency='1d', start_time='2017-07-30', end_time='2017-07-31', fields='open, close, low, high, eob', adjust=ADJUST_PREV, df=False)[/code]输出:[code][{'open': 3722.42822265625, 'close': 3737.873291015625, 'low': 3713.655029296875, 'high': 3746.520751953125, 'eob': datetime.datetime(2017, 7, 31, 0, 0, tzinfo=tzfile('PRC'))}][/code]1.返回的list/DataFrame是以参数eob/bob的升序来排序的,若要获取多标的的数据,通常需进一步的数据处理来分别提取出每只标的的历史数据
2.start_time和end_time中月,日,时,分,秒均可以只输入个位数,例:'2010-7-8 9:40:0'或'2017-7-30 12:3:0',但若对应位置为零,则0不可被省略,如不可输入'2017-7-30 12:3: '获取数据目前采用前后闭区间的方式,即会获取前后两个时间节点的数据,使用时务必注意这点
3.若输入无效标的代码,返回空列表/空DataFrame
4.若输入代码正确,但查询字段包含无效字段,返回的列表、DataFrame只包含eob、symbol和输入的其他有效字段
5. skip_suspended 和 fill_missing 参数暂不支持
6. 单次返回数据量最大返回33000, 超出部分不返回
7. start_time和end_time输入不存在日期时,会报错details = “failed to parse datetime”
页:
[1]