stock-tracker-discord/yfi.py

44 lines
1 KiB
Python

import yfinance as yf
def stock_exists(ticker):
try:
return yf.Ticker(ticker).info
except KeyError:
return False
def stock_info(ticker):
if not (stock := stock_exists(ticker)):
return False
return stock
def stock_history(ticker, timespan="6mo", interval="1d"):
if not stock_exists(ticker):
return False
return yf.Ticker(stock).history("6mo", interval="1d", prepost=True)
def get_current_price(ticker):
yf_obj = yf.Ticker(ticker)
todays_data = yf_obj.history(period="1d")
return round(todays_data["Close"][0], 2)
def get_delta(ticker, return_old_price=False):
yf_obj = yf.Ticker(ticker)
old_price = yf_obj.history(interval="1d")["Close"][-2]
current_price = get_current_price(ticker)
delta = 100 * ((current_price / old_price) - 1)
if return_old_price:
return delta, old_price
else:
return delta
def get_delta_old_price(ticker):
yf_obj = yf.Ticker(ticker)
return yf_obj.history(interval="1d")["Close"][-2]