Skip to content

Commit

Permalink
Merge pull request #1093 from ranaroussi/fix/download-timezones
Browse files Browse the repository at this point in the history
Add 'ignore_tz' arg to download()
  • Loading branch information
ValueRaider committed Oct 18, 2022
2 parents 51f2c73 + 7902ec8 commit 1db6be7
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
5 changes: 5 additions & 0 deletions README.md
Expand Up @@ -187,6 +187,11 @@ data = yf.download( # or pdr.get_data_yahoo(...
# (optional, default is '1d')
interval = "1m",

# Whether to ignore timezone when aligning ticker data from
# different timezones. Default is True. False may be useful for
# minute/hourly data.
ignore_tz = False,

# group by ticker (to access via data['SPY'])
# (optional, default is 'column')
group_by = 'ticker',
Expand Down
14 changes: 11 additions & 3 deletions yfinance/multi.py
Expand Up @@ -29,7 +29,7 @@
from . import shared


def download(tickers, start=None, end=None, actions=False, threads=True,
def download(tickers, start=None, end=None, actions=False, threads=True, ignore_tz=True,
group_by='column', auto_adjust=False, back_adjust=False, keepna=False,
progress=True, period="max", show_errors=True, interval="1d", prepost=False,
proxy=None, rounding=False, timeout=None, **kwargs):
Expand Down Expand Up @@ -63,6 +63,9 @@ def download(tickers, start=None, end=None, actions=False, threads=True,
Download dividend + stock splits data. Default is False
threads: bool / int
How many threads to use for mass downloading. Default is True
ignore_tz: bool
When combining from different timezones, ignore that part of datetime.
Default is True
proxy: str
Optional. Proxy server URL scheme. Default is None
rounding: bool
Expand Down Expand Up @@ -140,12 +143,17 @@ def download(tickers, start=None, end=None, actions=False, threads=True,
ticker = tickers[0]
return shared._DFS[shared._ISINS.get(ticker, ticker)]

if ignore_tz:
for tkr in shared._DFS.keys():
if (shared._DFS[tkr] is not None) and (shared._DFS[tkr].shape[0]>0):
shared._DFS[tkr].index = shared._DFS[tkr].index.tz_localize(None)

try:
data = _pd.concat(shared._DFS.values(), axis=1,
data = _pd.concat(shared._DFS.values(), axis=1, sort=True,
keys=shared._DFS.keys())
except Exception:
_realign_dfs()
data = _pd.concat(shared._DFS.values(), axis=1,
data = _pd.concat(shared._DFS.values(), axis=1, sort=True,
keys=shared._DFS.keys())

# switch names back to isins if applicable
Expand Down

0 comments on commit 1db6be7

Please sign in to comment.