hydrosquall / hydrosquall/tiingo-python
Intraday code gets confused by daylight savings timezone cutover
- Dominant language
- Python
- Stars
- 319
- Forks
- 58
- PR merge metrics
- No merged PRs in 30d
Description
* Tiingo Python version: 0.5.0
* Python version: 3.9
* Operating System: Debian 11
### Description
Was trying to download IEX intraday by walking backward through dates.
### What I Did
```
In [111]: q = c.get_dataframe('AAPL', endDate='2021-04-09T12:16:00.000000000', startDate='2021-02-08 12:16:00', fmt='csv', frequency='1Min')
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
in
----> 1 q = c.get_dataframe('AAPL', endDate='2021-04-09T12:16:00.000000000', startDate='2021-02-08 12:16:00', fmt='csv', frequency='1Min')
~/Downloads/ib-historical-data/.venv/lib/python3.9/site-packages/tiingo/api.py in get_dataframe(self, tickers, startDate, endDate, metric_name, frequency, fmt)
292 if pandas_is_installed:
293 if type(tickers) is str:
--> 294 prices = self._request_pandas(
295 ticker=tickers, params=params, metric_name=metric_name)
296 else:
~/Downloads/ib-historical-data/.venv/lib/python3.9/site-packages/tiingo/api.py in _request_pandas(self, ticker, metric_name, params)
203 # Localize to UTC to ensure equivalence between data returned in json format and
204 # csv format. Tiingo daily data requested in csv format does not include a timezone.
--> 205 if prices.index.tz is None:
206 prices.index = prices.index.tz_localize('UTC')
207
AttributeError: 'Index' object has no attribute 'tz'
```
This happens because when the code tries to convert the index to_datetime, pandas returns a plain `Index`:
https://github.com/hydrosquall/tiingo-python/blob/6b032a0219290e1c37878687f2316c6c4c6cdb10/tiingo/api.py#L212-L217
...presumably because it can't work out the correct timezone of the data, since it has the DST cutover, sample:
```csv
2021-03-12 15:55:00-05:00,120.78,121.085,120.78,120.94,22801.0
2021-03-12 16:00:00-05:00,120.94,120.94,120.94,120.94,0.0
2021-03-15 09:30:00-04:00,121.4,121.49,120.425,120.9,39581.0
2021-03-15 09:35:00-04:00,120.885,121.33,120.83,120.96,23986.0
```
Contributor guide
Assessment
This issue has not been assessed yet.