dhe1raj commited on
Commit
361e2f9
·
verified ·
1 Parent(s): 664dcc9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -3
app.py CHANGED
@@ -125,7 +125,37 @@ def run_stock_prediction(ticker):
125
  )
126
 
127
  # -------- CLI RUN --------
128
- if __name__ == "__main__":
129
- ticker_input = input("Enter the stock ticker symbol (e.g., TATAMOTORS.NS or TSLA): ").strip().upper()
130
- run_stock_prediction(ticker_input)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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