niyaa's picture
Update app.py
df6aea0
raw
history blame
2.54 kB
import streamlit as st
import yfinance as yf
import pandas as pd
import cufflinks as cf
import datetime
import plotly.graph_objects as go
# App title
st.markdown('''
# Sovrenn Market Sentiment Indicator App
Shown are the stock price data for the selected company!
**Credits**
- App built by SRL
''')
st.write('---')
# Sidebar
st.sidebar.subheader('Query parameters')
start_date = st.sidebar.date_input("Start date", datetime.date(2023,9, 20))
#start_date = start_date - datetime.timedelta(days=1)
end_date = start_date + datetime.timedelta(days=14)
# User input for the stock ticker symbol
tickerSymbol = st.sidebar.text_input('Enter Stock Ticker Symbol')
if tickerSymbol:
tickerData = yf.Ticker(tickerSymbol) # Get ticker data
tickerDf = tickerData.history(period='1d', start=start_date, end=end_date) # Get the historical prices for this ticker
string_name = tickerData.info.get('longName', 'Company Name Not Available')
st.header('**%s**' % string_name)
# Try to get the business summary, handle KeyError if not available
try:
string_summary = tickerData.info['longBusinessSummary']
st.info(string_summary)
except KeyError:
st.warning("Business summary not available for this company.")
# Ticker data
st.header('**Ticker data**')
st.write(tickerDf)
# Create a candlestick chart and volume bar chart
fig_candlestick = go.Figure(data=[go.Candlestick(x=tickerDf.index,
open=tickerDf['Open'],
high=tickerDf['High'],
low=tickerDf['Low'],
close=tickerDf['Close'])])
fig_volume = go.Figure(data=[go.Bar(x=tickerDf.index, y=tickerDf['Volume'])])
st.header('**Candlestick Chart**')
st.plotly_chart(fig_candlestick)
st.header('**Volume Bar Chart**')
st.plotly_chart(fig_volume)
st.write(start_date)
tickerDf = pd.DataFrame(tickerDf).reset_index()
# st.write(tickerDf)
#date = datetime.date(start_date)
date_str = start_date.strftime("%Y-%m-%d")
st.write(date_str)
df = tickerDf[tickerDf["Date"]==date_str]
st.write(df)
if (df["Close"][0] > df["Open"][0] ):
st.write("NSE has uptrend on " +date_str )
if (df["Close"][0] < df["Open"][0] ):
st.write(" NSE has downdtrend on " +date_str )
else:
st.warning("Please enter a valid Stock Ticker Symbol.")