70pher703 commited on
Commit
0122544
·
verified ·
1 Parent(s): e635c27

Create # predict

Browse files
Files changed (1) hide show
  1. # predict +37 -0
# predict ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import yfinance as yf
2
+ import pandas as pd
3
+ import joblib
4
+ from tabulate import tabulate
5
+ import os
6
+
7
+ tickers = ['GME', 'SOFI', 'RIVN', 'UCL', 'DGHI']
8
+
9
+ def load_model(ticker):
10
+ try:
11
+ return joblib.load(f"{ticker}_model.pkl")
12
+ except:
13
+ return None
14
+
15
+ def predict_stock_move(ticker):
16
+ model = load_model(ticker)
17
+ if not model:
18
+ return None
19
+
20
+ data = yf.download(ticker, period='2d', interval='1d')
21
+ if data.shape[0] < 2:
22
+ return None
23
+ latest = data.iloc[-1][['Open', 'High', 'Low', 'Close', 'Volume']].values.reshape(1, -1)
24
+ prediction = model.predict(latest)[0]
25
+ return round(prediction, 2)
26
+
27
+ def main():
28
+ results = []
29
+ for ticker in tickers:
30
+ pred = predict_stock_move(ticker)
31
+ if pred is not None:
32
+ results.append([ticker, f"{pred:+.2f}%"])
33
+
34
+ print(tabulate(results, headers=["Ticker", "Predicted % Change (7d)"]))
35
+
36
+ if __name__ == "__main__":
37
+ main()