掘金社区

回测+仿真详细数据中的iso8601时间处理Pinned highlighted

池穆 发表在问题反馈 2018-06-22 10:17:13

问题反馈
368
0
0

掘金回测&仿真下载得到的时间数据为ISO8601格式,例如:
"2018-06-08T01:36:03.000Z"
这种时间格式可以这样处理:

from datetime import datetime, timedelta
utc= datetime.strptime(isoStr,'%Y-%m-%dT%H:%M:%S.%fZ')

utc是datetime数据,但我们必须注意,这是本初子午线标准时间,中国位于东八区,我们还要在utc的基础上加上8个小时。

local_time = utc + timedelta(hours=8)

finally,我们将ISO时间处理为datetime类型的中国标准时间。

pandas库的to_datetime()函数可以直接识别这种格式的时间,但同样要记得+pd.to_timedelta(8, "h")
对dataframe的ISO格式时间数据进行处理时,to_datetime()解决方案比第一种方法+NumPy 自定义ufunc解决方案的效率高3倍左右。

暂无评论

Looks like your connection to 掘金量化社区 - 量化交易者的策略交流学习社区 was lost, please wait while we try to reconnect.