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 |
|