Concepts
bagelquant-core models research logic as domain-aware data plus lazy
operation graphs.
Domain
A Domain defines the sessions and asset universe for a research problem. It
does not download calendars or security masters; callers provide the calendar
and either a static asset list or a dynamic membership frame.
Panel
A Panel is immutable time-by-asset numeric data aligned to a Domain.
Panels are raw inputs, graph leaves, materialized graph outputs, and cache
values during execution.
See Panel.
Graph
A Graph is a lazy chain of research logic. Transformers and composers return
graphs, and execution materializes output panels only when compute() is
called.
See Graph.
Transformers
Transformers are unary operations:
Panel | Graph -> Graph
They cover ranking, normalization, rolling windows, missing-value handling, outlier treatment, and other common factor transformations.
See Transformer.
Composers
Composers combine multiple Panel or Graph inputs into one graph. They cover
arithmetic, cross-sectional grouping, rolling relationships, projection, and
weighted aggregation.
See Composer.
Execution
Execution validates the graph, computes dependencies in topological order, caches intermediate outputs, and applies domain membership rules so inactive cells do not leak into later operations.
See Execution.