CoolFace
Apppublic

aartemka/pilot-etf-tech

sourceHugging Faceupdated 3y agoView on Hugging Face
0likes
finance_handler.py32 linesDownload Raw Back to root
1import pandas as pd2import yfinance as yf3from datetime import datetime4from config import Config5 6 7def historical_return(company: yf.Ticker, history_years: int) -> float:8    history = company.history(period=f"{history_years}y")9    return (history["Close"].iloc[-1] - history["Close"].iloc[0]) / history["Close"].iloc[0]10 11 12def get_financial_info(ticker: str, metrics: list) -> dict:13    try:14        company = yf.Ticker(ticker)15        current_price = company.info.get("currentPrice")16        if not current_price:17            return {metric: 'DELISTED' for metric in metrics}18    except:19        return {metric: 'DELISTED' for metric in metrics}20    financial_info = {}21    for metric in metrics:22        if company.info.get(metric, None):23            financial_info.update({metric: company.info.get(metric)})24            continue25        if Config.FINANCE_HISTORICAL_RETURN in metric:26            financial_info.update({metric: historical_return(company, metric[-1])})27    financial_info.update({Config.FINANCE_UPDATE_TIME: datetime.now().strftime("%d-%m-%Y")})28    return financial_info  # {price: 100, marketCap: 1000, update: 01-01-2021}29 30 31 32