Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -125,7 +125,37 @@ def run_stock_prediction(ticker):
|
|
| 125 |
)
|
| 126 |
|
| 127 |
# -------- CLI RUN --------
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 131 |
|
|
|
|
| 125 |
)
|
| 126 |
|
| 127 |
# -------- CLI RUN --------
|
| 128 |
+
import gradio as gr
|
| 129 |
+
|
| 130 |
+
def predict_stock(ticker):
|
| 131 |
+
try:
|
| 132 |
+
model = load_model(MODEL_PATH)
|
| 133 |
+
df = fetch_stock_data(ticker)
|
| 134 |
+
X, y, scaler, df_raw = preprocess_data(df)
|
| 135 |
+
|
| 136 |
+
y_pred_scaled = model.predict(X, verbose=0)
|
| 137 |
+
y_pred = scaler.inverse_transform(y_pred_scaled)
|
| 138 |
+
y_true = scaler.inverse_transform(y)
|
| 139 |
+
|
| 140 |
+
last_window = X[-1]
|
| 141 |
+
next_3_days = predict_future(model, last_window, days=3, scaler=scaler)
|
| 142 |
+
future_dates = [df_raw.index[-1] + timedelta(days=i+1) for i in range(3)]
|
| 143 |
+
|
| 144 |
+
result = ""
|
| 145 |
+
for i in range(3):
|
| 146 |
+
result += f"📅 Day {i+1} ({future_dates[i].strftime('%Y-%m-%d')}): ₹{next_3_days[i][0]:.2f}\n"
|
| 147 |
+
return result
|
| 148 |
+
except Exception as e:
|
| 149 |
+
return f"❌ Error: {str(e)}"
|
| 150 |
+
|
| 151 |
+
interface = gr.Interface(
|
| 152 |
+
fn=predict_stock,
|
| 153 |
+
inputs=gr.Textbox(label="Enter Stock Ticker (e.g. TATAMOTORS.NS)"),
|
| 154 |
+
outputs="text",
|
| 155 |
+
title="📈 LSTM Stock Price Predictor",
|
| 156 |
+
description="Enter a stock ticker to get the predicted prices for the next 3 days using an LSTM model."
|
| 157 |
+
)
|
| 158 |
+
|
| 159 |
+
interface.launch(share=True) # Set to share=True for public access
|
| 160 |
+
|
| 161 |
|