bayesline.api.equity.PortfolioReturnsTieoutReportSettings

bayesline.api.equity.PortfolioReturnsTieoutReportSettings#

model PortfolioReturnsTieoutReportSettings#

Settings for a portfolio returns tie-out report.

Compares the engine’s computed daily portfolio returns against an uploaded reference return series, per hierarchy leaf. Aggregation across the hierarchy is unweighted (mean across leaves) — this is a tie-out sanity reading, not a P&L number. Metrics that only make sense NAV-weighted (uploaded_return, cumulative_diff) are emitted as NaN at internal hierarchy nodes.

Fields#

Field

Type

Required

Default

calendar

CalendarSettings

No

factory

hit_rate_buckets_bps

list[Annotated[float, Gt(gt=0)]]

No

factory

leaf_reference_mapping

dict[str, TieoutReferenceRef]

Yes

portfolio_hierarchy_settings

PortfolioHierarchySettings

Yes

report_type

Literal[‘portfolio_returns_tieout’]

No

'portfolio_returns_tieout'

returns_currency

str

No

'USD'

field calendar: CalendarSettings [Optional]#
field hit_rate_buckets_bps: list[Annotated[float, Gt(gt=0)]] [Optional]#

Hit-rate threshold buckets, in basis points. For each bucket, the report computes the fraction of dates where |computed - uploaded| is within the threshold.

field leaf_reference_mapping: dict[str, TieoutReferenceRef] [Required]#

Mapping from portfolio_id (a hierarchy leaf) to its uploaded reference series. Leaves without an entry contribute NaN to uploaded-side metrics and are excluded from coverage.

field portfolio_hierarchy_settings: PortfolioHierarchySettings [Required]#
field report_type: Literal['portfolio_returns_tieout'] [Optional]#

Report type discriminator

field returns_currency: str [Optional]#