betting_combat.rounds.backtest
The backtest / execution engine: fills from the trade tape, sizing under caps, routing across
instruments, and the statistics a configuration is judged by (research
ufc/modeling/execution.py, ufc/modeling/capacity.py).
General on purpose: it takes events (a DataFrame of candidate bets), trade tapes and quotes as
arguments and a frozen BacktestConfig for every setting; no file IO, no module state. The
same engine serves the research parity tests, the weekly validation and later the event bars.