Stock market analysis using Python
To perform stock market analysis using Python, Pandas, Matplotlib, and Plotly with data retrieved from the Yahoo Finance API.
Step 1: Set Up Your Environment
Make sure you have Python installed along with Pandas, Matplotlib, and Plotly libraries. You can install them using pip if you haven’t already:
pip install yfinance
Step 2: Import Required Libraries
import pandas as pd
import matplotlib.pyplot as plt
import plotly.graph_objects as go
import yfinance as yf
Step 3: Retrieve Stock Market Data
You can use the yfinance
library to fetch historical stock data from Yahoo Finance. Replace "AAPL"
with the stock symbol of your choice:
ticker = "AAPL"
start_date = "2021-01-01"
end_date = "2023-08-31"
# Fetch historical stock data from Yahoo Finance
data = yf.download(ticker, start=start_date, end=end_date)
Step 4: Data Exploration and Analysis
You can start by exploring and analyzing the data:
# View the first few rows of the data
print(data.head())
# Calculate basic statistics
print(data.describe())
Step 5: Create Candlestick Chart
To create a candlestick chart using Matplotlib:
fig, ax = plt.subplots(figsize=(12, 6))
ax.set_title(f"{ticker} Candlestick Chart")
ax.plot(data.index, data["Close"], label="Closing Price", color="blue")
candlestick_colors = {
True: "green",
False: "red"
}
candlestick_width = 0.6
for i, (index, row) in enumerate(data.iterrows()):
is_bullish = row["Open"] < row["Close"]
color = candlestick_colors[is_bullish]
ax.bar(index, row["High"] - row["Low"], bottom=row["Low"], width=candlestick_width, color=color)
ax.vlines(index, row["Low"], row["High"], color=color, linewidth=1)
ax.vlines(index, row["Open"], row["Close"], color=color, linewidth=4)
ax.set_xlabel("Date")
ax.set_ylabel("Price")
ax.legend()
plt.show()
Step 6: Create Line Chart
To create a line chart using Plotly:
fig = go.Figure()
fig.add_trace(go.Scatter(x=data.index, y=data["Close"], mode='lines', name='Closing Price'))
fig.update_layout(
title=f"{ticker} Closing Price Line Chart",
xaxis_title="Date",
yaxis_title="Price",
showlegend=True
)
fig.show()
These steps provide a basic framework for stock market analysis using Python and the Yahoo Finance API.