Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -5,8 +5,9 @@ import matplotlib.pyplot as plt
|
|
| 5 |
import gradio as gr
|
| 6 |
import io
|
| 7 |
|
|
|
|
|
|
|
| 8 |
def sma_crossover_strategy(initial_budget, start_date, end_date, ticker):
|
| 9 |
-
print("Fetching data...")
|
| 10 |
try:
|
| 11 |
df = yf.download(ticker, start=start_date, end=end_date, progress=False)
|
| 12 |
if df.empty:
|
|
@@ -15,10 +16,8 @@ def sma_crossover_strategy(initial_budget, start_date, end_date, ticker):
|
|
| 15 |
return None, f"Error fetching data: {str(e)}", None
|
| 16 |
|
| 17 |
df = df[['Close']]
|
| 18 |
-
|
| 19 |
df['SMA_50'] = df['Close'].rolling(window=50).mean()
|
| 20 |
df['SMA_150'] = df['Close'].rolling(window=150).mean()
|
| 21 |
-
|
| 22 |
df['Signal'] = 0
|
| 23 |
df['Signal'][df['SMA_50'] > df['SMA_150']] = 1
|
| 24 |
df['Signal'][df['SMA_50'] < df['SMA_150']] = -1
|
|
@@ -28,7 +27,6 @@ def sma_crossover_strategy(initial_budget, start_date, end_date, ticker):
|
|
| 28 |
shares = 0
|
| 29 |
portfolio_values = []
|
| 30 |
|
| 31 |
-
print("Starting simulation...")
|
| 32 |
for index, row in df.iterrows():
|
| 33 |
if pd.isna(row['Close']):
|
| 34 |
continue
|
|
@@ -38,7 +36,6 @@ def sma_crossover_strategy(initial_budget, start_date, end_date, ticker):
|
|
| 38 |
elif row['Position'] == -1 and shares > 0:
|
| 39 |
cash = shares * row['Close']
|
| 40 |
shares = 0
|
| 41 |
-
|
| 42 |
portfolio_value = cash + (shares * row['Close'])
|
| 43 |
portfolio_values.append(portfolio_value)
|
| 44 |
|
|
|
|
| 5 |
import gradio as gr
|
| 6 |
import io
|
| 7 |
|
| 8 |
+
print("Starting app...")
|
| 9 |
+
|
| 10 |
def sma_crossover_strategy(initial_budget, start_date, end_date, ticker):
|
|
|
|
| 11 |
try:
|
| 12 |
df = yf.download(ticker, start=start_date, end=end_date, progress=False)
|
| 13 |
if df.empty:
|
|
|
|
| 16 |
return None, f"Error fetching data: {str(e)}", None
|
| 17 |
|
| 18 |
df = df[['Close']]
|
|
|
|
| 19 |
df['SMA_50'] = df['Close'].rolling(window=50).mean()
|
| 20 |
df['SMA_150'] = df['Close'].rolling(window=150).mean()
|
|
|
|
| 21 |
df['Signal'] = 0
|
| 22 |
df['Signal'][df['SMA_50'] > df['SMA_150']] = 1
|
| 23 |
df['Signal'][df['SMA_50'] < df['SMA_150']] = -1
|
|
|
|
| 27 |
shares = 0
|
| 28 |
portfolio_values = []
|
| 29 |
|
|
|
|
| 30 |
for index, row in df.iterrows():
|
| 31 |
if pd.isna(row['Close']):
|
| 32 |
continue
|
|
|
|
| 36 |
elif row['Position'] == -1 and shares > 0:
|
| 37 |
cash = shares * row['Close']
|
| 38 |
shares = 0
|
|
|
|
| 39 |
portfolio_value = cash + (shares * row['Close'])
|
| 40 |
portfolio_values.append(portfolio_value)
|
| 41 |
|