Architecture And Design

bagelquant-bt is a DataFrame-first evaluation package.

prices + weights/factor scores
    |
    v
input validation
    |
    v
returns, turnover, costs, IC, quantiles
    |
    v
result dataclasses
    |
    v
visualization helpers

Philosophy

Structure

Data Boundary

Input rows are dates and columns are assets. Weight frames contain target weights. Factor frames contain cross-sectional scores. Price frames contain numeric prices used to compute returns.

The package does not import bagelquant-data or bagelquant-core; callers adapt those outputs into DataFrames before evaluation.