diff options
Diffstat (limited to 'backend/app/schemas.py')
| -rw-r--r-- | backend/app/schemas.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/backend/app/schemas.py b/backend/app/schemas.py index 86f586c..87acd0d 100644 --- a/backend/app/schemas.py +++ b/backend/app/schemas.py @@ -128,6 +128,42 @@ class FinancialsResponse(BaseModel): cash_flow: FinancialStatement +class DcfResult(BaseModel): + available: bool = True + error: str | None = None + intrinsic_value_per_share: float | None = None + enterprise_value: float | None = None + equity_value: float | None = None + net_debt: float | None = None + cash_and_equivalents: float | None = None + total_debt: float | None = None + terminal_value_pv: float | None = None + fcf_pv_sum: float | None = None + growth_rate_used: float | None = None + base_fcf: float | None = None + wacc: float = 0.10 + terminal_growth: float = 0.03 + + +class MultipleResult(BaseModel): + available: bool = True + implied_price_per_share: float | None = None + implied_ev: float | None = None + equity_value: float | None = None + net_debt: float | None = None + multiple_used: float | None = None + + +class ValuationResponse(BaseModel): + symbol: str + current_price: float | None = None + shares_outstanding: float | None = None + dcf: DcfResult + ev_ebitda: MultipleResult + ev_revenue: MultipleResult + price_to_book: MultipleResult + + class WatchlistItem(BaseModel): symbol: str created_at: str |
