Update app.py
Browse files
app.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
import yfinance as yf
|
2 |
import pandas as pd
|
3 |
-
import numpy as np
|
4 |
from sklearn.preprocessing import MinMaxScaler
|
5 |
from tensorflow.keras.models import Sequential
|
6 |
from tensorflow.keras.layers import LSTM, Dense
|
@@ -35,7 +35,7 @@ def train_model(stock_data, window_size=60):
|
|
35 |
for i in range(window_size, len(stock_data)):
|
36 |
X_train.append(stock_data[i-window_size:i, 0])
|
37 |
y_train.append(stock_data[i, 0])
|
38 |
-
X_train, y_train = np.array(X_train), np.array(y_train)
|
39 |
X_train = X_train.reshape((X_train.shape[0], X_train.shape[1], 1))
|
40 |
|
41 |
model = create_lstm_model((X_train.shape[1], 1))
|
@@ -45,13 +45,12 @@ def train_model(stock_data, window_size=60):
|
|
45 |
# Predict future stock prices
|
46 |
def predict_future_prices(model, scaler, recent_data, days_to_predict=90):
|
47 |
predictions = []
|
48 |
-
input_data = recent_data[-60:].reshape(1, 60, 1)
|
49 |
for _ in range(days_to_predict):
|
50 |
pred_price = model.predict(input_data)[0, 0]
|
51 |
predictions.append(pred_price)
|
52 |
input_data = np.append(input_data[:, 1:, :], [[pred_price]], axis=1)
|
53 |
|
54 |
-
# Inverse transform to get the original prices
|
55 |
predicted_prices = scaler.inverse_transform(np.array(predictions).reshape(-1, 1))
|
56 |
return predicted_prices
|
57 |
|
@@ -88,8 +87,8 @@ with app:
|
|
88 |
gr.Markdown("# Stock Buy/Sell Prediction App")
|
89 |
|
90 |
ticker = gr.Dropdown(tickers, label="Select Stock Ticker")
|
91 |
-
start_date = gr.
|
92 |
-
end_date = gr.
|
93 |
|
94 |
predict_button = gr.Button("Predict")
|
95 |
|
|
|
1 |
import yfinance as yf
|
2 |
import pandas as pd
|
3 |
+
import numpy as np
|
4 |
from sklearn.preprocessing import MinMaxScaler
|
5 |
from tensorflow.keras.models import Sequential
|
6 |
from tensorflow.keras.layers import LSTM, Dense
|
|
|
35 |
for i in range(window_size, len(stock_data)):
|
36 |
X_train.append(stock_data[i-window_size:i, 0])
|
37 |
y_train.append(stock_data[i, 0])
|
38 |
+
X_train, y_train = np.array(X_train), np.array(y_train)
|
39 |
X_train = X_train.reshape((X_train.shape[0], X_train.shape[1], 1))
|
40 |
|
41 |
model = create_lstm_model((X_train.shape[1], 1))
|
|
|
45 |
# Predict future stock prices
|
46 |
def predict_future_prices(model, scaler, recent_data, days_to_predict=90):
|
47 |
predictions = []
|
48 |
+
input_data = recent_data[-60:].reshape(1, 60, 1)
|
49 |
for _ in range(days_to_predict):
|
50 |
pred_price = model.predict(input_data)[0, 0]
|
51 |
predictions.append(pred_price)
|
52 |
input_data = np.append(input_data[:, 1:, :], [[pred_price]], axis=1)
|
53 |
|
|
|
54 |
predicted_prices = scaler.inverse_transform(np.array(predictions).reshape(-1, 1))
|
55 |
return predicted_prices
|
56 |
|
|
|
87 |
gr.Markdown("# Stock Buy/Sell Prediction App")
|
88 |
|
89 |
ticker = gr.Dropdown(tickers, label="Select Stock Ticker")
|
90 |
+
start_date = gr.inputs.DatePicker(label="Start Date") # Use DatePicker for selecting dates
|
91 |
+
end_date = gr.inputs.DatePicker(label="End Date") # Use DatePicker for selecting dates
|
92 |
|
93 |
predict_button = gr.Button("Predict")
|
94 |
|