RivaCube/rivaldi/lib/python3.11/site-packages/yfinance/scrapers/analysis.py
2025-02-04 19:31:18 +01:00

50 lines
1.4 KiB
Python

import pandas as pd
from yfinance.data import YfData
from yfinance.exceptions import YFNotImplementedError
class Analysis:
def __init__(self, data: YfData, symbol: str, proxy=None):
self._data = data
self._symbol = symbol
self.proxy = proxy
self._earnings_trend = None
self._analyst_trend_details = None
self._analyst_price_target = None
self._rev_est = None
self._eps_est = None
self._already_scraped = False
@property
def earnings_trend(self) -> pd.DataFrame:
if self._earnings_trend is None:
raise YFNotImplementedError('earnings_trend')
return self._earnings_trend
@property
def analyst_trend_details(self) -> pd.DataFrame:
if self._analyst_trend_details is None:
raise YFNotImplementedError('analyst_trend_details')
return self._analyst_trend_details
@property
def analyst_price_target(self) -> pd.DataFrame:
if self._analyst_price_target is None:
raise YFNotImplementedError('analyst_price_target')
return self._analyst_price_target
@property
def rev_est(self) -> pd.DataFrame:
if self._rev_est is None:
raise YFNotImplementedError('rev_est')
return self._rev_est
@property
def eps_est(self) -> pd.DataFrame:
if self._eps_est is None:
raise YFNotImplementedError('eps_est')
return self._eps_est