1 / # predict
70pher703's picture
Create # predict
0122544 verified
raw
history blame contribute delete
934 Bytes
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()