{
  "approach": "For spread 1 only, split each new ordinary SELL quote at ticks 3 through 98 equally: retain half at its original price and place half one tick higher. Preserve the original total quantity and allocate covered/uncovered collateral across the two orders. The existing quoting rules for probes and special tick-1/2 asks are unchanged; inventory effects can still alter later orders. Large direct losses on stock bids could not be removed profitably because those bids fund low-price retail asks; the narrower ask split cut arbitrage exposure with much less retail sacrifice. Chosen by paired training performance and positive reserved choosing validation; no constants were optimized and no seed-specific inputs are used.",
  "blocked": null,
  "spread": 1,
  "base_mean_edge": 108.63974289615767,
  "found": [
    "Measured start file on all 2035 spread-1 choosing seeds in [30000,38000): mean_edge=39.481162210811696, retail_edge=62.06104735471224, arb_edge=-22.579885143891943, failures=0. Logging wrappers preserved original scoring and RNG; 100 complete result dictionaries were exactly identical with and without logging.",
    "Start spread-1 jump_arb_edge per run=-9.39988546315969; mean actual compound-Poisson jump steps/run=3.903194103194103. A jump means Poisson jump_count>0, including multiple jumps in a step; it is logged only by the measurement copy and is unavailable to the strategy.",
    "Start spread-1 diffusion_arb_edge per run=-13.17999968073249; mean actual compound-Poisson jump steps/run=3.903194103194103. A jump means Poisson jump_count>0, including multiple jumps in a step; it is logged only by the measurement copy and is unavailable to the strategy.",
    "Following rows are per run except resting_shares_per_step. Price bands are order limit ticks; jump_resting includes shares present immediately before actual jump steps; jump_crossed is the subset crossed by the realized post-move probability; jump_taken is the actual arbitrage quantity on those steps. Retail shares and edge are for the same side/limit band over all steps, not just jump steps. Probes are included. Edges use post-move true probability. Positive arb differences mean smaller losses.",
    "BUY:01 resting_shares_per_step=1406.0242338181854, jump_resting=5634.887562653563, jump_crossed=963.0682899262899, jump_taken=963.0682899262899, jump_edge=-4.085582107979151, other_arb_edge=-5.143851706711253, retail_shares=74.59904176904176, retail_edge=0.347062687716585",
    "BUY:02 resting_shares_per_step=3.1863274570024545, jump_resting=13.353464373464373, jump_crossed=4.265228501228501, jump_taken=4.265228501228501, jump_edge=-0.04661854889215039, other_arb_edge=-1.3871638991311248, retail_shares=85.74420147420147, retail_edge=0.5002333386900125",
    "BUY:03 resting_shares_per_step=2.4543726044226033, jump_resting=9.547985257985259, jump_crossed=3.764781326781327, jump_taken=3.764781326781327, jump_edge=-0.07687904841827853, other_arb_edge=-1.1733869677655588, retail_shares=78.7865601965602, retail_edge=0.4898807303176677",
    "BUY:04 resting_shares_per_step=2.3316872923832914, jump_resting=10.69044226044226, jump_crossed=4.820402948402949, jump_taken=4.820402948402949, jump_edge=-0.09818800035464763, other_arb_edge=-1.3562657972026722, retail_shares=66.74302702702703, retail_edge=0.4615501018109108",
    "BUY:05 resting_shares_per_step=0.2685200982800988, jump_resting=0.8237297297297297, jump_crossed=0.36622113022113023, jump_taken=0.36622113022113023, jump_edge=-0.0087086466981726, other_arb_edge=-0.16846025198301426, retail_shares=22.539469287469288, retail_edge=0.15255181754612793",
    "BUY:06-20 resting_shares_per_step=0.7313238304668366, jump_resting=2.2994496314496313, jump_crossed=1.1607714987714988, jump_taken=1.1607714987714988, jump_edge=-0.03700394043443602, other_arb_edge=-0.539945315057438, retail_shares=69.8437985257985, retail_edge=0.5403517847380613",
    "BUY:21-79 resting_shares_per_step=0.017055135135135072, jump_resting=0.06972481572481572, jump_crossed=0.03676167076167076, jump_taken=0.03676167076167076, jump_edge=-0.0027299220870532675, other_arb_edge=-0.06930426578561862, retail_shares=2.587729729729729, retail_edge=0.022048164058943106",
    "BUY:80-94 resting_shares_per_step=0.06324518181818149, jump_resting=0.24775921375921375, jump_crossed=0.0943931203931204, jump_taken=0.0943931203931204, jump_edge=-0.008171922400901149, other_arb_edge=-0.0553505299096915, retail_shares=8.786004914004915, retail_edge=0.06734945124458198",
    "BUY:95 resting_shares_per_step=0.02186495823095821, jump_resting=0.08126289926289926, jump_crossed=0.029022113022113022, jump_taken=0.029022113022113022, jump_edge=-0.002123589085304406, other_arb_edge=-0.007181816800475248, retail_shares=2.359243243243243, retail_edge=0.018139465864191295",
    "BUY:96 resting_shares_per_step=0.029892859950859923, jump_resting=0.0799115479115479, jump_crossed=0.052117936117936116, jump_taken=0.052117936117936116, jump_edge=-0.0028066390730129, other_arb_edge=-0.007747883936075918, retail_shares=3.2764324324324323, retail_edge=0.02467066031275144",
    "BUY:97 resting_shares_per_step=0.05416731203931203, jump_resting=0.19144963144963145, jump_crossed=0.061714987714987714, jump_taken=0.061714987714987714, jump_edge=-0.0040397421732104805, other_arb_edge=-0.007721006555680238, retail_shares=5.296226044226044, retail_edge=0.03999467638832093",
    "BUY:98 resting_shares_per_step=0.10360322850122858, jump_resting=0.437027027027027, jump_crossed=0.17745945945945946, jump_taken=0.17745945945945946, jump_edge=-0.0065191322489243685, other_arb_edge=-0.006654869367589886, retail_shares=8.493985257985258, retail_edge=0.06693201865916182",
    "BUY:99 resting_shares_per_step=0.5816292162162211, jump_resting=2.1675429975429976, jump_crossed=0.2926781326781327, jump_taken=0.2926781326781327, jump_edge=-0.008359218896305694, other_arb_edge=-0.005497401698010677, retail_shares=43.36345945945945, retail_edge=0.3438051767808398",
    "SELL:01 resting_shares_per_step=122.95561201965594, jump_resting=467.8696756756757, jump_crossed=53.68653071253072, jump_taken=53.68653071253072, jump_edge=-3.226047683190823, other_arb_edge=-0.4224268373251945, retail_shares=4839.933759213759, retail_edge=39.225589983745564",
    "SELL:02 resting_shares_per_step=89.37890080589675, jump_resting=370.2453022113022, jump_crossed=60.41109090909091, jump_taken=60.41109090909091, jump_edge=-0.923918827702072, other_arb_edge=-0.6474542384369814, retail_shares=1106.6254791154793, retail_edge=14.762251576225026",
    "SELL:03 resting_shares_per_step=3.931084918918914, jump_resting=17.00859950859951, jump_crossed=8.333154791154792, jump_taken=8.333154791154792, jump_edge=-0.4674429231810623, other_arb_edge=-0.5892348309236588, retail_shares=250.12622113022113, retail_edge=2.2445646125762377",
    "SELL:04 resting_shares_per_step=1.9474927542997542, jump_resting=7.542997542997543, jump_crossed=2.069071253071253, jump_taken=2.069071253071253, jump_edge=-0.15090222647114374, other_arb_edge=-0.5086457109950447, retail_shares=123.62897297297297, retail_edge=1.0537555327002424",
    "SELL:05 resting_shares_per_step=1.1691318574938583, jump_resting=4.1653808353808355, jump_crossed=1.8603882063882062, jump_taken=1.8603882063882062, jump_edge=-0.16989165050157803, other_arb_edge=-0.49885897301328197, retail_shares=85.72345945945946, retail_edge=0.7798529950035802",
    "SELL:06-20 resting_shares_per_step=0.6417319115479172, jump_resting=2.471292383292383, jump_crossed=0.8502014742014742, jump_taken=0.8502014742014742, jump_edge=-0.062169214219754264, other_arb_edge=-0.405190319829381, retail_shares=91.09429484029481, retail_edge=0.7653765956907627",
    "SELL:21-79 resting_shares_per_step=0.01806473464373455, jump_resting=0.07071744471744472, jump_crossed=0.033115479115479116, jump_taken=0.033115479115479116, jump_edge=-0.004132429445999708, other_arb_edge=-0.0698128888985811, retail_shares=2.809484029484029, retail_edge=0.024017359006902144",
    "SELL:80-94 resting_shares_per_step=0.04860902702702671, jump_resting=0.20948402948402947, jump_crossed=0.11076658476658476, jump_taken=0.11076658476658477, jump_edge=-0.0038245631301758606, other_arb_edge=-0.05617426660585302, retail_shares=6.458068796068797, retail_edge=0.047938964289224034",
    "SELL:95 resting_shares_per_step=0.012452196560196548, jump_resting=0.05928746928746929, jump_crossed=0.02714004914004914, jump_taken=0.02714004914004914, jump_edge=-0.0005241945012636991, other_arb_edge=-0.007689686666486581, retail_shares=1.355896805896806, retail_edge=0.008769598557838992",
    "SELL:96 resting_shares_per_step=0.01736533415233413, jump_resting=0.07886977886977886, jump_crossed=0.050049140049140045, jump_taken=0.050049140049140045, jump_edge=-0.0009201518818765553, other_arb_edge=-0.00875494433525609, retail_shares=1.788019656019656, retail_edge=0.012113285742461519",
    "SELL:97 resting_shares_per_step=0.02530284275184272, jump_resting=0.09144963144963145, jump_crossed=0.03493857493857494, jump_taken=0.03493857493857494, jump_edge=-0.0004642797902478805, other_arb_edge=-0.011822027795546098, retail_shares=2.3406142506142507, retail_edge=0.015063953669512976",
    "SELL:98 resting_shares_per_step=0.038994695331695334, jump_resting=0.14301228501228502, jump_crossed=0.08128255528255528, jump_taken=0.08128255528255528, jump_edge=-0.001061264742870408, other_arb_edge=-0.008957500283810607, retail_shares=3.0671695331695332, retail_edge=0.01819158039613117",
    "SELL:99 resting_shares_per_step=0.09060398525798631, jump_resting=0.3976068796068796, jump_crossed=0.16933660933660935, jump_taken=0.16933660933660935, jump_edge=-0.0008555956592743537, other_arb_edge=-0.01644574371921114, retail_shares=5.474044226044226, retail_edge=0.028991242976027162",
    "Additional marginal-size diagnostic on the same 2035 choosing runs: each newly placed order is partitioned into its first and last half by cumulative filled shares until cancellation. The following last-half edges are per run; these are descriptive attribution, not an independent counterfactual. All 2035 full simulation result dictionaries match the original logging pass exactly when measurement fields are omitted.",
    "TAIL:BUY:01 retail_edge=0.12813265507475888, jump_arb_edge=-2.043065657729815, diffusion_arb_edge=-2.5761869930042747",
    "TAIL:BUY:02 retail_edge=0.1858265721924483, jump_arb_edge=-0.025797340126927883, diffusion_arb_edge=-0.7021991365662672",
    "TAIL:BUY:03 retail_edge=0.17382588352316047, jump_arb_edge=-0.0416648339926065, diffusion_arb_edge=-0.5962790445696392",
    "TAIL:BUY:04 retail_edge=0.1557597893073312, jump_arb_edge=-0.05411252569157482, diffusion_arb_edge=-0.6880567217406384",
    "TAIL:BUY:05 retail_edge=0.0693977377072535, jump_arb_edge=-0.00459597682056526, diffusion_arb_edge=-0.08528400554725407",
    "TAIL:BUY:06-20 retail_edge=0.25117146373396065, jump_arb_edge=-0.018918899384849048, diffusion_arb_edge=-0.2732386868997375",
    "TAIL:BUY:21-79 retail_edge=0.01081203136815568, jump_arb_edge=-0.0013649610435266337, diffusion_arb_edge=-0.03470218040143253",
    "TAIL:BUY:80-94 retail_edge=0.031049842299656284, jump_arb_edge=-0.004210625485070053, diffusion_arb_edge=-0.02796546986229704",
    "TAIL:BUY:95 retail_edge=0.008322900071273353, jump_arb_edge=-0.0011757356333303144, diffusion_arb_edge=-0.003658736129568511",
    "TAIL:BUY:96 retail_edge=0.011528098196294629, jump_arb_edge=-0.0014256174137724366, diffusion_arb_edge=-0.00394942174476119",
    "TAIL:BUY:97 retail_edge=0.018942554491153642, jump_arb_edge=-0.00219145115297036, diffusion_arb_edge=-0.003974960141317912",
    "TAIL:BUY:98 retail_edge=0.03256587838598318, jump_arb_edge=-0.003616425747442635, diffusion_arb_edge=-0.003417865894718491",
    "TAIL:BUY:99 retail_edge=0.17229025571453263, jump_arb_edge=-0.004707267661696046, diffusion_arb_edge=-0.0028037499047383124",
    "TAIL:SELL:01 retail_edge=19.29043156527426, jump_arb_edge=-1.8754979874926072, diffusion_arb_edge=-0.22526179675782054",
    "TAIL:SELL:02 retail_edge=6.471529441519191, jump_arb_edge=-0.5325627262962944, diffusion_arb_edge=-0.33959763114817565",
    "TAIL:SELL:03 retail_edge=1.0778847845413577, jump_arb_edge=-0.2642088032711464, diffusion_arb_edge=-0.30516148689469524",
    "TAIL:SELL:04 retail_edge=0.46701879614459163, jump_arb_edge=-0.0935475405806427, diffusion_arb_edge=-0.26334594524441757",
    "TAIL:SELL:05 retail_edge=0.34233740728224865, jump_arb_edge=-0.09273215030074705, diffusion_arb_edge=-0.25710336111342996",
    "TAIL:SELL:06-20 retail_edge=0.36596569716067184, jump_arb_edge=-0.031829631681298605, diffusion_arb_edge=-0.20595575348353282",
    "TAIL:SELL:21-79 retail_edge=0.011754542500127066, jump_arb_edge=-0.002066214722999854, diffusion_arb_edge=-0.03493829956162694",
    "TAIL:SELL:80-94 retail_edge=0.02204130914810574, jump_arb_edge=-0.0019724416313721626, diffusion_arb_edge=-0.028341201067310848",
    "TAIL:SELL:95 retail_edge=0.003973590607382311, jump_arb_edge=-0.00026853014636789307, diffusion_arb_edge=-0.003904427000905507",
    "TAIL:SELL:96 retail_edge=0.0055675057696574996, jump_arb_edge=-0.00047561225571278844, diffusion_arb_edge=-0.004443782756253217",
    "TAIL:SELL:97 retail_edge=0.006567428967351866, jump_arb_edge=-0.00025813222283391343, diffusion_arb_edge=-0.005996568990934505",
    "TAIL:SELL:98 retail_edge=0.007991425037680657, jump_arb_edge=-0.0005746716691115462, diffusion_arb_edge=-0.004566624155773142",
    "TAIL:SELL:99 retail_edge=0.012215917828595395, jump_arb_edge=-0.0004892228058409005, diffusion_arb_edge=-0.008316935278887291"
  ],
  "holdout": {
    "mean_edge": 39.92328756324242,
    "retail_edge": 62.329117366164766,
    "arb_edge": -22.405829802933514,
    "failures": 0
  },
  "diff": {
    "mean": 0.8339897864358758,
    "standard_error": 0.6584102721692535,
    "retail": -0.1662547099352857,
    "arb": 1.000244496381496,
    "trimmed": 0.7221209836230118,
    "runs_up": 1357,
    "runs_down": 584
  },
  "others_identical": {
    "runs": 900,
    "identical": true
  },
  "seconds": {
    "start": 43.75054706899391,
    "yours": 44.33960798899352
  },
  "code": "\"\"\"Crossing-cover base with isolated, untuned per-spread overrides stacked: each acts only in runs of its own competitor spread.\"\"\"\nimport math\nfrom orderbook_pm_challenge.strategy import BaseStrategy\nfrom orderbook_pm_challenge.types import CancelOrder, PlaceOrder, Side\n\nP = dict(lam_r=0.25, m=5.0, sig_n=1.2, lam_j=0.0019, sig_j=0.35, sig=0.02,\n         qmax=3000.0, rmin=2, kA=0.7, kL=0.15, pL=0.05,\n         ammo=1.0, ydem=0.4, W=200.0, fy=0.6, ammo_q=60.0, ammo_pmax=0.05, ammo_maxpay=0.02,\n         fb=0.9, fu=0.7, xu=0.1, sticky=1.0, min_ahead=2.0, keep_hi=1.5, keep_lo=0.7, Hu=300.0, bins=8.0, filt=1.0, uni=0.01, jumpinfo=1.0, dmin=0.0, kLb=0.08, kLf=0.08, pinf=1.0, pre=0.0, H1=100.0,\n         ydf=0.6, Wf=2000.0, g_hi=0.15, g_lo=0.15, qf=400.0, pmaxf=0.05, pre_gap=1.0,\n         ydf1=0.6, g1=5.0, f1=0.6, a1=100.0, nb1=0.0, gs=1.0, p1t=1.0, m1=1.0, zd=1.0, pfl=0.0005)\nSQ2 = math.sqrt(2.0)\nSQ2PI = math.sqrt(2.0 * math.pi)\ndef cdf(x): return 0.5 * (1.0 + math.erf(x / SQ2))\ndef pdf(x): return math.exp(-0.5 * x * x) / SQ2PI\ndef inv(p):\n    p = min(max(p, 1e-9), 1 - 1e-9)\n    t = math.sqrt(-2.0 * math.log(min(p, 1 - p)))\n    x = t - (2.515517 + 0.802853 * t + 0.010328 * t * t) / (1 + 1.432788 * t + 0.189269 * t * t + 0.001308 * t ** 3)\n    x = -x if p < 0.5 else x\n    for _ in range(2):\n        d = pdf(x)\n        if d < 1e-12:\n            break\n        x -= (cdf(x) - p) / d\n    return x\ndef lpm(k):\n    return pdf(k) + k * cdf(k)\ndef fl(q):\n    return math.floor(q * 100 + 1e-9) / 100\n\nNODES = [(-2.2, .06), (-1.3, .17), (-0.6, .27), (0.6, .27), (1.3, .17), (2.2, .06)]\nPROBE = 0.01\n\n\nclass Strategy(BaseStrategy):\n    def __init__(self):\n        self.n = 0\n        self.ahead = set()     # main orders placed strictly ahead of any competitor order at their tick\n        self.res = {}          # order id -> uncovered quantity at placement\n        self.bc = None         # belief: sub-tick grid centres (ticks)\n        self.bw = None         # belief: weights\n        self.st = 0.5          # last one-step sd in ticks\n        self.pcb = self.pca = None\n        self.pb = set()\n        self.pa = set()\n        self.tb = 0\n        self.s = None          # competitor spread parameter\n        self.flow_notional = 0.0\n        self.flow_exposure = 0\n        self.last_ask_tick = None\n        self.last_quote_exposed = False\n        self.last_flow_ca = None\n        self.last_flow_cap = 0.0\n        self.last_flow_correction = 1.0\n        self.params = P.copy()\n\n    def _oid(self, tag):\n        self.n += 1\n        return tag + str(self.n)\n\n    def on_step(self, state):\n        H = max(1, state.steps_remaining)\n        cb = state.competitor_best_bid_ticks or 0\n        ca = state.competitor_best_ask_ticks or 100\n        if self.s is None:\n            self.s = max(1, (ca - cb + 1) // 2)\n            if self.s == 4:\n                # Censored compound-Poisson flow likelihood, using only our fills.\n                self.f4_exposure = [0, 0]\n                self.f4_events = [0, 0]\n                self.f4_weights = [[0.0] * 9, [0.0] * 9]\n                self.f4_means = [2.64 + i * (6.336 - 2.64) / 8 for i in range(9)]\n                # Positive aggregate flow is approximately lognormal; +0.065\n                # accounts for the occasional second arrival in a timestep.\n                self.f4_mu = [math.log(m) - 0.72 + 0.065 for m in self.f4_means]\n                self.f4_last = [None, None]\n                self.f4_rate = 0.1265\n                self.f4_mean = 4.488\n                self.f4_flow = self.f4_rate * self.f4_mean\n                self.f4_extreme = inv(1 - 1e-6)\n            if self.s == 2:\n                self.params.update(dict(W=150, ammo_pmax=0.02, fy=0.7, fu=0.25, Hu=500))\n            if self.s == 1:\n                self.params.update({'dmin': 0.3, 'pfl': 1e-06})\n            if self.s == 3:\n                self.params.update({'flow_prior': 200, 'flow_level': 0.6, 'flow_strength': 1.0, 'flow_safety': 2.0, 'flow_exposure_min': 5.0})\n        P = self.params\n        if self.s == 4:\n            for side, filled, bound in ((0, state.sell_filled_quantity, ca), (1, state.buy_filled_quantity, cb)):\n                last = self.f4_last[side]\n                if last is None:\n                    continue\n                tick, conv, cap, old_bound, ids = last\n                if (side == 0 and bound > old_bound + 1) or (side == 1 and bound < old_bound - 1):\n                    continue\n                # Track only the main quote, excluding probes and stock orders.\n                remaining = sum(o.remaining_quantity for o in state.own_orders if o.order_id in ids)\n                value = max(0.0, cap - remaining * conv)\n                self.f4_exposure[side] += 1\n                if value > 0.01:\n                    self.f4_events[side] += 1\n                    censored = remaining < 0.011\n                    logv = math.log(max(value, 0.01))\n                    weights = self.f4_weights[side]\n                    for i, mu4 in enumerate(self.f4_mu):\n                        z4 = (logv - mu4) / 1.2\n                        weights[i] += math.log(max(1e-12, 1.0 - cdf(z4))) if censored else -0.5 * z4 * z4\n            if state.step % 25 == 0:\n                exposure = sum(self.f4_exposure)\n                events = sum(self.f4_events)\n                event_probability = (events + 80.0 * (1.0 - math.exp(-0.1265))) / (exposure + 80.0)\n                self.f4_rate = max(0.077, min(0.176, -math.log(max(1e-6, 1.0 - event_probability))))\n                weights = [a + b for a, b in zip(*self.f4_weights)]\n                peak = max(weights)\n                weights = [math.exp(w - peak) for w in weights]\n                self.f4_mean = sum(m * w for m, w in zip(self.f4_means, weights)) / sum(weights)\n                self.f4_flow = self.f4_rate * self.f4_mean\n        if self.s == 3 and self.last_quote_exposed and ca <= self.last_flow_ca + 1:\n            self.flow_exposure += 1\n            self.flow_notional += min(self.last_flow_cap, state.sell_filled_quantity * self.last_ask_tick / 100.0) * self.last_flow_correction\n        lo, hi = cb, ca\n        for o in state.own_orders:\n            if o.side is Side.BUY:\n                lo = max(lo, o.price_ticks)\n            else:\n                hi = min(hi, o.price_ticks)\n        if P['pinf'] > 0:\n            sb = {o.price_ticks for o in state.own_orders if o.side is Side.BUY and o.remaining_quantity <= PROBE + 1e-9}\n            sa = {o.price_ticks for o in state.own_orders if o.side is Side.SELL and o.remaining_quantity <= PROBE + 1e-9}\n            ea = self.pa - sa\n            eb = self.pb - sb\n            if sa and ea:\n                lo = max(lo, min(max(ea), hi))\n            if eb and (sb or min(eb) <= P['p1t']):\n                hi = min(hi, max(min(eb), lo))\n        if P['jumpinfo'] > 0 and self.pcb is not None:\n            if ca > self.pca + 1:\n                lo = max(lo, ca - 1)\n            if cb < self.pcb - 1:\n                hi = min(hi, cb + 1)\n        self.pcb, self.pca = cb, ca\n        if lo > hi:\n            lo, hi = hi, lo\n        # sub-tick belief over p_(t-1): predict with one-step noise, truncate to [lo, hi]\n        wid = max(hi - lo, 1e-6)\n        nb = max(2, min(48, int(round(wid * P['bins']))))\n        cs = [lo + (i + 0.5) * wid / nb for i in range(nb)]\n        if self.bc is None or P['filt'] <= 0:\n            ws = [1.0 / nb] * nb\n        else:\n            sg = max(self.st, 0.6 * wid / nb)\n            k = -0.5 / (sg * sg)\n            ws = []\n            uni = P['uni'] * sg\n            if self.s == 4:\n                exp = math.exp\n                if self.bc == cs and 1.0 <= wid <= 6.0 and nb == 8 * wid:\n                    # On this stationary grid, spacing is exactly 1/8 tick.\n                    # Equal index distances therefore have bit-identical d*d*k.\n                    # Reuse exp values while retaining the original sum order.\n                    kernel = []\n                    c0 = cs[0]\n                    for ci in self.bc:\n                        d = c0 - ci\n                        d2 = d * d * k\n                        kernel.append(exp(d2) if d2 > -12.5 else 0.0)\n                    kernel = kernel[:0:-1] + kernel\n                    for i in range(nb):\n                        t = uni\n                        start = nb - 1 - i\n                        for wi, e in zip(self.bw, kernel[start:start + nb]):\n                            if e:\n                                t += wi * e\n                        ws.append(t)\n                else:\n                    previous = tuple(zip(self.bc, self.bw))\n                    for c in cs:\n                        t = uni\n                        for ci, wi in previous:\n                            d = c - ci\n                            d2 = d * d * k\n                            if d2 > -12.5:\n                                t += wi * exp(d2)\n                        ws.append(t)\n            else:\n                for c in cs:\n                    t = uni\n                    for ci, wi in zip(self.bc, self.bw):\n                        d = c - ci\n                        d2 = d * d * k\n                        if d2 > -12.5:\n                            t += wi * math.exp(d2)\n                    ws.append(t)\n            tot = sum(ws)\n            ws = [w / tot for w in ws]\n        self.bc, self.bw = cs, ws\n        mean_t = sum(c * w for c, w in zip(cs, ws))\n        var_t = max(sum(c * c * w for c, w in zip(cs, ws)) - mean_t * mean_t, 0.0)\n        phat = min(max(mean_t / 100.0, 0.002), 0.998)\n        var = P['sig'] ** 2 + P['lam_j'] * P['sig_j'] ** 2\n        sd = math.sqrt(H * var)\n        self.tb = self.tb + 1 if hi <= 1 else 0\n        if self.tb > 0 and P['zd'] > 0:\n            # below the last tick there is no probe: the score keeps walking away from it\n            phat = min(phat, max(P['pfl'], cdf(inv(0.01) - P['zd'] * 0.02 * math.sqrt(self.tb) / sd)))\n        z = inv(phat)\n        Z = z * sd\n        sp = pdf(z) / sd * P['sig']\n        self.st = sp * 100.0\n        s = math.sqrt(sp * sp + var_t / 1e4 + 1e-8)\n        sd1 = math.sqrt(max(1.0, H - 1.0) * var)\n        jp = [(cdf((Z + n * P['sig_j']) / sd1), w) for n, w in NODES]\n        lj = P['lam_j']\n\n        def AB(x):\n            k = (x - phat) / s\n            a = s * lpm(k)\n            b = a - (x - phat)\n            if self.s == 4:\n                ja = jb = 0.0\n                for p, w in jp:\n                    if x > p:\n                        ja += w * (x - p)\n                    else:\n                        jb += w * (p - x)\n            else:\n                ja = sum(w * max(0.0, x - p) for p, w in jp)\n                jb = sum(w * max(0.0, p - x) for p, w in jp)\n            return (1 - lj) * a + lj * ja, (1 - lj) * b + lj * jb\n\n        if H == 1:\n            def AB(x):\n                return (1 - phat) * x, phat * (1 - x)\n        rho = P['lam_r'] * 0.5\n        mu = math.log(P['m']) - 0.5 * P['sig_n'] ** 2\n        kA = P['kL'] if phat < P['pL'] else P['kA']\n\n        def qsize(loss, gain, px):\n            loss *= kA\n            if gain <= 0:\n                return 0.0\n            tail = loss / (rho * gain)\n            if tail >= 1.0:\n                return 0.0\n            if self.s == 4 and tail <= 1e-6:\n                return min(P['qmax'], math.exp(mu + P['sig_n'] * self.f4_extreme) / px)\n            return min(P['qmax'], math.exp(mu + P['sig_n'] * inv(1 - max(tail, 1e-6))) / px)\n\n        ptk = phat * 100\n        def qbid(t):\n            if not 1 <= t <= 99:\n                return 0.0\n            if self.s == 4 and phat * 100 - t < P['dmin']:\n                return 0.0\n            a, b = AB(t / 100.0)\n            if phat * 100 - t < P['dmin']:\n                return 0.0\n            if P['nb1'] > 0 and self.s == 1 and t == 1 and ptk < 1.0:\n                return 0.0\n            if phat < P['pL']:\n                ytg = P['ydem'] * min(H, P['W']) / max(ca - 1, ptk + 1) * 100.0\n                a *= (P['kLb'] if state.yes_inventory < ytg else P['kLf']) / P['kL']\n            return qsize(a, b, max(phat, 0.05))\n\n        def qask(t):\n            if not 1 <= t <= 99:\n                return 0.0\n            if self.s == 4 and t - phat * 100 < P['dmin']:\n                return 0.0\n            a, b = AB(t / 100.0)\n            if t - phat * 100 < P['dmin']:\n                return 0.0\n            if self.s == 4:\n                tail = b * kA / max(self.f4_rate * a, 1e-30)\n                if a <= 0 or tail >= 1.0:\n                    return 0.0\n                return min(P['qmax'], math.exp(math.log(self.f4_mean) - 0.72 + 1.2 * (self.f4_extreme if tail <= 1e-6 else inv(1 - tail))) / (t / 100.0))\n            if self.s == 2 and phat < 0.1:\n                a = max(0.0, a - 0.0015 * (1 - min(1.0, state.yes_inventory / 3000.0)))\n            return qsize(b, a, t / 100.0)\n\n        bids = [o for o in state.own_orders if o.side is Side.BUY and o.remaining_quantity > PROBE + 1e-9]\n        asks = [o for o in state.own_orders if o.side is Side.SELL and o.remaining_quantity > PROBE + 1e-9]\n        sticky = P['sticky'] > 0\n        def top(orders, comp, step):\n            threshold = max(P['min_ahead'], 20 * 100.0 / comp) if self.s == 3 and step == -1 and 1 <= comp <= 5 else P['min_ahead']\n            if sticky and sum(o.remaining_quantity for o in orders if o.price_ticks == comp and o.order_id in self.ahead) >= threshold:\n                return comp\n            return comp + step\n        bid_t = top(bids, cb, 1)\n        ask_t = top(asks, ca, -1)\n        qb = qbid(bid_t)\n        qa = qask(ask_t)\n        if self.s == 1 and ask_t == 2 and ask_t < ca and phat < 0.01:\n            qa *= 5\n\n        Y = state.yes_inventory\n        if ask_t == 1 and H > P['H1'] and P['pre'] > 0:\n            qa = qa if Y >= P['a1'] > 0 else 0.0          # let the competitor's 2-tick ask erode instead of fronting it for nothing\n        # ammunition: hold YES so that low asks are covered\n        ptick = phat * 100\n        amt = 0\n        qam = 0.0\n        if P['ammo'] > 0 and ask_t >= 2 and phat < max(P['ammo_pmax'], P['pmaxf']):\n            wealth = state.cash + Y * phat\n            x = max(ask_t, ptick + 1) / 100.0\n            capw = P['fy'] * wealth / max(phat, 0.005)\n            flow_scale = self.f4_flow / 0.6 if self.s == 4 else 1.0\n            target = min(flow_scale * P['ydem'] * min(H, P['W']) / x, capw)\n            full = min(flow_scale * P['ydf'] * min(H, P['Wf']) / x, capw) if phat < P['pmaxf'] else 0.0\n            t = max(1, min(99, int(math.ceil(ptick + 1e-9))))\n            g = t - ptick\n            if Y < full and g <= P['g_hi'] and bid_t <= t < ask_t:\n                amt, qam = t, min(P['qf'], full - Y)     # a tick p has just crossed: nearly free\n            elif Y < target and phat < P['ammo_pmax'] and bid_t <= t < ask_t and t / 100.0 - phat < P['ammo_maxpay']:\n                amt, qam = t, min(P['ammo_q'], target - Y)\n            elif Y < full and t >= 2 and 1.0 - g <= P['g_lo']:\n                amt, qam = t - 1, min(P['qf'], full - Y)  # rest just under p: filled only on the crossing, or by retail\n\n        if P['pre'] > 0 and ca == 2 and phat < 0.01 and H > P['H1'] and Y < P['pre'] and not qam and 1.0 - ptick < P['pre_gap']:\n            amt, qam = 1, min(P['ammo_q'], P['pre'] - Y)\n        q1 = 0.0\n        if P['ydf1'] > 0 and P['m1'] < ptick < P['g1'] + 1.0 and amt != 1:\n            stock_rate = P['ydf1']\n            if self.s == 4:\n                stock_rate *= self.f4_flow / 0.6\n            if self.s == 3:\n                flow = (self.flow_notional + P['flow_prior'] * P['flow_level']) / (P['flow_prior'] + self.flow_exposure)\n                scale = max(0.5, min(2.0, flow / P['flow_level']))\n                stock_rate *= 1.0 + P['flow_strength'] * (scale - 1.0)\n            q1 = max(0.0, stock_rate * min(H, P['Wf']) / (self.s / 100.0) - Y)\n\n        # Bridge expected retail demand until another tick crossing is available.\n        if 0.02 < phat < 0.1:\n            ct = max(2, min(99, int(math.floor(ptick))))\n            wealth = state.cash + Y * phat\n            goal = min(1 * qa, 0.3 * max(wealth, 0.0) / phat)\n            if Y < goal and ct < ask_t:\n                amt, qam = ct, min(3000.0, goal - Y)\n        # order management\n        actions = []\n        free = state.free_cash - 2.0\n        keep_ask = 0.0\n        new_b = []\n        new_a = []\n        def cancel(o):\n            nonlocal free\n            actions.append(CancelOrder(o.order_id))\n            x = o.price_ticks / 100.0\n            if o.side is Side.BUY:\n                free += x * o.remaining_quantity\n            else:\n                free += (1 - x) * min(self.res.get(o.order_id, 0.0), o.remaining_quantity)\n            self.ahead.discard(o.order_id)\n            self.res.pop(o.order_id, None)\n        for o in state.own_orders:\n            if o.remaining_quantity <= PROBE + 1e-9:\n                cancel(o)\n        kept_ids = set()\n        def manage(orders, t, q, comp):\n            kept = 0.0\n            for o in orders:\n                if o.price_ticks == t and q > 0 and (kept + o.remaining_quantity <= max(q * P['keep_hi'], 1.0) or (self.s == 1 and (o.side is Side.SELL) and o.price_ticks <= 2 and o.order_id in self.ahead)):\n                    kept += o.remaining_quantity\n                    kept_ids.add(o.order_id)\n                else:\n                    cancel(o)\n            return kept\n        kb = manage(bids, bid_t, qb, cb)\n        ka = manage(asks, ask_t, qa, ca)\n        add_b = (qb - kb) if (kb < qb * P['keep_lo'] and bid_t != cb) else 0.0\n        add_a = (qa - ka) if (ka < qa * P['keep_lo'] and ask_t != ca) else 0.0\n\n        budget = P['fb'] * max(free, 0.0)\n        cost = add_b * bid_t / 100.0 + qam * amt / 100.0\n        if cost > budget:\n            f = budget / cost\n            add_b *= f\n            qam *= f\n            cost = budget\n        out = []\n        q1 = min(q1, P['f1'] * max(budget - cost, 0.0) * 100.0)\n        if q1 >= 0.01:\n            out.append(PlaceOrder(side=Side.BUY, price_ticks=1, quantity=fl(q1)))\n            free -= fl(q1) / 100.0 + 1e-6\n        if amt and qam >= 0.01:\n            q = fl(qam)\n            out.append(PlaceOrder(side=Side.BUY, price_ticks=amt, quantity=q))\n            free -= q * amt / 100.0 + 1e-6\n        if bid_t >= 1 and add_b >= 0.01:\n            q = fl(add_b)\n            oid = self._oid('b')\n            out.append(PlaceOrder(side=Side.BUY, price_ticks=bid_t, quantity=q, client_order_id=oid))\n            free -= q * bid_t / 100.0 + 1e-6\n            if bid_t > cb:\n                self.ahead.add(oid)\n        if ask_t <= 99 and add_a >= 0.01:\n            x = ask_t / 100.0\n            covk = sum(o.remaining_quantity - min(self.res.get(o.order_id, 0.0), o.remaining_quantity)\n                       for o in asks if o.order_id in kept_ids)\n            cov = max(0.0, Y - covk - 0.1)\n            unc = max(0.0, add_a - cov)\n            if unc > 0:\n                ub = max(0.0, free - (1 - P['fu']) * max(state.cash, 0.0)) if x >= P['xu'] else 0.0\n                if H < P['Hu'] and phat < 0.05:\n                    ub = max(0.0, free * (1 - H / P['Hu']))\n                if self.s == 2:\n                    ub = min(ub, max(0.0, free - 200 * min(1.0, H / 50.0)))\n                unc = min(unc, ub / (1 - x))\n            q = fl(min(add_a, cov + unc))\n            if q >= 0.01:\n                oid = self._oid('a')\n                out.append(PlaceOrder(side=Side.SELL, price_ticks=ask_t, quantity=q, client_order_id=oid))\n                r = max(0.0, q - cov)\n                self.res[oid] = r\n                free -= r * (1 - x) + 1e-6\n                if ask_t < ca:\n                    self.ahead.add(oid)\n\n        # probes: tiny orders that the arbitrageur removes when p crosses them\n        f = int(math.floor(ptick + 1e-9))\n        r = max(int(P['rmin']), int(math.ceil(2.0 * s * 100)))\n        self.pb = set()\n        self.pa = set()\n        if free > 1.0:\n            for t in range(f, f + r + 1):\n                if cb < t < ca and 1 <= t <= 99:\n                    out.append(PlaceOrder(side=Side.BUY, price_ticks=t, quantity=PROBE))\n                    self.pb.add(t)\n            for t in range(f + 1 - r, f + 2):\n                if cb < t < ca and 1 <= t <= 99:\n                    out.append(PlaceOrder(side=Side.SELL, price_ticks=t, quantity=PROBE))\n                    self.pa.add(t)\n        if self.s == 3:\n            self.last_ask_tick = ask_t\n            self.last_flow_ca = ca\n            exposed_qty = ka + sum(o.quantity for o in out if o.side is Side.SELL and o.price_ticks == ask_t and o.quantity > PROBE)\n            self.last_flow_cap = exposed_qty * ask_t / 100.0\n            self.last_quote_exposed = ask_t / 100.0 > phat + max(0.005, P['flow_safety'] * self.st / 100.0) and self.last_flow_cap >= P['flow_exposure_min']\n            if self.last_quote_exposed:\n                logcap = math.log(self.last_flow_cap)\n                mu_flow = math.log(P['m']) - 0.5 * P['sig_n'] ** 2\n                clipped = P['m'] * cdf((logcap - mu_flow - P['sig_n'] ** 2) / P['sig_n']) + self.last_flow_cap * (1.0 - cdf((logcap - mu_flow) / P['sig_n']))\n                self.last_flow_correction = min(3.0, P['m'] / max(clipped, 0.01))\n        if self.s == 4:\n            self.f4_last = [None, None]\n            # Eligibility is decided before observing fills, so depleted quotes\n            # remain in the sample as right-censored observations.\n            for side, tick, bound, conv, distance in (\n                (0, ask_t, ca, ask_t / 100.0, ask_t / 100.0 - phat),\n                (1, bid_t, cb, max(phat, 0.05), phat - bid_t / 100.0)):\n                if distance < max(0.01, 3.0 * self.st / 100.0):\n                    continue\n                if side == 0:\n                    if not (ask_t < ca or any(o.price_ticks == ask_t and o.order_id in self.ahead for o in asks)):\n                        continue\n                    orders = asks\n                    order_side = Side.SELL\n                else:\n                    if not (bid_t > cb or any(o.price_ticks == bid_t and o.order_id in self.ahead for o in bids)):\n                        continue\n                    if (qam > 0 and amt >= bid_t) or (q1 > 0 and bid_t <= 1):\n                        continue\n                    orders = bids\n                    order_side = Side.BUY\n                tracked = {o.order_id: o.remaining_quantity for o in orders if o.order_id in kept_ids and o.price_ticks == tick}\n                tracked.update({o.client_order_id: o.quantity for o in out if o.side is order_side and o.price_ticks == tick and o.client_order_id is not None})\n                cap = sum(tracked.values()) * conv\n                if cap >= 0.5:\n                    self.f4_last[side] = (tick, conv, cap, bound, tracked)\n        if self.s == 1:\n            split_out = []\n            for order in out:\n                oid = order.client_order_id\n                if (order.side is Side.SELL and oid is not None and oid.startswith('a')\n                        and order.price_ticks >= 3 and order.price_ticks < 99):\n                    back = fl(order.quantity * 0.5)\n                    front = fl(order.quantity - back)\n                    reserve = self.res.pop(oid, 0.0)\n                    front_reserve = max(0.0, reserve - back)\n                    if front >= 0.01:\n                        split_out.append(PlaceOrder(side=Side.SELL, price_ticks=order.price_ticks, quantity=front, client_order_id=oid))\n                        self.res[oid] = front_reserve\n                    if back >= 0.01:\n                        back_id = self._oid('a')\n                        split_out.append(PlaceOrder(side=Side.SELL, price_ticks=order.price_ticks + 1, quantity=back, client_order_id=back_id))\n                        self.res[back_id] = max(0.0, reserve-front_reserve)\n                else:\n                    split_out.append(order)\n            out = split_out\n        return actions + out\n",
  "code_sha256": "790b81e5d092f71e1f5a98b4ff5c7aaff575b39bc62063004afd415ad1d4082c",
  "tried": [
    "Simulator commit b244530ee2a6247b5f930830eeca9dd950da0e7e; Python 3.14.4; standard library only. Earlier-file scorer: --simulations 600 --seed-start 1000 --workers 4 was refused by process-start permissions; serial fallback completed in 167.37 seconds. Mean reproduced exactly; zero failures. Under five minutes, so no run counts were halved. Subsequent batches used ordinary independent Python subprocesses, retaining the untouched simulator for scoring.",
    "Choosing split fixed before candidate evaluation: 1014 spread-1 seeds in [30000,34000) for training and 1021 in [34000,38000) reserved for validation. All spread-1 seeds in [90000,98000), 2032 runs, reserved for final confirmation. No seed, latent score, or jump flag is available to any strategy; no coefficient sweep or seed-specific rules.",
    "stockhalf (halve tick-1 stock target rate) training paired vs start: {\"n\":1014,\"mean\":-6.914422099318836,\"standard_error\":1.7018510019470616,\"retail\":-11.141289771081855,\"arb\":4.226867671760454,\"trimmed\":-5.322703280688933,\"runs_up\":293,\"runs_down\":198,\"failures\":0}",
    "stockhorizon (halve tick-1 target horizon) training paired vs start: {\"n\":1014,\"mean\":-0.21002535607218942,\"standard_error\":0.2185257228740511,\"retail\":0.11322566066163703,\"arb\":-0.32325101673510837,\"trimmed\":0.0007868744649899052,\"runs_up\":18,\"runs_down\":7,\"failures\":0}",
    "stockcap (cap each tick-1 stock order at existing qmax=3000) training paired vs start: {\"n\":1014,\"mean\":-14.186045728665286,\"standard_error\":2.1211801817368867,\"retail\":-17.73201295133422,\"arb\":3.545967222672781,\"trimmed\":-8.860217935503824,\"runs_up\":105,\"runs_down\":263,\"failures\":0}",
    "stockbudgethalf (halve cash-budgeted tick-1 quantity) training paired vs start: {\"n\":1014,\"mean\":-0.7795251552389546,\"standard_error\":0.722802052039047,\"retail\":-3.006310629166568,\"arb\":2.2267854739273174,\"trimmed\":-1.2766396878245474,\"runs_up\":222,\"runs_down\":274,\"failures\":0}",
    "bridgehalf (halve inventory-cover bid quantity at ticks >=2) training paired vs start: {\"n\":1014,\"mean\":0.20250288929082821,\"standard_error\":0.25661525724127116,\"retail\":-0.6823242881943785,\"arb\":0.8848271774833334,\"trimmed\":0.2124844643362171,\"runs_up\":348,\"runs_down\":172,\"failures\":0}",
    "lossunit (use full modeled loss rather than 0.7 for ordinary non-low-price sizing) training paired vs start: {\"n\":1014,\"mean\":-0.17618780017347155,\"standard_error\":0.1265161666658075,\"retail\":-1.0980834581930967,\"arb\":0.9218956580163707,\"trimmed\":-0.14272814444486936,\"runs_up\":368,\"runs_down\":593,\"failures\":0}",
    "askhalf (halve the special tick-2 ask multiplier) training paired vs start: {\"n\":1014,\"mean\":-0.31271415192909296,\"standard_error\":0.27126564167534134,\"retail\":-0.7083128422217945,\"arb\":0.3955986902937869,\"trimmed\":-0.13797215910915514,\"runs_up\":11,\"runs_down\":36,\"failures\":0}",
    "asksplit (split ordinary asks at ticks 3..98 evenly, back half one tick higher) training paired vs start: {\"n\":1014,\"mean\":0.7663955303890531,\"standard_error\":0.17726141573716317,\"retail\":-0.37868726842899425,\"arb\":1.1450827988144971,\"trimmed\":0.735229316403521,\"runs_up\":692,\"runs_down\":282,\"failures\":0}",
    "ask2split (split ordinary asks at ticks 2..98 evenly, back half one tick higher) training paired vs start: {\"n\":1014,\"mean\":0.7285901999968438,\"standard_error\":0.4048414871045144,\"retail\":-1.0537442534356016,\"arb\":1.7823344534263315,\"trimmed\":0.5377894163723339,\"runs_up\":635,\"runs_down\":342,\"failures\":0}",
    "bridgesplit (split inventory-cover bids at ticks >=2 evenly, back half one tick lower) training paired vs start: {\"n\":1014,\"mean\":0.20541779510887578,\"standard_error\":0.2562764325787749,\"retail\":-0.6439950833714007,\"arb\":0.8494128784779091,\"trimmed\":0.21255918373631805,\"runs_up\":351,\"runs_down\":170,\"failures\":0}",
    "bridgesplit_validation reserved choosing paired vs start: {\"n\":1021,\"mean\":-0.10697432558619069,\"standard_error\":0.2166561018003742,\"retail\":-0.6014561854114594,\"arb\":0.4944818598265426,\"trimmed\":0.24881187554575357,\"runs_up\":327,\"runs_down\":158,\"failures\":0}",
    "ask2split_validation reserved choosing paired vs start: {\"n\":1021,\"mean\":0.37727885255014654,\"standard_error\":1.2058998430707355,\"retail\":-0.5651861013972577,\"arb\":0.9424649539428992,\"trimmed\":0.7530530143253743,\"runs_up\":675,\"runs_down\":314,\"failures\":0}",
    "asksplit_validation reserved choosing paired vs start: {\"n\":1021,\"mean\":1.2839711682380996,\"standard_error\":0.8765071725471619,\"retail\":-0.09142007004201796,\"arb\":1.375391238272576,\"trimmed\":0.7687873957704292,\"runs_up\":717,\"runs_down\":271,\"failures\":0}",
    "Frozen after all ten fixed training controls and three reserved validation checks, before any confirming evaluations. Selected asksplit (ticks >=3) over ask2split (ticks >=2) because training mean, standard error, trimmed gain and run counts were better; reserved validation also remained positive. The bid split failed reserved validation and was rejected. No combination or coefficient sweep was used.",
    "Baseline one-cent stock bid last-half direct retail edge 0.12813265507475888 versus jump loss 2.043065657729815 and other arbitrage loss 2.5761869930042747 per choosing run; its downstream inventory value explains why blunt stock cuts were rejected. Higher-price ask tails include bands with negative direct net edge, but the selected split was judged by full paired simulation outcomes, including inventory effects.",
    "Frozen candidate confirmation subrange [90000,94000): {\"n\":1027,\"mean\":0.4100310180002922,\"standard_error\":0.6681923073201975,\"retail\":-0.10450520317556006,\"arb\":0.5145362211812076,\"trimmed\":0.6483596653904667,\"runs_up\":698,\"runs_down\":285,\"failures\":0}",
    "Frozen candidate confirmation subrange [94000,98000): {\"n\":1005,\"mean\":1.267229244329751,\"standard_error\":1.1430015685092614,\"retail\":-0.2293559471912442,\"arb\":1.4965851915364177,\"trimmed\":0.6526935665770555,\"runs_up\":659,\"runs_down\":299,\"failures\":0}",
    "Confirming paired median=0.023953952699999996, quartiles=[-0.005897468000000006, 0.023953952699999996, 0.44611338644999987]. These are descriptive checks after freezing; no changes followed confirmation.",
    "AST comparison confirmed the sole executable difference from the start file is the final self.s == 1 conditional. The 900-run other-spread check compares every result field. Trimmed means exclude the 20 largest absolute paired edge differences; standard errors use sample standard deviation divided by sqrt(number of paired runs).",
    "Frozen code SHA256=790b81e5d092f71e1f5a98b4ff5c7aaff575b39bc62063004afd415ad1d4082c. Confirming paired summary: {\"n\":2032,\"mean\":0.8339897864358758,\"standard_error\":0.6584102721692535,\"retail\":-0.1662547099352857,\"arb\":1.000244496381496,\"trimmed\":0.7221209836230118,\"runs_up\":1357,\"runs_down\":584,\"failures\":0}",
    "Other spreads: first 300 qualifying seeds from 90000 in each of spreads 2,3,4; compared every SimulationResult field, {\"runs\":900,\"identical\":true,\"baseline_failures\":0,\"candidate_failures\":0}",
    "Timing: 200 seeds 90000..90199 inclusive, both strategies sequentially in the same Python process, no instrumentation, {\"start\":43.75054706899391,\"yours\":44.33960798899352,\"n\":200,\"start_failures\":0,\"yours_failures\":0}",
    "Additional timing on the first 200 spread-1 qualifying seeds from the confirming range, both files sequentially in one process, no instrumentation: {\"start\":34.91884899500292,\"yours\":35.03330210899003,\"n\":200,\"start_failures\":0,\"yours_failures\":0}"
  ],
  "next": "Keep the tick-1/2 retail engine intact. Investigate inventory-cover bids using observable stock availability and time remaining; blunt stock cuts lost too much retail. Study terminal/boundary risk separately: including tick-2 asks in the split produced large rare losses and much higher validation variance. Use fresh choosing and confirming ranges for any new decision."
}