Ошибка при загрузке данных о ценах на акции из Yahoo finance с использованием yfinance в Python - PullRequest
1 голос
/ 28 мая 2020

Я использую библиотеку yfinance в python для загрузки данных о ценах на акции для нескольких тикеров одновременно. Ниже приведен код:

import yfinance as yf

import pandas as pd

x1 = yf.download("STNE BYND HTZ....SFET AMD", period ="1d")

И я сразу передаю 800 тикеров в строке, разделенной пробелами.

Однако каждый раз, когда я запускаю код, я получаю следующую ошибку:

requests.exceptions.SSLError: HTTPSConnectionPool(host='query1.finance.yahoo.com', port=443): Max retries exceeded with url: /v8/finance/chart/UVV?range=1d&interval=1d &includePrePost=False&events=div%2Csplits (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines','tls process server certificate', 'certificate verify failed')])")))"

Эта ошибка возникает для некоторых тикеров во время работы, и хотя данные для остальных загружаются, код не компилируется

1 Ответ

0 голосов
/ 29 мая 2020

Я считаю, что проблема связана с библиотекой запросов (используемой в yfinance). Ошибка указывает на ненадежный сертификат SSL. Есть способ пропустить проверку сертификатов SSL, установив в запросе verify = False. Подробнее об этом можно прочитать здесь: Python Запросы, генерирующие SSLError

Когда я смотрю в файлы yfinance .py, я нахожу такие строки кода, как:

r = _requests.get(url=url, proxies=proxy).json()

Возможно, вам придется изменить строки, чтобы включить в них оператор verify = False, чтобы он выглядел примерно так: request.get(url=url, proxies=proxy, verify=False).json()

Я не совсем уверен, что 'verify = False' разрешено при использовании прокси. Вы можете попробовать добавить его в строки запроса в файле .py и посмотреть, поможет ли это.

Как бы то ни было, я попытался запустить это с ~ 500 тикерами (список S & P500) и не смог воспроизвести эту ошибку. Если вы опубликуете тикер-лист 800, который вы используете, я мог бы попробовать.

Мой результат:

MMM ABT ABBV ABMD ACN ATVI ADBE AMD AAP AES AFL A APD AKAM ALK ALB ARE ALXN ALGN ALLE AGN ADS LNT ALL GOOGL GOOG MO AMZN AMCR AEE AAL AEP AXP AIG AMT AWK AMP ABC AME AMGN APH ADI ANSS ANTM AON AOS APA AIV AAPL AMAT APTV ADM ARNC ANET AJG AIZ ATO T ADSK ADP AZO AVB AVY BKR BLL BAC BK BAX BDX BRK.B BBY BIIB BLK BA BKNG BWA BXP BSX BMY AVGO BR BF.B CHRW COG CDNS CPB COF CPRI CAH KMX CCL CAT CBOE CBRE CDW CE CNC CNP CTL CERN CF SCHW CHTR CVX CMG CB CHD CI XEC CINF CTAS CSCO C CFG CTXS CLX CME CMS KO CTSH CL CMCSA CMA CAG CXO COP ED STZ COO CPRT GLW CTVA COST COTY CCI CSX CMI CVS DHI DHR DRI DVA DE DAL XRAY DVN FANG DLR DFS DISCA DISCK DISH DG DLTR D DOV DOW DTE DUK DRE DD DXC ETFC EMN ETN EBAY ECL EIX EW EA EMR ETR EOG EFX EQIX EQR ESS EL EVRG ES RE EXC EXPE EXPD EXR XOM FFIV FB FAST FRT FDX FIS FITB FE FRC FISV FLT FLIR FLS FMC F FTNT FTV FBHS FOXA FOX BEN FCX GPS GRMN IT GD GE GIS GM GPC GILD GL GPN GS GWW HRB HAL HBI HOG HIG HAS HCA PEAK HP HSIC HSY HES HPE HLT HFC HOLX HD HON HRL HST HPQ HUM HBAN HII IEX IDXX INFO ITW ILMN IR INTC ICE IBM INCY IP IPG IFF INTU ISRG IVZ IPGP IQV IRM JKHY J JBHT SJM JNJ JCI JPM JNPR KSU K KEY KEYS KMB KIM KMI KLAC KSS KHC KR LB LHX LH LRCX LW LVS LEG LDOS LEN LLY LNC LIN LYV LKQ LMT L LOW LYB MTB M MRO MPC MKTX MAR MMC MLM MAS MA MKC MXIM MCD MCK MDT MRK MET MTD MGM MCHP MU MSFT MAA MHK TAP MDLZ MNST MCO MS MOS MSI MSCI MYL NDAQ NOV NTAP NFLX NWL NEM NWSA NWS NEE NLSN NKE NI NBL JWN NSC NTRS NOC NLOK NCLH NRG NUE NVDA NVR ORLY OXY ODFL OMC OKE ORCL PCAR PKG PH PAYX PAYC PYPL PNR PBCT PEP PKI PRGO PFE PM PSX PNW PXD PNC PPG PPL PFG PG PGR PLD PRU PEG PSA PHM PVH QRVO PWR QCOM DGX RL RJF RTN O REG REGN RF RSG RMD RHI ROK ROL ROP ROST RCL SPGI CRM SBAC SLB STX SEE SRE NOW SHW SPG SWKS SLG SNA SO LUV SWK SBUX STT STE SYK SIVB SYF SNPS SYY TMUS TROW TTWO TPR TGT TEL FTI TFX TXN TXT TMO TIF TJX TSCO TDG TRV TFC TWTR TSN UDR ULTA USB UAA UA UNP UAL UNH UPS URI UTX UHS UNM VFC VLO VAR VTR VRSN VRSK VZ VRTX VIAC V VNO VMC WRB WAB WMT WBA DIS WM WAT WEC WFC WELL WDC WU WRK WY WHR WMB WLTW WYNN XEL XRX XLNX XYL YUM ZBRA ZBH ZION ZTS
[*********************100%***********************]  505 of 505 completed

5 Failed downloads:
- BF.B: No data found for this date range, symbol may be delisted
- AGN: No data found for this date range, symbol may be delisted
- RTN: No data found for this date range, symbol may be delisted
- BRK.B: No data found, symbol may be delisted
- UTX: No data found for this date range, symbol may be delisted
            Adj Close                                        ...     Volume
                    A    AAL         AAP    AAPL       ABBV  ...        YUM     ZBH    ZBRA     ZION      ZTS
Date                                                         ...
2020-05-28  86.690002  10.98  138.440002  318.25  90.029999  ...        NaN  943129  328467  3191223  2277508
2020-05-28  86.690002  10.98  138.440002  318.25  90.029999  ...  4006148.0  943129  328467  3191223  2277508

[2 rows x 3030 columns]
>>>
...