Trading data is recorded on non-holiday business days starting at 9:30AM, and data is recorded periodically (5 seconds, 5 minutes, 30 minutes, etc) until 4:00PM. For instance, [9:30AM, 9:35AM,...,3:50PM, 3:55PM] on non-holiday business days are times for which there are 5 minute data.

Does `pandas` have the capabilities required to correctly work with this sort of time structure? I have seen that there are ways of adding [custom holidays](https://pandas.pydata.org/pandas-docs/stable/timeseries.html#custom-business-days) to business days (9:00AM-4:00PM). But I have yet to see anyway of defining custom business hours, like (9:30AM-4:00PM). For instance, is it possible to define a custom *trading hour* [9:30AM, 10:30AM, ... 3:30PM], or *trading 5 minutes* that takes advantage of whatever code powers the *business hour*?

For instance, is there a `pandas`-powered way to generate a `DatetimeIndex` of, lets say, 5 minute frequency that follows the rules of trading times:

* Mon: 9:30AM, 9:35AM, ... 3:50PM, 3:55PM
* Tue: 9:30AM, 9:35AM, ... 3:50PM, 3:55PM
* ...
* Fri: 9:30AM, 9:35AM, ... 3:50PM, 3:55PM
* Mon: Federal holiday, no times
* Tue: 9:30AM, 9:35AM, ... 3:50PM, 3:55PM
* (and so forth)

Or is this just not supported at this time?

In other words, what methods/classes does `pandas` currently have to implement this kind of functionality? If there are none, does anyone know of other libraries that could help?