Spaces:
Sleeping
Sleeping
import streamlit as st | |
import yfinance as yf | |
import pandas as pd | |
import plotly.graph_objs as go | |
# Set the Streamlit app title and icon | |
st.set_page_config(page_title="Stock Analysis", page_icon="📈") | |
# Define the Streamlit app | |
def main(): | |
# Create a Streamlit sidebar for user input | |
st.sidebar.title("Stock Analysis") | |
ticker_symbol = st.sidebar.text_input("Enter Stock Ticker Symbol:", value='AAPL') | |
start_date = st.sidebar.date_input("Start Date", pd.to_datetime('2020-01-01')) | |
end_date = st.sidebar.date_input("End Date", pd.to_datetime('2021-01-01')) | |
# Fetch stock data from Yahoo Finance | |
try: | |
stock_data = yf.download(ticker_symbol, start=start_date, end=end_date) | |
except Exception as e: | |
st.error("Error fetching stock data. Please check the ticker symbol and date range.") | |
return | |
# Display basic stock information | |
st.header(f"Stock Analysis for {ticker_symbol}") | |
st.subheader("Basic Stock Information") | |
st.write(stock_data.tail()) | |
# Plot a candlestick chart | |
st.subheader("Candlestick Chart") | |
fig = go.Figure(data=[go.Candlestick(x=stock_data.index, | |
open=stock_data['Open'], | |
high=stock_data['High'], | |
low=stock_data['Low'], | |
close=stock_data['Close'])]) | |
fig.update_layout(title=f'{ticker_symbol} Candlestick Chart', xaxis_title='Date', yaxis_title='Price') | |
st.plotly_chart(fig) | |
# Perform more advanced analysis here | |
# You can add more Streamlit components and analysis tools as needed | |
# Run the Streamlit app | |
if __name__ == '__main__': | |
main() | |