summaryrefslogtreecommitdiff
path: root/backend/app
diff options
context:
space:
mode:
Diffstat (limited to 'backend/app')
-rw-r--r--backend/app/schemas.py36
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