Spaces:
Sleeping
Sleeping
import yfinance as yf | |
import pandas as pd | |
import joblib | |
from tabulate import tabulate | |
import os | |
tickers = ['GME', 'SOFI', 'RIVN', 'UCL', 'DGHI'] | |
def load_model(ticker): | |
try: | |
return joblib.load(f"{ticker}_model.pkl") | |
except: | |
return None | |
def predict_stock_move(ticker): | |
model = load_model(ticker) | |
if not model: | |
return None | |
data = yf.download(ticker, period='2d', interval='1d') | |
if data.shape[0] < 2: | |
return None | |
latest = data.iloc[-1][['Open', 'High', 'Low', 'Close', 'Volume']].values.reshape(1, -1) | |
prediction = model.predict(latest)[0] | |
return round(prediction, 2) | |
def main(): | |
results = [] | |
for ticker in tickers: | |
pred = predict_stock_move(ticker) | |
if pred is not None: | |
results.append([ticker, f"{pred:+.2f}%"]) | |
print(tabulate(results, headers=["Ticker", "Predicted % Change (7d)"])) | |
if __name__ == "__main__": | |
main() |