Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Unable to import data in my local jupyter notebook env

Hi guys,

I'm trying to use pyfolio but I am stuck at the first step of importing data. Would appreciate any help. thank you in advance

when executing this line:
benchmark_rets = pf.utils.get_symbol_rets('SPY')

I get the following error:
UserWarning: Yahoo Finance read failed: mktime argument out of range, falling back to Google
UserWarning)

OverflowError Traceback (most recent call last)
~\Anaconda3\lib\site-packages\empyrical\utils.py in get_symbol_returns_from_yahoo(symbol, start, end) 389 try:
--> 390 px = web.get_data_yahoo(symbol, start=start, end=end)
391 rets = px[['Adj Close']].pct_change().dropna()

~\Anaconda3\lib\site-packages\pandas_datareader\data.py in get_data_yahoo(*args, **kwargs) 39 def get_data_yahoo(*args, **kwargs):
---> 40 return YahooDailyReader(*args, **kwargs).read()
41

~\Anaconda3\lib\site-packages\pandas_datareader\yahoo\daily.py in read(self) 114 try:
--> 115 df = super(YahooDailyReader, self).read()
116 if self.ret_index:

~\Anaconda3\lib\site-packages\pandas_datareader\base.py in read(self) 180 df = self._read_one_data(self.url,
--> 181 params=self._get_params(self.symbols))
182 # Or multiple symbols, (e.g., ['GOOG', 'AAPL', 'MSFT'])

~\Anaconda3\lib\site-packages\pandas_datareader\yahoo\daily.py in _get_params(self, symbol) 98 def _get_params(self, symbol):
---> 99 unix_start = int(time.mktime(self.start.timetuple()))
100 day_end = self.end.replace(hour=23, minute=59, second=59)

OverflowError: mktime argument out of range

During handling of the above exception, another exception occurred:

RemoteDataError Traceback (most recent call last)
in ()
----> 1 benchmark_rets = pf.utils.get_symbol_rets('SPY')

~\Anaconda3\lib\site-packages\pyfolio\utils.py in get_symbol_rets(symbol, start, end) 598 return SETTINGS['returns_func'](symbol,
599 start=start,
--> 600 end=end)

~\Anaconda3\lib\site-packages\pyfolio\deprecate.py in wrapper(*args, **kwargs) 41 stacklevel=stacklevel
42 )
---> 43 return fn(*args, **kwargs)
44 return wrapper
45 return deprecated_dec

~\Anaconda3\lib\site-packages\pyfolio\utils.py in default_returns_func(symbol, start, end) 399 - See full explanation in tears.create_full_tear_sheet (returns).
400 """
--> 401 return empyrical.utils.default_returns_func(symbol, start=None, end=None)
402
403

~\Anaconda3\lib\site-packages\empyrical\utils.py in default_returns_func(symbol, start, end) 440 symbol='SPY',
441 start='1/1/1970',
--> 442 end=datetime.now())
443 rets = rets[start:end]
444 else:

~\Anaconda3\lib\site-packages\empyrical\utils.py in get_returns_cached(filepath, update_func, latest_dt, kwargs) 283
284 if update_cache:
--> 285 returns = update_func(
kwargs)
286 try:
287 ensure_directory(cache_dir())

~\Anaconda3\lib\site-packages\empyrical\utils.py in get_symbol_returns_from_yahoo(symbol, start, end) 394 'Yahoo Finance read failed: {}, falling back to Google'.format(e),
395 UserWarning)
--> 396 px = web.get_data_google(symbol, start=start, end=end)
397 rets = px[['Close']].pct_change().dropna()
398

~\Anaconda3\lib\site-packages\pandas_datareader\data.py in get_data_google(*args, **kwargs) 34
35 def get_data_google(*args, **kwargs):
---> 36 return GoogleDailyReader(*args, **kwargs).read()
37
38

~\Anaconda3\lib\site-packages\pandas_datareader\base.py in read(self) 179 if isinstance(self.symbols, (compat.string_types, int)):
180 df = self._read_one_data(self.url,
--> 181 params=self._get_params(self.symbols))
182 # Or multiple symbols, (e.g., ['GOOG', 'AAPL', 'MSFT'])
183 elif isinstance(self.symbols, DataFrame):

~\Anaconda3\lib\site-packages\pandas_datareader\base.py in _read_one_data(self, url, params) 77 """ read one data from specified URL """
78 if self._format == 'string':
---> 79 out = self._read_url_as_StringIO(url, params=params)
80 elif self._format == 'json':
81 out = self._get_response(url, params=params).json()

~\Anaconda3\lib\site-packages\pandas_datareader\base.py in _read_url_as_StringIO(self, url, params) 88 Open url (and retry)
89 """
---> 90 response = self._get_response(url, params=params)
91 text = self._sanitize_response(response)
92 out = StringIO()

~\Anaconda3\lib\site-packages\pandas_datareader\base.py in _get_response(self, url, params, headers) 137 if params is not None and len(params) > 0:
138 url = url + "?" + urlencode(params)
--> 139 raise RemoteDataError('Unable to read URL: {0}'.format(url))
140
141 def _get_crumb(self, *args):

RemoteDataError: Unable to read URL: http://www.google.com/finance/historical?q=SPY&startdate=Jan+01%2C+1970&enddate=Dec+15%2C+2017&output=csv

2 responses

Anyone able to help me with this issue? Thank you.

well i am also getting same error , did you able to solve the issue colin?