betting_combat.rounds.market
Live-market data for strategy 4 (rounds): the historical fight clock, the fight’s
markets named from fighter A’s side, the minute panel (Set 4), the trade tables, the
round-start market windows (Set 3), the round-start prices of the round dataset (group 6) and
Polymarket’s trades.
Ported from the research (ufc/inplay.py, ufc/final_assessment.py timing,
ufc/joint.py, ufc/dataset/{markets,live,trades,set3,polymarket}.py) with identical
numbers. Every function takes its data as arguments (JSON-loaded dicts and lists, DataFrames);
nothing here reads files.
The flow (research build order)::
ufcstats = load_ufcstats(events, results)kf = build_fights(fights_kalshi, winner_markets, ufcstats)clock = FightClock(distance_minutes) # consistent timing, 0.5-minute lagmapped = fight_ids(kf, bouts)fights = live_fights(mapped, winner_minutes, clock, keys, a_slot)side = {"mov": mov, "mof": mof, "rounds_": rounds_, "vic": vic}markets = market_list(fights, **side, distance=distance_markets)candles = all_candles(winner_minutes, distance_minutes, series_minutes)set4 = set4_minutes(fights, markets, candles, poly_history, a_slot)trades_main, trades_side = trade_tables(fights, markets, tapes)s3_main = set3_main(trades_main, set4, fights)s3_side = set3_side(trades_side, set4, fights, markets, s3_main)extra = method_prices( kf, winner_minutes=winner_minutes, side_minutes=side_minutes, **side, distance=distance_markets, clock=clock,)km, starts = kalshi_breaks(mapped, winner_minutes, clock, a_slot, extra)km = km.drop_duplicates(["fight_id", "round_idx"])pm = poly_breaks(km, starts, poly_history, a_slot)