From 8a7dff97216fd301c7f3c4f20bebec917451d911 Mon Sep 17 00:00:00 2001 From: Tyler Hoang Date: Mon, 18 May 2026 01:21:40 -0700 Subject: feat: add DcfResult, MultipleResult, ValuationResponse schemas --- backend/app/schemas.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'backend/app') 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 -- cgit v1.3-2-g0d8e