Analyzers๏ƒ

Analyzers: observers of a run, fed each settlement as it lands.

The backtrader idea โ€” one evaluation loop, many pluggable observers. Analyzers never influence the run; they accumulate diagnostics and report in Result.analysis.

class emflow.run.analyzers.Analyzer[source]๏ƒ

Bases: ABC

Base analyzer. setup receives the run context; on_settlement each scored origin; finalize returns the diagnostics dict.

property name: str๏ƒ
setup(feed, target_field, target_column, objective) None[source]๏ƒ
on_settlement(record) None[source]๏ƒ
finalize() dict[source]๏ƒ
class emflow.run.analyzers.PersistenceSkill[source]๏ƒ

Bases: Analyzer

Scores a persistence baseline (last knowable value at each origin, broadcast over its targets) and reports the modelโ€™s skill against it. A model that canโ€™t beat this hasnโ€™t learned anything.

setup(feed, target_field, target_column, objective) None[source]๏ƒ
on_settlement(record) None[source]๏ƒ
finalize() dict[source]๏ƒ
class emflow.run.analyzers.QuantileCalibration[source]๏ƒ

Bases: Analyzer

Empirical coverage per predicted quantile. A calibrated q10 should have ~10% of actuals below it; large gaps mean the intervals are lying.

on_settlement(record) None[source]๏ƒ
finalize() dict[source]๏ƒ
emflow.run.analyzers.default_analyzers(model=None) List[Analyzer][source]๏ƒ