abaquant.marketdata.models

Import path: abaquant.marketdata.models

Domain: Provider-neutral market-data facades, normalized records, caching, and analytics.

Purpose

Immutable result models for applied market-data workflows.

When to use it

Defines structured inputs or model-facing data containers. Use this package to retrieve or inject quotes, price history, option chains, and financial statements while preserving a stable analytical interface.

Public objects

  • class: PortfolioResult — Immutable summary of one static allocation or user-specified evaluation. * PortfolioResult.as_dict — Return a serialization-friendly defensive copy of all fields.

Detailed reference

Immutable result models for applied market-data workflows.

class abaquant.marketdata.models.PortfolioResult(symbols, weights, expected_return, volatility, sharpe_ratio, risk_free_rate, observations, method, solver_status='not_applicable', diagnostics=None, provenance=None)

Bases: object

Immutable summary of one static allocation or user-specified evaluation.

The stored weight mapping is converted to a read-only mapping during construction. as_dict returns a plain copy for serialization.

Parameters:
  • symbols (tuple[str, ...])

  • weights (Mapping[str, float])

  • expected_return (float)

  • volatility (float)

  • sharpe_ratio (float)

  • risk_free_rate (float)

  • observations (int)

  • method (str)

  • solver_status (str)

  • diagnostics (Mapping[str, object] | None)

  • provenance (DataProvenance | None)

as_dict()

Return a serialization-friendly defensive copy of all fields.

Return type:

dict[str, object]