Spaces:
Runtime error
Runtime error
Update app.py
Browse files
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=
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|