feat: add technical indicator and fundamentals fields to MarketSnapshot
This commit is contained in:
parent
5cb65e8e4f
commit
2398e8faf6
1 changed files with 29 additions and 0 deletions
|
|
@ -134,6 +134,22 @@ class OHLCVBar(BaseModel):
|
||||||
volume: float
|
volume: float
|
||||||
|
|
||||||
|
|
||||||
|
class FundamentalsSnapshot(BaseModel):
|
||||||
|
"""Fundamental financial data for a single ticker — cached daily."""
|
||||||
|
|
||||||
|
ticker: str
|
||||||
|
eps_ttm: float | None = None
|
||||||
|
pe_ratio: float | None = None
|
||||||
|
peg_ratio: float | None = None
|
||||||
|
revenue_growth_yoy: float | None = None
|
||||||
|
profit_margin: float | None = None
|
||||||
|
debt_to_equity: float | None = None
|
||||||
|
market_cap: float | None = None
|
||||||
|
fetched_at: datetime
|
||||||
|
|
||||||
|
model_config = {"from_attributes": True}
|
||||||
|
|
||||||
|
|
||||||
class MarketSnapshot(BaseModel):
|
class MarketSnapshot(BaseModel):
|
||||||
"""Snapshot of market data for a single ticker — used by strategies."""
|
"""Snapshot of market data for a single ticker — used by strategies."""
|
||||||
|
|
||||||
|
|
@ -147,7 +163,20 @@ class MarketSnapshot(BaseModel):
|
||||||
sma_20: float | None = None
|
sma_20: float | None = None
|
||||||
sma_50: float | None = None
|
sma_50: float | None = None
|
||||||
rsi: float | None = None
|
rsi: float | None = None
|
||||||
|
# Technical indicators — computed by MarketDataManager
|
||||||
|
ema_9: float | None = None
|
||||||
|
ema_21: float | None = None
|
||||||
|
sma_200: float | None = None
|
||||||
|
macd: float | None = None
|
||||||
|
macd_signal: float | None = None
|
||||||
|
macd_histogram: float | None = None
|
||||||
|
bollinger_upper: float | None = None
|
||||||
|
bollinger_mid: float | None = None
|
||||||
|
bollinger_lower: float | None = None
|
||||||
|
vwap: float | None = None
|
||||||
|
atr: float | None = None
|
||||||
bars: list[dict[str, Any]] = Field(default_factory=list)
|
bars: list[dict[str, Any]] = Field(default_factory=list)
|
||||||
|
fundamentals: FundamentalsSnapshot | None = None
|
||||||
|
|
||||||
model_config = {"from_attributes": True}
|
model_config = {"from_attributes": True}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue