betting_combat.rounds.backtest.config
The backtest’s settings as one immutable value, and the research’s grids and instrument sets.
The research (ufc/modeling/execution.py, ufc/modeling/capacity.py) kept these as module
globals that its callers changed at run time (BANKROLL, CARD_CAP, DAILY_STOP,
MAX_BET, POLY_FEE_AS_KALSHI, LAT, CUSH, STALE). Here every run takes them
explicitly in a frozen BacktestConfig; the defaults are the research’s values, so
BacktestConfig() is the research run with its globals untouched (the production
headline: no round-0 bets), BacktestConfig(trade_round0=True) the research run with every
event bet, and BacktestConfig(bankroll=10_000_000.0) the research run after
capacity.BANKROLL = 10_000_000.
Classes
BacktestConfig
Everything a backtest run depends on besides its inputs and the configuration it scores.
Money is in dollars; every *_cap / *_stop / max_bet is a share of bankroll.