我有1m频率的OHLC数据df:
Open High Low Close
DateTime
2005-09-06 18:00:00 1230.25 1231.50 1230.25 1230.25
2005-09-06 18:01:00 1230.50 1231.75 1229.25 1230.50
.
.
2005-09-07 15:59:00 1234.50 1235.50 1234.25 1234.50
2005-09-07 16:00:00 1234.25 1234.50 1234.25 1234.25
我需要做一个适合期货小时数据的“自定义”重新采样,其中:
-
每天从前一天的18:00:00开始(周一从周日18:00:00开始)
-
每天在当天16:00:00结束
-
时间戳应该是关闭时间,而不是开放时间 .
进行重采样后,输出应为:
Open High Low Close
DateTime
2005-09-07 16:00:00 1230.25 1235.50 1229.25 1234.25
哪里:
-
在2005-09-06 18:00:00打开=第一个(列打开)
-
High = max(列高)从2005-09-06 18:00:00到2005-09-07 16:00:00
-
Low = min(列Low)从2005-09-06 18:00:00到2005-09-07 16:00:00
-
关闭=最后一次(栏目关闭)于2005-09-07 16:00:00
我试过了:
-
更改参数规则和基数,但它不起作用 .
-
使用reindex但没有成功 .
我使用了以下'how':
conversion = {'Open': 'first', 'High': 'max', 'Low': 'min', 'Close': 'last'}
1 回答
产量
上面的代码创建了一个代理日期,该日期是通过向索引中的每个日期时间添加6个小时来计算的 . 然后将此代理日期用作
groupby
值 .要查看代理值如何与索引相对应: