from pandas_datareader import data as pdr import fix_yahoo_finance as yf yf.pdr_override() # <== that's all it takes :-) data = pdr.get_data_yahoo( # tickers list (single tickers accepts a string as well) tickers=['AAPL', 'ADBE', 'AEE', 'AEP', 'AFL', 'AIG', 'AIZ', 'ALL', 'AMAT', 'AMT', 'AON', 'APC', 'AVB', 'AVGO', 'AWK', 'AXP', 'BAC', 'BBT', 'BHF', 'BHGE', 'BK', 'BLK', 'BRK.A', 'C', 'CB', 'CCI', 'CME', 'CNP', 'COF', 'COP', 'CRM', 'CSCO', 'CTSH', 'CVX', 'D', 'DLR', 'DUK', 'ED', 'EOG', 'EQIX', 'EXC', 'FB', 'FTI', 'GOOGL', 'GS', 'HAL', 'HP', 'IBM', 'INTC', 'INTU', 'JPM', 'KEY', 'KMI', 'LNC', 'MA', 'MET', 'MMC', 'MPC', 'MS', 'MSFT', 'MTB', 'NEE', 'NI', 'NOV', 'NVDA', 'OKE', 'ORCL', 'OXY', 'PCG', 'PEG', 'PFG', 'PGR', 'PLD', 'PNC', 'PPL', 'PRU', 'PSA', 'PSX', 'PXD', 'QCOM', 'SCHW', 'SLB', 'SO', 'SPG', 'SRE', 'STI', 'TMK', 'TRV', 'TXN', 'UNM', 'USB', 'V', 'VLO', 'WEC', 'WFC', 'WLTW', 'WMB', 'WY', 'XEL', 'XOM'], # start date (YYYY-MM-DD / datetime.datetime object) # (optional, defaults is 1950-01-01) start="2017-01-01", # end date (YYYY-MM-DD / datetime.datetime object) # (optional, defaults is Today) end="2017-04-30", # return a multi-index dataframe # (optional, default is Panel, which is deprecated) as_panel=False, # group by ticker (to access via data['SPY']) # (optional, default is 'column') group_by='ticker', # adjust all OHLC automatically # (optional, default is False) auto_adjust=True, # download dividend + stock splits data # (optional, default is None) # options are: # - True (returns history + actions) # - 'only' (actions only) actions=True, # How may threads to use? threads=10 ) datacsv = data.to_csv('Pairs_Trading_Analysis_Data_Yahoo.csv',index=True, index_label='Date')