netflypsb commited on
Commit
3764041
·
verified ·
1 Parent(s): ef2ec49

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -4
app.py CHANGED
@@ -3,8 +3,8 @@ import yfinance as yf
3
  import plotly.graph_objects as go
4
  import pandas as pd
5
 
6
- def fetch_data(ticker):
7
- data = yf.download(ticker, start='2020-01-01', end='2024-01-01')
8
  data['MA Fast'] = data['Close'].rolling(window=5).mean()
9
  data['MA Slow'] = data['Close'].rolling(window=10).mean()
10
  data['Upper Band'], data['Lower Band'] = data['Close'].rolling(20).mean() + 2*data['Close'].rolling(20).std(), data['Close'].rolling(20).mean() - 2*data['Close'].rolling(20).std()
@@ -31,12 +31,21 @@ def plot_data(data):
31
  return fig
32
 
33
  # Streamlit user interface
34
- st.sidebar.header('BBMA Re-entry Strategy')
 
 
 
 
 
 
35
  ticker = st.sidebar.text_input('Enter ticker symbol', value='AAPL')
 
 
 
36
  button = st.sidebar.button('Analyze')
37
 
38
  if button:
39
- data = fetch_data(ticker)
40
  fig = plot_data(data)
41
  st.plotly_chart(fig, use_container_width=True)
42
 
 
3
  import plotly.graph_objects as go
4
  import pandas as pd
5
 
6
+ def fetch_data(ticker, start_date, end_date):
7
+ data = yf.download(ticker, start=start_date, end=end_date)
8
  data['MA Fast'] = data['Close'].rolling(window=5).mean()
9
  data['MA Slow'] = data['Close'].rolling(window=10).mean()
10
  data['Upper Band'], data['Lower Band'] = data['Close'].rolling(20).mean() + 2*data['Close'].rolling(20).std(), data['Close'].rolling(20).mean() - 2*data['Close'].rolling(20).std()
 
31
  return fig
32
 
33
  # Streamlit user interface
34
+ st.title("BBMA Re-entry Strategy Analysis")
35
+ st.markdown("""
36
+ This application allows users to analyze the BBMA (Bollinger Bands Moving Average) Re-entry Strategy for selected stocks.
37
+ Enter the stock ticker, choose a start and end date, and hit the 'Analyze' button to view the strategy's buy and sell signals overlaid on the price chart.
38
+ """)
39
+
40
+ st.sidebar.header('User Input Parameters')
41
  ticker = st.sidebar.text_input('Enter ticker symbol', value='AAPL')
42
+ start_date = st.sidebar.date_input('Start Date', value=pd.to_datetime('2020-01-01'))
43
+ end_date = st.sidebar.date_input('End Date', value=pd.to_datetime('today'))
44
+
45
  button = st.sidebar.button('Analyze')
46
 
47
  if button:
48
+ data = fetch_data(ticker, start_date, end_date)
49
  fig = plot_data(data)
50
  st.plotly_chart(fig, use_container_width=True)
51