valuation_service
ValuationService: strategy-based valuation dispatching by MeasurementBasis.
Classes:
-
ValuationService–Strategy-based valuation service dispatching by MeasurementBasis.
ValuationService
ValuationService(
strategies: dict[MeasurementBasis, ValuationStrategy]
| None = None,
benchmark_service: BenchmarkService | None = None,
yield_handle: RelinkableYieldTermStructureHandle
| None = None,
)
Strategy-based valuation service dispatching by MeasurementBasis.
A single :class:ValuationContext is shared across all strategies to avoid
rebuilding the term structure multiple times per date.
Methods:
-
register_strategy–Register strategy for positions of measurement_basis.
-
value_all–Value all open positions in bank, grouped by MeasurementBasis.
register_strategy
register_strategy(
measurement_basis: MeasurementBasis,
strategy: ValuationStrategy,
) -> None
Register strategy for positions of measurement_basis.
value_all
value_all(
bank: Bank,
market_data: MarketDataStore,
date: date,
valuation_store: ValuationStore,
) -> None
Value all open positions in bank, grouped by MeasurementBasis.
Updates the shared context once for date, then delegates to each registered strategy for its corresponding MeasurementBasis, skipping empty batches.