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()