import pandas as pd from pandas_datareader.data import DataReader from datetime import date #Date & time functionality import matplotlib.pyplot as plt nasdaq = pd.read_excel('listings.xlsx', sheetname='nasdaq', na_values='n/a') nasdaq.set_index('Stock Symbol', inplace = True) top_5 = nasdaq['Market Capitalization'].nlargest(n=5).div(1e6) tickers = top_5.index.tolist() #Convert index to list panel = DataReader(tickers, 'google', start=date(2015,1 ,1)) data = panel.to_frame() unstacked = data['Close'].unstack() #from long to wide format unstacked.plot(subplots=True) plt.tight_layout() plt.show() #get data for the 3 largest financial companies # Set Stock Symbol as the index xls = pd.ExcelFile('listings.xlsx') exchanges = xls.sheet_names listings = [] for exchange in exchanges:
@author: James """ import pandas as pd from pandas_datareader.data import DataReader from datetime import date #Date & time functionality # ============================================================================= # #get data for top 25 stocks from nasdaq # #suprisingly google only returns data from 2002 to present # ============================================================================= nasdaq = pd.read_excel('../listings.xlsx', sheetname='nasdaq', na_values='n/a') nasdaq.set_index('Stock Symbol', inplace=True) top_25 = nasdaq['Market Capitalization'].nlargest(n=25).div(1e6) tickers = top_25.index.tolist() #Convert index to list panel = DataReader(tickers, 'google', start=date(1970, 1, 1)) data = panel.to_frame() #Data is a multi-index. Trying to save this as a csv will unstack the multi-index unstacked = data['Close'].unstack() #from long to wide format unstacked.to_csv('nasdaq_25.csv') #Now we have the historical data for 25 top Nasdaq stocks
# Set the ticker tickers = ['AAPL', 'XOM'] # Set the data source data_source = 'google' # Import the stock prices stock_prices = pd.DataFrame() #for ticker in tickers: # print(ticker) stock_prices = DataReader(tickers, data_source, start, end) # stock_prices.append(stock_price) # Display and inspect the result #print(stock_prices.head()) #stock_prices.info() #-- top_3_tickers = ['JPM', 'WFC', 'BAC'] # Set start date start = date(2012, 1, 1) # Import stock data data = DataReader(top_3_tickers, 'google', start) data2 = data.to_frame() # Unstack and inspect result data2['Close'].unstack().info()