| # analysis/fundamental.py | |
| from data.api_client import YahooFinanceClient | |
| class FundamentalAnalyzer: | |
| def analyze(ticker): | |
| info = YahooFinanceClient.get_company_info(ticker) | |
| return { | |
| 'trailingPE': float(info.get('trailingPE', 0)), | |
| 'sectorPE': float(info.get('sectorPE', 0)) if info.get('sectorPE') else None, | |
| 'revenueGrowth': float(info.get('revenueGrowth', 0)), | |
| 'profitMargins': float(info.get('profitMargins', 0)), | |
| 'debtToEquity': float(info.get('debtToEquity', 0)), | |
| 'shortName': info.get('shortName') | |
| } |