数据的时间戳是时间段的结束点,比如取到的一分钟数据是2012-01-02 10:00:00,实际的数据统计时间是 09:59:00到10:00:00这个时间段的数据,因此,以股票为例,取一整天的分钟数据,数据开始的时间戳是09:31:00,结束时间是15:00:00,回测中在 10:00:00取到时间戳为10:00:00的数据是正常的,不存在未来数据。
数据的获取基本原则为向前的就近原则。
三种方法的区别:
当选择频率为 'Xd','Xm' 或其他非1频率时:
时间戳是时间段的结束
注意! 取天数据时,传入的时间包含分钟时会进行忽略,end_date传入分钟时会对数据结束时间进行判断:以股票为例,传入的分钟小于 09:30:00 ,则以前一天收盘为结束,传入的分钟 大于等于 09:30:00,则以当天收盘为结束。
1,使用 count:(从后向前划分,一直到取到足够的数量)
2,使用 start_date: 以start_date为统计开始时间点(从前向后划分)
3,注意取分钟数据时end_date为数据当天时 需要带上 分时秒,否则默认end_date和start_date的分时秒均为 00:00:00 ,导致取不到当天数据:
4,分钟数据的划分和天数据的划分逻辑一致
和get_price的count逻辑基本相同,但注意取到的天数据为上一交易日的数据,相当于get_price设end_date为前一日。
1,取数逻辑和get_price的start_date逻辑类似,是以从前往后数的方式进行的;
比如股票在9:36分,count =2,unit=’5m’的情况下,:
①include_now为True:
9:30:00至9:35:00为一个bar, 9:35:00 到 9:36:00为一个bar
②Include_now为False:
昨日 14:55:00至15:00:00 为一个bar , 9:30:00至9:35:00为一个bar, 35:00至36:00的数据不包括
2,时间戳为时间段的结束,注意inclode_now的影响而导致返回数据的最后一行的时间戳的改变。
3,注意get_bars的划分时间都是固定的,如果行情数据的bar不足count个,返回的长度则小于count个数。
划分方式(以股票为例): unit='1m', '5m', '15m', '30m', '60m', '120m',时, 开始统计时间为每天的开盘, 相当于设get_price的start_date=’aY-bM-cd 09:30:00’ unit = ‘1W’,’1M’时,开始统计时间(start_date)都为每周/月的第一个交易日
4,注意inclode_now为False和为True的区别(默认为False,当为False时获取的数据比history等晚一个时间段,尤其开盘时需要注意,
前unit 分钟取到的是昨日的最后一个bar)
附:其他平台划分方式对比(我们与东财划分方式相同):
Xm,Xd时 ,时间戳是时间段的结束
1,使用count:
get_price('000001.XSHE',end_date='2018-08-09',frequency='1d',count=10)
open | close | high | low | volume | money | |
---|---|---|---|---|---|---|
2018-07-27 | 9.30 | 9.25 | 9.36 | 9.18 | 51512603 | 4.775274e+08 |
2018-07-30 | 9.32 | 9.39 | 9.49 | 9.26 | 70638597 | 6.617675e+08 |
2018-07-31 | 9.37 | 9.42 | 9.49 | 9.25 | 72015080 | 6.744847e+08 |
2018-08-01 | 9.42 | 9.15 | 9.50 | 9.11 | 81408168 | 7.592822e+08 |
2018-08-02 | 9.13 | 8.94 | 9.15 | 8.88 | 93140128 | 8.392723e+08 |
2018-08-03 | 8.93 | 8.91 | 9.10 | 8.91 | 47654662 | 4.286415e+08 |
2018-08-06 | 8.94 | 8.94 | 9.11 | 8.89 | 55401008 | 4.979067e+08 |
2018-08-07 | 8.96 | 9.17 | 9.17 | 8.88 | 69042319 | 6.243597e+08 |
2018-08-08 | 9.16 | 9.05 | 9.16 | 9.04 | 57895316 | 5.275270e+08 |
2018-08-09 | 9.04 | 9.29 | 9.35 | 9.02 | 80678377 | 7.464698e+08 |
get_price('000001.XSHE',end_date='2018-08-09',frequency='5d',count=2)
open | close | high | low | volume | money | |
---|---|---|---|---|---|---|
2018-08-02 | 9.30 | 8.94 | 9.50 | 8.88 | 368714576 | 3.412334e+09 |
2018-08-09 | 8.93 | 9.29 | 9.35 | 8.88 | 310671682 | 2.824905e+09 |
分钟数据同:
get_price('000001.XSHE',end_date='2018-08-09',frequency='1m',count=8)
open | close | high | low | volume | money | |
---|---|---|---|---|---|---|
2018-08-08 14:53:00 | 9.05 | 9.04 | 9.06 | 9.04 | 368200 | 3331141 |
2018-08-08 14:54:00 | 9.04 | 9.05 | 9.05 | 9.04 | 536100 | 4847985 |
2018-08-08 14:55:00 | 9.05 | 9.04 | 9.05 | 9.04 | 567800 | 5134531 |
2018-08-08 14:56:00 | 9.04 | 9.04 | 9.05 | 9.04 | 342900 | 3100816 |
2018-08-08 14:57:00 | 9.04 | 9.06 | 9.06 | 9.04 | 996400 | 9014143 |
2018-08-08 14:58:00 | 9.05 | 9.05 | 9.05 | 9.05 | 514100 | 4652605 |
2018-08-08 14:59:00 | 9.05 | 9.05 | 9.05 | 9.05 | 0 | 0 |
2018-08-08 15:00:00 | 9.05 | 9.05 | 9.05 | 9.05 | 899600 | 8141380 |
get_price('000001.XSHE',end_date='2018-08-09',frequency='4m',count=2)
open | close | high | low | volume | money | |
---|---|---|---|---|---|---|
2018-08-08 14:56:00 | 9.05 | 9.04 | 9.06 | 9.04 | 1815000 | 16414473 |
2018-08-08 15:00:00 | 9.04 | 9.05 | 9.06 | 9.04 | 2410100 | 21808128 |
2,使用start_date
get_price('000001.XSHE',end_date='2018-08-09',frequency='1d',start_date='2018-08-01')
open | close | high | low | volume | money | |
---|---|---|---|---|---|---|
2018-08-01 | 9.42 | 9.15 | 9.50 | 9.11 | 81408168 | 7.592822e+08 |
2018-08-02 | 9.13 | 8.94 | 9.15 | 8.88 | 93140128 | 8.392723e+08 |
2018-08-03 | 8.93 | 8.91 | 9.10 | 8.91 | 47654662 | 4.286415e+08 |
2018-08-06 | 8.94 | 8.94 | 9.11 | 8.89 | 55401008 | 4.979067e+08 |
2018-08-07 | 8.96 | 9.17 | 9.17 | 8.88 | 69042319 | 6.243597e+08 |
2018-08-08 | 9.16 | 9.05 | 9.16 | 9.04 | 57895316 | 5.275270e+08 |
2018-08-09 | 9.04 | 9.29 | 9.35 | 9.02 | 80678377 | 7.464698e+08 |
get_price('000001.XSHE',end_date='2018-08-09',frequency='5d',start_date='2018-08-01')
open | close | high | low | volume | money | |
---|---|---|---|---|---|---|
2018-08-07 | 9.42 | 9.17 | 9.50 | 8.88 | 346646285 | 3.149462e+09 |
2018-08-09 | 9.16 | 9.29 | 9.35 | 9.02 | 138573693 | 1.273997e+09 |
3,取分钟数据
get_price('000001.XSHE',end_date='2018-08-09',frequency='1m',start_date='2018-08-09') #错误示例
open | close | high | low | volume | money |
---|
get_price('000001.XSHE',end_date='2018-08-09 15:50:00',frequency='1m',start_date='2018-08-09') #正确操作
open | close | high | low | volume | money | |
---|---|---|---|---|---|---|
2018-08-09 09:31:00 | 9.04 | 9.04 | 9.05 | 9.02 | 544400 | 4918138 |
2018-08-09 09:32:00 | 9.05 | 9.08 | 9.08 | 9.04 | 370300 | 3352917 |
2018-08-09 09:33:00 | 9.06 | 9.07 | 9.08 | 9.06 | 281400 | 2554388 |
2018-08-09 09:34:00 | 9.08 | 9.08 | 9.09 | 9.08 | 398900 | 3622795 |
2018-08-09 09:35:00 | 9.08 | 9.09 | 9.09 | 9.08 | 383300 | 3482474 |
2018-08-09 09:36:00 | 9.09 | 9.09 | 9.10 | 9.08 | 325800 | 2962542 |
2018-08-09 09:37:00 | 9.09 | 9.09 | 9.10 | 9.09 | 223500 | 2032036 |
2018-08-09 09:38:00 | 9.09 | 9.08 | 9.10 | 9.08 | 425000 | 3863674 |
2018-08-09 09:39:00 | 9.08 | 9.08 | 9.09 | 9.07 | 157100 | 1426819 |
2018-08-09 09:40:00 | 9.09 | 9.10 | 9.10 | 9.07 | 120800 | 1097494 |
2018-08-09 09:41:00 | 9.09 | 9.12 | 9.12 | 9.09 | 382300 | 3480097 |
2018-08-09 09:42:00 | 9.11 | 9.13 | 9.13 | 9.11 | 544500 | 4966226 |
2018-08-09 09:43:00 | 9.12 | 9.11 | 9.13 | 9.11 | 353200 | 3221340 |
2018-08-09 09:44:00 | 9.12 | 9.10 | 9.12 | 9.10 | 170800 | 1556622 |
2018-08-09 09:45:00 | 9.11 | 9.13 | 9.13 | 9.11 | 216900 | 1978240 |
2018-08-09 09:46:00 | 9.12 | 9.14 | 9.15 | 9.12 | 472000 | 4312525 |
2018-08-09 09:47:00 | 9.14 | 9.15 | 9.16 | 9.13 | 782500 | 7155887 |
2018-08-09 09:48:00 | 9.14 | 9.15 | 9.16 | 9.14 | 481400 | 4403817 |
2018-08-09 09:49:00 | 9.15 | 9.14 | 9.15 | 9.13 | 300100 | 2742220 |
2018-08-09 09:50:00 | 9.13 | 9.14 | 9.15 | 9.13 | 293000 | 2677115 |
2018-08-09 09:51:00 | 9.14 | 9.14 | 9.15 | 9.14 | 146600 | 1340444 |
2018-08-09 09:52:00 | 9.14 | 9.13 | 9.14 | 9.13 | 163400 | 1492424 |
2018-08-09 09:53:00 | 9.13 | 9.13 | 9.14 | 9.12 | 159800 | 1458874 |
2018-08-09 09:54:00 | 9.13 | 9.13 | 9.13 | 9.12 | 142400 | 1299122 |
2018-08-09 09:55:00 | 9.12 | 9.13 | 9.13 | 9.11 | 136400 | 1243937 |
2018-08-09 09:56:00 | 9.12 | 9.12 | 9.13 | 9.11 | 51800 | 472458 |
2018-08-09 09:57:00 | 9.12 | 9.13 | 9.13 | 9.12 | 113100 | 1032550 |
2018-08-09 09:58:00 | 9.13 | 9.13 | 9.14 | 9.12 | 62700 | 572473 |
2018-08-09 09:59:00 | 9.13 | 9.14 | 9.14 | 9.12 | 113600 | 1037930 |
2018-08-09 10:00:00 | 9.14 | 9.13 | 9.14 | 9.13 | 172000 | 1571570 |
... | ... | ... | ... | ... | ... | ... |
2018-08-09 14:31:00 | 9.32 | 9.31 | 9.32 | 9.31 | 111100 | 1035175 |
2018-08-09 14:32:00 | 9.32 | 9.32 | 9.32 | 9.31 | 511300 | 4764838 |
2018-08-09 14:33:00 | 9.32 | 9.33 | 9.33 | 9.32 | 603000 | 5624954 |
2018-08-09 14:34:00 | 9.32 | 9.33 | 9.33 | 9.32 | 232000 | 2164080 |
2018-08-09 14:35:00 | 9.33 | 9.32 | 9.33 | 9.32 | 498700 | 4652469 |
2018-08-09 14:36:00 | 9.32 | 9.32 | 9.33 | 9.31 | 411800 | 3838263 |
2018-08-09 14:37:00 | 9.32 | 9.32 | 9.33 | 9.31 | 131200 | 1223351 |
2018-08-09 14:38:00 | 9.32 | 9.33 | 9.33 | 9.32 | 127400 | 1187768 |
2018-08-09 14:39:00 | 9.32 | 9.33 | 9.34 | 9.32 | 635900 | 5933610 |
2018-08-09 14:40:00 | 9.34 | 9.33 | 9.34 | 9.33 | 413000 | 3853985 |
2018-08-09 14:41:00 | 9.33 | 9.32 | 9.33 | 9.32 | 190700 | 1778913 |
2018-08-09 14:42:00 | 9.32 | 9.33 | 9.33 | 9.32 | 242100 | 2257976 |
2018-08-09 14:43:00 | 9.33 | 9.33 | 9.33 | 9.32 | 291600 | 2719906 |
2018-08-09 14:44:00 | 9.32 | 9.33 | 9.33 | 9.32 | 461900 | 4307772 |
2018-08-09 14:45:00 | 9.32 | 9.32 | 9.33 | 9.32 | 292500 | 2727594 |
2018-08-09 14:46:00 | 9.32 | 9.31 | 9.32 | 9.31 | 712600 | 6640199 |
2018-08-09 14:47:00 | 9.32 | 9.31 | 9.32 | 9.31 | 698400 | 6503113 |
2018-08-09 14:48:00 | 9.31 | 9.31 | 9.32 | 9.31 | 794200 | 7394674 |
2018-08-09 14:49:00 | 9.31 | 9.29 | 9.31 | 9.29 | 388600 | 3614258 |
2018-08-09 14:50:00 | 9.29 | 9.30 | 9.30 | 9.29 | 278400 | 2587128 |
2018-08-09 14:51:00 | 9.30 | 9.30 | 9.30 | 9.29 | 832400 | 7738493 |
2018-08-09 14:52:00 | 9.29 | 9.30 | 9.30 | 9.28 | 650300 | 6041464 |
2018-08-09 14:53:00 | 9.29 | 9.29 | 9.30 | 9.29 | 171700 | 1595413 |
2018-08-09 14:54:00 | 9.29 | 9.30 | 9.30 | 9.29 | 362600 | 3370446 |
2018-08-09 14:55:00 | 9.29 | 9.30 | 9.30 | 9.29 | 141800 | 1317743 |
2018-08-09 14:56:00 | 9.30 | 9.29 | 9.30 | 9.29 | 356100 | 3309432 |
2018-08-09 14:57:00 | 9.30 | 9.29 | 9.30 | 9.29 | 428300 | 3981381 |
2018-08-09 14:58:00 | 9.30 | 9.30 | 9.30 | 9.30 | 31600 | 293862 |
2018-08-09 14:59:00 | 9.30 | 9.30 | 9.30 | 9.30 | 0 | 0 |
2018-08-09 15:00:00 | 9.30 | 9.29 | 9.30 | 9.29 | 755600 | 7019524 |
240 rows × 6 columns
和get_price的count方法一致
1,取数逻辑和get_price的start_date逻辑类似,是以从前往后数的方式进行的; 比如股票在9:36分,count =2,unit=’5m’的情况下,: ①include_now为True: 9:30:00至9:35:00为一个bar, 9:35:00 到 9:36:00为一个bar ②Include_now为False: 昨日 14:55:00至15:00:00 为一个bar , 9:30:00至9:35:00为一个bar, 35:00至36:00的数据不包括 2,时间戳为时间段的结束,注意inclode_now的影响而导致最后一行的时间段的改变。 3,注意get_bars的划分时间都是固定的,如果行情数据的bar不足 count个,返回的长度则小于count个数。 划分方式(以股票为例): unit='1m', '5m', '15m', '30m', '60m', '120m',时, 相当于设get_price的start_date=’aY-bM-cd 09:30:00’ unit = ‘1W’,’1M’时,开始统计时间(start_date)都为每周/月的第一个交易日 4,注意inclode_now为False和为True的区别(默认为False,当为False时获取的数据比history等晚一个时间段,尤其开盘时需要注意,前unit 分钟取到的是昨日的最后一个bar)
本社区仅针对特定人员开放
查看需注册登录并通过风险意识测评
5秒后跳转登录页面...
移动端课程