import yfinance as yf
import pandas as pd
import matplotlib.pyplot as plt
# Define the stock symbols for Top Ten S & P 500 ETF Components
microsoft_symbol = "MSFT"
Apple_symbol = "AAPL"
NVIDIA_symbol = "NVDA"
AMAZON_symbol = "AMZN"
Meta_Platforms_symbol = "GOOGL"
Alphabet_Inc_symbol = "GOOGL" # Corrected the symbol for Alphabet Inc.
Berkshire_Hathaway_symbol = "BRK.B"
Eli_Lilly_Co_symbol = "LLY"
Broadcom_Inc_symbol = "AVGO"
Tesla_symbol = "TSLA"
# Define the time period for stock price data
start_date = "2019-01-01"
end_date = "2024-02-27"
# Fetch stock price data using yfinance
microsoft_data = yf.download(microsoft_symbol, start=start_date, end=end_date)
Apple_data = yf.download(Apple_symbol, start=start_date, end=end_date)
NVIDIA_data = yf.download(NVIDIA_symbol, start=start_date, end=end_date)
AMAZON_data = yf.download(AMAZON_symbol, start=start_date, end=end_date)
Meta_Platforms_data = yf.download(Meta_Platforms_symbol, start=start_date, end=end_date)
Alphabet_Inc_data = yf.download(Alphabet_Inc_symbol, start=start_date, end=end_date)
Berkshire_Hathaway_data = yf.download(Berkshire_Hathaway_symbol, start=start_date, end=end_date)
Eli_Lilly_Co_data = yf.download(Eli_Lilly_Co_symbol, start=start_date, end=end_date)
Broadcom_Inc_data = yf.download(Broadcom_Inc_symbol, start=start_date, end=end_date)
Tesla_data = yf.download(Tesla_symbol, start=start_date, end=end_date)
# Extract the 'Close' prices
microsoft_close_prices = microsoft_data['Close']
Apple_close_prices = Apple_data['Close']
NVIDIA_close_prices = NVIDIA_data['Close']
AMAZON_close_prices = AMAZON_data['Close']
Meta_close_prices = Meta_Platforms_data['Close']
Alphabet_close_prices = Alphabet_Inc_data['Close']
Berkshire_Hathaway_close_prices = Berkshire_Hathaway_data['Close']
Eli_Lilly_Co_close_prices = Eli_Lilly_Co_data['Close']
Broadcom_Inc_close_prices = Broadcom_Inc_data['Close']
Tesla_close_prices = Tesla_data['Close']
# Create a DataFrame to store the stock prices
stock_prices_df = pd.DataFrame({
'Microsoft': microsoft_close_prices,
'Apple': Apple_close_prices,
'NVIDIA': NVIDIA_close_prices,
'Amazon': AMAZON_close_prices,
'Meta Platforms': Meta_close_prices,
'Alphabet': Alphabet_close_prices,
'Berkshire Hathaway': Berkshire_Hathaway_close_prices,
'Eli Lilly & Co': Eli_Lilly_Co_close_prices,
'Broadcom Inc': Broadcom_Inc_close_prices,
'Tesla': Tesla_close_prices
})
# Plot the stock prices
stock_prices_df.plot(title='S&P 500 Stock Prices', ylabel='Stock Price (USD)', xlabel='Date')
plt.show()
# Calculate and display summary statistics
summary_statistics = stock_prices_df.describe()
print(summary_statistics)