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