Entities#
Data entities for market data rows/tables and ticker validation.
- class MarketData(start_date: datetime.date, end_date: datetime.date, ticker: kaxanuk.attribution_analysis.entities.ticker.Ticker, daily_rows: dict[str, kaxanuk.attribution_analysis.entities.market_data_daily_row.MarketDataDailyRow])[source]#
Bases:
object- daily_rows: dict[str, MarketDataDailyRow]#
- end_date: date#
- start_date: date#
- class MarketDataDailyRow(date: datetime.date, open: decimal.Decimal, high: decimal.Decimal, low: decimal.Decimal, close: decimal.Decimal, adjusted_close: decimal.Decimal | None, volume: int, vwap: decimal.Decimal | None)[source]#
Bases:
object- adjusted_close: Decimal | None#
- close: Decimal#
- date: date#
- high: Decimal#
- low: Decimal#
- open: Decimal#
- volume: int#
- vwap: Decimal | None#
Security ticker value object for use in all entities and aggregates.
- class Ticker(symbol: str)[source]#
Bases:
objectImmutable value object representing a security ticker symbol.
Validation performed automatically on construction:
symbol must be a str.
symbol must match the allowed ticker character set (letters, digits,
.,*,-,^).
- Parameters:
symbol (str) – The ticker symbol (e.g.
"AAPL","BRK.B").- Raises:
EntityValueError – If symbol is not a string, or does not match the expected ticker format.
- symbol: str#