python - 熊猫市场日历缺少第一期
问题描述
为什么第一时间段又名 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)
解决方案
添加参数“关闭”,从“右”更改默认值。
相关文档字符串
:param closed: 与 pandas date_range 含义相同。'right' 将排除第一个值,当结果应仅包括每个柱的收盘价时应使用。
dates = mcal.date_range(early, frequency="30min", closed = "left")
推荐阅读
- php - Query runs on SQL Server but doesn't with PHP
- c# - 从 DataTable 制作报告
- javascript - Trying to follow a numerical array sort steps in Javascript
- icloud - CloudKit acceptShare error - "Couldn't get a Sharing identity set"
- matlab - Collision issues in matlab
- python - 如何在 Python 3.7 中解码十六进制数据包
- compiler-errors - ld:framework not found sfml
- angular - Angular 6:如何从另一个组件访问元素
- javascript - How to send POST request to Django API from ReactJS web app?
- python - How to drop name from df.columns?