diff --git a/backend/api/eps.py b/backend/api/eps.py new file mode 100644 index 0000000..702272c --- /dev/null +++ b/backend/api/eps.py @@ -0,0 +1,17 @@ +import os +import pandas as pd +import numpy as np +from scraper.top100_extractor import programming_crime_list +from typing import Optional + +DF_EPS_PATH: str = os.path.join(os.path.dirname(__file__), '..', '..', 'Elaborated_Data', 'eps_quarterly_bar_chart.csv') + + +def get_eps(tickers: list[str]) -> list[dict]: + df = pd.read_csv(DF_EPS_PATH) + ticker_series = pd.Series(tickers) + df = df.loc[df.symbol.isin(ticker_series), :] \ + .rename(columns={"epsActual": "quarterlyEps", "symbol": "ticker"}) \ + .reset_index(drop=True) + df = df.pivot(index='quarter', columns='ticker', values='quarterlyEps').reset_index(drop=False) + return df.replace({ np.nan: None }).to_dict('records') \ No newline at end of file diff --git a/stockingly-frontend/src/components/EpsChart.vue b/stockingly-frontend/src/components/EpsChart.vue new file mode 100644 index 0000000..0f84ff1 --- /dev/null +++ b/stockingly-frontend/src/components/EpsChart.vue @@ -0,0 +1,88 @@ + + + \ No newline at end of file