quantlab.tracking.base#

The root classes of experiment tracking: where a run’s records are sent.

A tracker decides where the records of a training or a backtest go: to Weights & Biases, to MLflow, or nowhere (ADR 0015). It is named in a config and serialised into config.json by class path, like a portfolio constructor, so a rebuilt run tracks the same way. The default is the NullTracker, which sends nothing.

Tracker.start_run is a context manager yielding a TrackingRun: one record holding the config, step metrics (an epoch or a boosting round) and a summary. Leaving the block finishes the run, also when the body raises, and the exception propagates. The config is made JSON-safe here, summarize flattens nested metrics here, and a missing file is refused here, so every adapter receives the same values.

Adapters live in quantlab/tracking, one module per tracking library; this module imports none.

Classes

NullRun

A tracking run that records nothing.

NullTracker

A tracker that sends nothing anywhere: the default.

Tracker

Where tracking runs are sent; the root of every tracker.

TrackingRun

One record a tracker keeps: a training, a CV fold, a CV summary or a backtest.

Functions

flatten_metrics

Flatten nested metrics to outer/inner keys, keeping finite numbers only.