summaryrefslogtreecommitdiff
path: root/backend/app
diff options
context:
space:
mode:
authorTyler Hoang <tyler@tylerhoang.xyz>2026-05-18 02:12:42 -0700
committerTyler Hoang <tyler@tylerhoang.xyz>2026-05-18 02:12:42 -0700
commitce1b9bcab6474f678155da1b6f0133bb6800346e (patch)
tree43bd5958a49335f8c33a8e314b71a7ab68ec8bee /backend/app
parent7fc2f0177518d70114aa75b7874a0ef59bdaec61 (diff)
feat: add RatioPoint and RatiosResponse schemas
Diffstat (limited to 'backend/app')
-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