summaryrefslogtreecommitdiff
path: root/backend/app/schemas.py
diff options
context:
space:
mode:
authorTyler Hoang <tyler@tylerhoang.xyz>2026-05-18 22:45:59 -0700
committerTyler Hoang <tyler@tylerhoang.xyz>2026-05-18 22:45:59 -0700
commit66cfb26ebd8fa44b24e37b4ffc796ab29dcbd704 (patch)
tree4d98b268502c6aa7c8988957d6e41dffd319534d /backend/app/schemas.py
parent7fc2f0177518d70114aa75b7874a0ef59bdaec61 (diff)
parent52635efd7d435b091b4f13897511ca8e2c48f0b9 (diff)
Merge branch 'feat/key-ratios-tab'
Diffstat (limited to 'backend/app/schemas.py')
-rw-r--r--backend/app/schemas.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/backend/app/schemas.py b/backend/app/schemas.py
index 87acd0d..2c64333 100644
--- a/backend/app/schemas.py
+++ b/backend/app/schemas.py
@@ -175,5 +175,35 @@ class WatchlistResponse(BaseModel):
limit: int = 10
+class RatioPoint(BaseModel):
+ value: float | None = None
+ spark: list[float | None] = Field(default_factory=list)
+ vs_sector: float | None = None
+
+
+class RatiosResponse(BaseModel):
+ pe_ttm: RatioPoint
+ ev_ebitda: RatioPoint
+ gross_margin: RatioPoint
+ net_margin: RatioPoint
+ price_to_book: RatioPoint
+ price_to_sales: RatioPoint
+ ev_to_sales: RatioPoint
+ p_fcf: RatioPoint
+ forward_pe: RatioPoint
+ operating_margin: RatioPoint
+ ebitda_margin: RatioPoint
+ fcf_margin: RatioPoint
+ roe: RatioPoint
+ roa: RatioPoint
+ roic: RatioPoint
+ debt_to_equity: RatioPoint
+ current_ratio: RatioPoint
+ quick_ratio: RatioPoint
+ interest_coverage: RatioPoint
+ dividend_yield: RatioPoint
+ dividend_payout: RatioPoint
+
+
class ErrorResponse(BaseModel):
detail: str