Данные о ценах из ошибки YahooFinance: Ошибка типа: неподдерживаемый тип для секундных секунд, компонент: NoneType - PullRequest
0 голосов
/ 18 октября 2018

У меня есть список из около 250 биржевых символов (например, «AAPL», «IBM», «QQQ», ...) и я пытаюсь получить данные о ценах из Yahoo Finance с помощью YahooFinancials.

nr_periods = 333

date_N_days_ago = (datetime.now() - timedelta(days = nr_periods)).strftime('%Y-%m-%d')
date_today = datetime.now().strftime('%Y-%m-%d')

yahoo_financials = YahooFinancials(symbols_list)
hist_prices = yahoo_financials.get_historical_price_data(date_N_days_ago, date_today, 'daily')

Этот код вызывает сообщение об ошибке:

TypeError: unsupported type for timedelta seconds component: NoneType

Проблема в том, что это сообщение об ошибке возникает не каждый раз, когда я выполняю код, а случайно.Я не мог понять, почему.Вот полная трассировка стека

Traceback (most recent call last):
  File "testfile.py", line 273, in <module>
    updatePrices(logger)
  File "testfile.py", line 185, in updatePrices
    hist_prices = yahoo_financials.get_historical_price_data(date_N_days_ago, date_today, 'daily')
  File "/usr/local/lib/python3.5/dist-packages/yahoofinancials/__init__.py", line 547, in get_historical_price_data
    return self.get_stock_data('history', hist_obj=hist_obj)
  File "/usr/local/lib/python3.5/dist-packages/yahoofinancials/__init__.py", line 428, in get_stock_data
    dict_ent = self._create_dict_ent(tick, statement_type, tech_type, report_name, hist_obj)
  File "/usr/local/lib/python3.5/dist-packages/yahoofinancials/__init__.py", line 364, in _create_dict_ent
    cleaned_re_data = self._clean_historical_data(re_data)
  File "/usr/local/lib/python3.5/dist-packages/yahoofinancials/__init__.py", line 270, in _clean_historical_data
    cleaned_date = self.format_date(v)
  File "/usr/local/lib/python3.5/dist-packages/yahoofinancials/__init__.py", line 111, in format_date
    form_date = str((datetime.datetime(1970, 1, 1) + datetime.timedelta(seconds=in_date)).date())
TypeError: unsupported type for timedelta seconds component: NoneType

1 Ответ

0 голосов
/ 10 ноября 2018

Это был действительно дефект.Автор исправил это: https://github.com/JECSand/yahoofinancials

...