为什么第一段时间9:30被中断?
它返回第一个期间为10:00。那是不对的。
我在做什么错了?
import pandas_market_calendars as mcal
nyse = mcal.get_calendar('NYSE')
early = nyse.schedule(start_date="2020-07-02", end_date="2020-10-14") # .strftime(date_fmt)
dates = mcal.date_range(early, frequency="30min")
dates = dates.tz_convert('US/Eastern')
dates
DatetimeIndex(['2020-07-02 10:00:00-04:00', '2020-07-02 10:30:00-04:00',
'2020-07-02 11:00:00-04:00', '2020-07-02 11:30:00-04:00',
'2020-07-02 12:00:00-04:00', '2020-07-02 12:30:00-04:00',
'2020-07-02 13:00:00-04:00', '2020-07-02 13:30:00-04:00',
'2020-07-02 14:00:00-04:00', '2020-07-02 14:30:00-04:00',
...
'2020-10-14 11:30:00-04:00', '2020-10-14 12:00:00-04:00',
'2020-10-14 12:30:00-04:00', '2020-10-14 13:00:00-04:00',
'2020-10-14 13:30:00-04:00', '2020-10-14 14:00:00-04:00',
'2020-10-14 14:30:00-04:00', '2020-10-14 15:00:00-04:00',
'2020-10-14 15:30:00-04:00', '2020-10-14 16:00:00-04:00'],
dtype='datetime64[ns, US/Eastern]', length=949, freq=None)
答案 0 :(得分:1)
添加了“ closed”参数,默认更改为“ right”。
相关文档字符串
:参数已关闭:与pandas date_range的含义相同。 'right'将排除第一个值,并且应在 结果应仅包括每个柱的收盘价。
dates = mcal.date_range(early, frequency="30min", closed = "left")