{"approach": "Builds on the base's tick probes, sub-tick belief, marginal quote sizing, queue retention and low-price YES ammunition. Above 50% estimated probability it inverts a compound-Poisson Gaussian mixture (jump rate 0.0019, jump standard deviation 0.25) to estimate diffusion and jump losses; it advances upper-half belief-grid centres as the horizon shrinks, and learns retail lognormal size from probe-implied safe-side quote exposures with right-censoring and a 100-observation prior. Those learned sizes apply to upper-half quotes. The near-99 mirror is limited by the simulator: at fair value 1, a $1 retail sell earns only $0.01 against a 99-cent bid, whereas at fair value 0 a $1 retail buy earns $1 against a one-cent ask. Minted NO does not cover bids: they still reserve full YES-price cash, and bid fills do not redeem NO. Selection used only seeds 0-599; final code was frozen before the holdout.", "blocked": null, "python_version": "3.12.3", "base_mean_edge": 78.85441957511699, "score": {"mean_edge": 87.62089098703817, "retail_edge": 116.04879792852616, "arb_edge": -28.427906941495337, "simulations": 600, "seed_start": 0, "failures": 0}, "holdout": {"mean_edge": 85.631402506827, "simulations": 600, "seed_start": 20000, "failures": 0}, "code": "\"\"\"Stale-quote defence with tick probes, a sub-tick belief and YES ammunition.\n\nEvery step the arbitrageur removes any order on the wrong side of p, so tiny\ntwo-sided probes around the estimate locate p to a tick; a grid filter narrows\nthat further.  Quotes sit one tick inside the competitor and are sized by the\nmarginal rule: one more share is worth quoting while the chance a retail order\nreaches it, times its edge, exceeds the expected arbitrage loss.  That rule pulls\nquotes by itself when a move would hurt most.  Near p=0 a retail buy pays almost\nits whole notional as edge, so YES is held to cover low asks.\n\"\"\"\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.5, 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=1500.0, H1=100.0)\nHP = {'rate': 0, 'size': 1, 'prior': 100.0, 'gate': 0.5}\nMP = {'jump': 0.25, 'lam': 0.0019, 'gate': 0.5}\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.prev = {}\n        self.exposure = 0.0\n        self.events = 0.0\n        self.logs = 0.0\n        self.mass = 0.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\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        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 sb and eb:\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        # An order certainly still on the safe side of the previous-step\n        # fair value cannot have been arbitraged. Observe retail fills only\n        # through those exposures, with right censoring at our quoted size.\n        current = {o.order_id: o.remaining_quantity for o in state.own_orders}\n        for oid, (side, tick, q, front) in self.prev.items():\n            safe = (tick <= lo if side is Side.BUY else tick >= hi)\n            if not (safe and front):\n                continue\n            self.exposure += 1.0\n            fill = max(0.0, q - current.get(oid, 0.0))\n            if fill < 0.01:\n                continue\n            self.events += 1.0\n            price = max(0.05, (lo + hi) / 200) if side is Side.BUY else tick / 100\n            logn = math.log(max(0.005, fill * price))\n            prior_mu = math.log(P['m']) - 0.5 * P['sig_n']**2\n            learned_mu = (HP['prior'] * prior_mu + self.logs) / (HP['prior'] + self.mass)\n            if fill >= q - 0.011:\n                zc = (logn - learned_mu) / P['sig_n']\n                logn = learned_mu + P['sig_n'] * pdf(zc) / max(1e-8, 1 - cdf(zc))\n            self.logs += logn\n            self.mass += 1.0\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            predicted = []\n            for ci in self.bc:\n                if ci > 50.0:\n                    zi = inv(min(.99999, max(.00001, ci / 100)))\n                    ci = min(99.999, ci + 50 * zi * pdf(zi) / H)\n                predicted.append(ci)\n            for c in cs:\n                t = uni\n                for ci, wi in zip(predicted, 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.99999)\n        var = P['sig'] ** 2 + P['lam_j'] * P['sig_j'] ** 2\n        sd = math.sqrt(H * var)\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        if phat > MP['gate']:\n            # Invert the compound-Poisson Gaussian mixture, rather than a\n            # single normal approximation, in the high-probability regime.\n            lam = MP['lam']\n            sj = MP['jump']\n            def components(horizon):\n                mean = lam * horizon\n                w = math.exp(-mean)\n                terms = []\n                for n in range(max(6, int(mean + 7 * math.sqrt(mean + 1)))):\n                    terms.append((w, math.sqrt(max(1., horizon) * P['sig']**2 + n * sj**2)))\n                    w *= mean / (n + 1)\n                return terms\n            terms = components(H)\n            terms1 = components(H - 1)\n            def mix(v, tt):\n                return sum(w * cdf(v / sd) for w, sd in tt)\n            zz = z * math.sqrt(H * (P['sig']**2 + lam * sj**2))\n            for _ in range(5):\n                val = mix(zz, terms)\n                deriv = sum(w * pdf(zz / sd) / sd for w, sd in terms)\n                delta = (val - phat) / max(1e-10, deriv)\n                zz -= max(-.5, min(.5, delta))\n            deriv = sum(w * pdf(zz / sd) / sd for w, sd in terms)\n            sp = deriv * P['sig']\n            self.st = sp * 100.0\n            s = math.sqrt(sp * sp + var_t / 1e4 + 1e-8)\n            jp = [(mix(zz + n * sj, terms1), w) for n, w in NODES]\n            lj = lam\n\n        def AB(x):\n            k = (x - phat) / s\n            a = s * lpm(k)\n            b = a - (x - phat)\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        if phat > HP['gate']:\n            prior = HP['prior']\n            if HP['rate']:\n                frequency = (prior * (1 - math.exp(-P['lam_r'] / 2)) + self.events) / (prior + self.exposure)\n                rho = min(.30, max(.03, -math.log(max(0.1, 1 - frequency))))\n            if HP['size']:\n                mu = min(2., max(-.5, (prior * mu + self.logs) / (prior + self.mass)))\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            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            a, b = AB(t / 100.0)\n            if phat * 100 - t < P['dmin']:\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            a, b = AB(t / 100.0)\n            if t - phat * 100 < P['dmin']:\n                return 0.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            if sticky and sum(o.remaining_quantity for o in orders if o.price_ticks == comp and o.order_id in self.ahead) >= P['min_ahead']:\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\n        Y = state.yes_inventory\n        if ask_t == 1 and H > P['H1'] and P['pre'] > 0:\n            qa = 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 < P['ammo_pmax']:\n            wealth = state.cash + Y * phat\n            x = max(ask_t, ptick + 1) / 100.0\n            target = min(P['ydem'] * min(H, P['W']) / x, P['fy'] * wealth / max(phat, 0.005))\n            if Y < target:\n                t = max(1, min(99, int(math.ceil(ptick + 1e-9))))\n                if bid_t <= t < ask_t and t / 100.0 - phat < P['ammo_maxpay']:\n                    amt = t\n                    qam = min(P['ammo_q'], target - Y)\n\n        if P['pre'] > 0 and ca == 2 and phat < 0.01 and H > P['H1'] and Y < P['pre'] and not qam:\n            amt, qam = 1, min(P['ammo_q'], P['pre'] - 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):\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        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                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        self.prev = {}\n        canceled = {a.order_id for a in actions if isinstance(a, CancelOrder)}\n        effective = [(o.order_id, o.side, o.price_ticks, o.remaining_quantity) for o in state.own_orders if o.order_id not in canceled]\n        effective += [(o.client_order_id, o.side, o.price_ticks, o.quantity) for o in out if o.client_order_id]\n        for oid, side, tick, q in effective:\n            if q <= PROBE + 1e-9:\n                continue\n            front = tick > cb if side is Side.BUY else tick < ca\n            self.prev[oid] = side, tick, q, front\n        return actions + out\n", "code_sha256": "1269b608be98b43d2849114c6ab8bb04e07115ce9a8296359cbef303de5ad3ad", "tried": ["Simulator: public repository commit b244530ee2a6247b5f930830eeca9dd950da0e7e; all searches used only seeds 0-599.", "queue0.5r0.3: seeds 0-199, mean 72.7882893626, settle-at-one mean 13.59911817844717, failures 0.", "upper0.5risk0.15: seeds 0-199, mean 72.94519201989651, settle-at-one mean 13.070251957377359, failures 0.", "queue0.5r0.7: seeds 0-199, mean 74.850760891489, settle-at-one mean 16.23719539470283, failures 0.", "upper-half separate penalties: bid=0.15, ask=1.5: seeds 0-199, mean 75.3127042276555, settle-at-one mean 16.531185301589623, failures 0.", "upper-half separate penalties: bid=0.15, ask=0.7: seeds 0-199, mean 75.8646152009375, settle-at-one mean 17.40792087956981, failures 0.", "queue0.8r0.3: seeds 0-199, mean 76.6784571425745, settle-at-one mean 18.458865423848113, failures 0.", "erode5: seeds 0-199, mean 76.879227999468, settle-at-one mean 16.929017126487736, failures 0.", "erode4: seeds 0-199, mean 76.89659185801901, settle-at-one mean 16.961779123753775, failures 0.", "queue0.8r0.7: seeds 0-199, mean 76.908379067067, settle-at-one mean 18.593569012517925, failures 0.", "erode3: seeds 0-199, mean 77.235779690458, settle-at-one mean 17.59711464641981, failures 0.", "queue0.9r0.7: seeds 0-199, mean 77.23705436379599, settle-at-one mean 19.129712663329244, failures 0.", "upper0.5risk0.3: seeds 0-199, mean 77.240500065606, settle-at-one mean 18.689219876783962, failures 0.", "queue0.9r0.3: seeds 0-199, mean 77.27343910935551, settle-at-one mean 19.32220182271698, failures 0.", "queue0.95r0.7: seeds 0-199, mean 77.36906473489199, settle-at-one mean 19.364107728268866, failures 0.", "upper0.5risk2.5: seeds 0-199, mean 77.4267885924075, settle-at-one mean 18.464511218523587, failures 0.", "queue0.95r0.3: seeds 0-199, mean 77.435012007381, settle-at-one mean 19.57048152028113, failures 0.", "erode2: seeds 0-199, mean 77.9405412201875, settle-at-one mean 18.94776713138868, failures 0.", "askrisk0.5r5.0: seeds 0-199, mean 78.136411515444, settle-at-one mean 19.59866953572453, failures 0.", "upper-half separate penalties: bid=0.3, ask=1.5: seeds 0-199, mean 78.2608195760665, settle-at-one mean 20.042958454601887, failures 0.", "upper0.5risk1.5: seeds 0-199, mean 78.2821610361805, settle-at-one mean 19.686111899188678, failures 0.", "park0.5q5.0: seeds 0-199, mean 78.3019442012735, settle-at-one mean 19.959139348793396, failures 0.", "upper0.85risk0.15: seeds 0-199, mean 78.32188361696001, settle-at-one mean 19.974293924232075, failures 0.", "upper0.85risk2.5: seeds 0-199, mean 78.37828779815649, settle-at-one mean 19.6944108343717, failures 0.", "upper-half separate penalties: bid=0.3, ask=0.7: seeds 0-199, mean 78.4117592760955, settle-at-one mean 20.175594587359434, failures 0.", "mixj0.45l0.003: seeds 0-199, mean 78.52295134990649, settle-at-one mean 20.115704996109432, failures 0.", "upper0.95risk2.5: seeds 0-199, mean 78.549693627809, settle-at-one mean 20.023292340912263, failures 0.", "park0.5q2.0: seeds 0-199, mean 78.5508867192415, settle-at-one mean 20.28862767289151, failures 0.", "upper-half mixture jump=.25 rate=.0019 plus penalty=0.15 above p=0.9: seeds 0-199, mean 78.5584661181405, settle-at-one mean 20.638578391304716, failures 0.", "upper0.85risk1.5: seeds 0-199, mean 78.60202888249201, settle-at-one mean 20.139451819786792, failures 0.", "upper0.5risk0.5: seeds 0-199, mean 78.6075060955605, settle-at-one mean 20.54404138979151, failures 0.", "askrisk0.5r2.5: seeds 0-199, mean 78.642434092429, settle-at-one mean 20.318110077076415, failures 0.", "risk1.5: seeds 0-199, mean 78.65677261084551, settle-at-one mean 20.254723511917923, failures 0.", "upper0.95risk1.5: seeds 0-199, mean 78.65677261084551, settle-at-one mean 20.254723511917923, failures 0.", "adapt11p30: seeds 0-199, mean 78.66886813733849, settle-at-one mean 20.367025633809433, failures 0.", "adapt10p30: seeds 0-199, mean 78.700169987677, settle-at-one mean 20.449110654731133, failures 0.", "cash-triggered covered-YES recycling at 99, cash target=600.0, p>.99 and bid<=98: seeds 0-199, mean 78.7116059311525, settle-at-one mean 20.424489187945284, failures 0.", "mixj0.45l0.0019: seeds 0-199, mean 78.7159980224845, settle-at-one mean 20.54263014154434, failures 0.", "upper0.5risk1.0: seeds 0-199, mean 78.7258310762695, settle-at-one mean 20.454835964856603, failures 0.", "adapt10p100: seeds 0-199, mean 78.73036836947, settle-at-one mean 20.48015759930849, failures 0.", "mixj0.35l0.003: seeds 0-199, mean 78.73788871900649, settle-at-one mean 20.534994279515093, failures 0.", "upper0.85risk0.3: seeds 0-199, mean 78.738284437741, settle-at-one mean 20.582977142734904, failures 0.", "erode1: seeds 0-199, mean 78.744260309604, settle-at-one mean 20.484776543745284, failures 0.", "park0.5q0.5: seeds 0-199, mean 78.7557849370685, settle-at-one mean 20.562862276767923, failures 0.", "adapt11p300: seeds 0-199, mean 78.761979224211, settle-at-one mean 20.493830608906602, failures 0.", "adapt11p100: seeds 0-199, mean 78.7685846150885, settle-at-one mean 20.439927706689623, failures 0.", "upper0.85risk1.0: seeds 0-199, mean 78.771862490773, settle-at-one mean 20.488673146121698, failures 0.", "cap1h100: seeds 0-199, mean 78.775052242735, settle-at-one mean 20.543611661976414, failures 0.", "adapt10p300: seeds 0-199, mean 78.77673850842001, settle-at-one mean 20.511496662343397, failures 0.", "risk1.0: seeds 0-199, mean 78.77902149334, settle-at-one mean 20.51751849460283, failures 0.", "upper0.95risk1.0: seeds 0-199, mean 78.77902149334, settle-at-one mean 20.51751849460283, failures 0.", "combo1: seeds 0-199, mean 78.793454326456, settle-at-one mean 20.630450304282075, failures 0.", "cap2h100: seeds 0-199, mean 78.793692794115, settle-at-one mean 20.579903307171698, failures 0.", "cap1h300: seeds 0-199, mean 78.795380050547, settle-at-one mean 20.58665888330283, failures 0.", "cap2h300: seeds 0-199, mean 78.80778291245849, settle-at-one mean 20.609549427848112, failures 0.", "mixj0.25l0.001: seeds 0-199, mean 78.8114130519065, settle-at-one mean 20.99473544789151, failures 0.", "askrisk0.9r2.5: seeds 0-199, mean 78.819957398619, settle-at-one mean 20.626853784037735, failures 0.", "cash-triggered covered-YES recycling at 99, cash target=300.0, p>.99 and bid<=98: seeds 0-199, mean 78.82234573385149, settle-at-one mean 20.63343221190566, failures 0.", "upper-half mixture jump=.25 rate=.0019 plus penalty=0.15 above p=0.95: seeds 0-199, mean 78.8233532467305, settle-at-one mean 21.075221933055662, failures 0.", "recycle0: seeds 0-199, mean 78.8235210201565, settle-at-one mean 20.635649733235848, failures 0.", "upper-half mixture jump=.25 rate=.0019 plus penalty=0.3 above p=0.9: seeds 0-199, mean 78.82625328326449, settle-at-one mean 20.99663651210472, failures 0.", "recycle50: seeds 0-199, mean 78.829387225458, settle-at-one mean 20.64671804512547, failures 0.", "askrisk0.9r1.5: seeds 0-199, mean 78.8314359306755, settle-at-one mean 20.64951616778868, failures 0.", "upper-half separate penalties: bid=0.5, ask=0.7: seeds 0-199, mean 78.831934732282, settle-at-one mean 20.838825947333017, failures 0.", "cap1h600: seeds 0-199, mean 78.8333845834095, settle-at-one mean 20.65592844593679, failures 0.", "cap2h600: seeds 0-199, mean 78.836821692938, settle-at-one mean 20.66212427503585, failures 0.", "park0.5q0.02: seeds 0-199, mean 78.8384235301745, settle-at-one mean 20.671161822689623, failures 0.", "park0.9q0.02: seeds 0-199, mean 78.839672611653, settle-at-one mean 20.67258359387264, failures 0.", "recycle200: seeds 0-199, mean 78.84229221258249, settle-at-one mean 20.67106707743585, failures 0.", "risk0.15: seeds 0-199, mean 78.8434245766685, settle-at-one mean 20.854072894217925, failures 0.", "upper0.95risk0.15: seeds 0-199, mean 78.8434245766685, settle-at-one mean 20.854072894217925, failures 0.", "cash-triggered covered-YES recycling at 99, cash target=100.0, p>.99 and bid<=98: seeds 0-199, mean 78.858341913558, settle-at-one mean 20.701349532106605, failures 0.", "askrisk0.5r1.5: seeds 0-199, mean 78.861077205928, settle-at-one mean 20.62953275379151, failures 0.", "mixj0.45l0.001: seeds 0-199, mean 78.8664203115115, settle-at-one mean 20.897374428066037, failures 0.", "drift0.9g0.5: seeds 0-199, mean 78.867046740721, settle-at-one mean 20.718848075877357, failures 0.", "adapt01p300: seeds 0-199, mean 78.8675133964055, settle-at-one mean 20.691871796998115, failures 0.", "latent1s0.02: seeds 0-199, mean 78.867634939195, settle-at-one mean 20.722880642504716, failures 0.", "drift0.5g0.5: seeds 0-199, mean 78.8708729935175, settle-at-one mean 20.722288212900942, failures 0.", "upper0.95risk0.5: seeds 0-199, mean 78.873744221374, settle-at-one mean 20.77026855754717, failures 0.", "upper0.85risk0.5: seeds 0-199, mean 78.8743262957365, settle-at-one mean 20.75669732085283, failures 0.", "mixj0.35l0.001: seeds 0-199, mean 78.8763160010015, settle-at-one mean 21.026250853492453, failures 0.", "mixj0.25l0.003: seeds 0-199, mean 78.8815048798275, settle-at-one mean 20.885842201579244, failures 0.", "drift0.9g1.0: seeds 0-199, mean 78.882825893858, settle-at-one mean 20.75062644879717, failures 0.", "drift0.5g1.0: seeds 0-199, mean 78.8873660958025, settle-at-one mean 20.75547034971038, failures 0.", "mixj0.35l0.0019: seeds 0-199, mean 78.8997938251575, settle-at-one mean 20.77869712216415, failures 0.", "risk0.3: seeds 0-199, mean 78.9025908563715, settle-at-one mean 20.855450903083963, failures 0.", "upper0.95risk0.3: seeds 0-199, mean 78.9025908563715, settle-at-one mean 20.855450903083963, failures 0.", "adapt01p30: seeds 0-199, mean 78.90541447185551, settle-at-one mean 20.716896336971697, failures 0.", "latent0s0.04: seeds 0-199, mean 78.9072697711595, settle-at-one mean 20.806383950013206, failures 0.", "adapt01p100: seeds 0-199, mean 78.9086762768375, settle-at-one mean 20.69597065754528, failures 0.", "latent1s0.04: seeds 0-199, mean 78.9109172337995, settle-at-one mean 20.813270777137735, failures 0.", "upper-half separate penalties: bid=0.5, ask=1.5: seeds 0-199, mean 78.9138319438785, settle-at-one mean 20.772622224687737, failures 0.", "latent0s0.08: seeds 0-199, mean 78.9141850200045, settle-at-one mean 20.79799852334434, failures 0.", "drift0.9g2.0: seeds 0-199, mean 78.9148047926095, settle-at-one mean 20.811518586227358, failures 0.", "drift0.9g4.0: seeds 0-199, mean 78.914880639967, settle-at-one mean 20.81765324500849, failures 0.", "upper-half mixture jump=.25 rate=.0019 plus penalty=0.3 above p=0.95: seeds 0-199, mean 78.9161473454775, settle-at-one mean 21.129592162339623, failures 0.", "drift0.5g2.0: seeds 0-199, mean 78.91948477077099, settle-at-one mean 20.816501127772643, failures 0.", "base with penalty=0.3 only above p=0.98: seeds 0-199, mean 78.92345969131401, settle-at-one mean 20.89191113364717, failures 0.", "drift0.5g4.0: seeds 0-199, mean 78.9255152202895, settle-at-one mean 20.835084538832074, failures 0.", "latent0s0.02: seeds 0-199, mean 78.929821828082, settle-at-one mean 20.840211294737735, failures 0.", "base with penalty=0.3 only above p=0.99: seeds 0-199, mean 78.9345980221985, settle-at-one mean 20.845228982371697, failures 0.", "latent1s0.08: seeds 0-199, mean 78.9406983746605, settle-at-one mean 20.84802372080849, failures 0.", "upper-half mixture jump=.25 rate=.0019 plus penalty=0.5 above p=0.9: seeds 0-199, mean 78.9435906525375, settle-at-one mean 21.10731428018585, failures 0.", "askrisk0.5r1.0: seeds 0-199, mean 78.94536591845, settle-at-one mean 20.786090129979247, failures 0.", "upper-half mixture jump=.25 rate=.0019 plus penalty=0.5 above p=0.95: seeds 0-199, mean 78.9584010018365, settle-at-one mean 21.1377679926283, failures 0.", "mixture jump=.25 rate=.0019 only above p=0.95: seeds 0-199, mean 78.966546825777, settle-at-one mean 20.915825832279246, failures 0.", "joint-size30: seeds 0-199, mean 78.969654694784, settle-at-one mean 21.07812546959151, failures 0.", "mixj0.25l0.0019: seeds 0-199, mean 78.9701124239835, settle-at-one mean 21.118983578062263, failures 0.", "base with penalty=0.15 only above p=0.99: seeds 0-199, mean 78.9897108284385, settle-at-one mean 20.949215409239624, failures 0.", "mixture jump=.25 rate=.0019 only above p=0.85: seeds 0-199, mean 79.0054483761665, settle-at-one mean 20.96598624098113, failures 0.", "mixture jump=.25 rate=.0019 only above p=0.7: seeds 0-199, mean 79.0120538566005, settle-at-one mean 20.989234910539622, failures 0.", "joint-drift1: seeds 0-199, mean 79.012687691629, settle-at-one mean 21.20157087413679, failures 0.", "joint-size100: seeds 0-199, mean 79.015659036339, settle-at-one mean 21.133789864477357, failures 0.", "joint-drift2: seeds 0-199, mean 79.0187257124475, settle-at-one mean 21.217239334956602, failures 0.", "triple-drift1-size100: seeds 0-199, mean 79.06824122961899, settle-at-one mean 21.234138420654716, failures 0.", "Training confirmation base: seeds 0-599, mean 87.41650726068066, retail 116.13125849331949, arb -28.714751232636335, failures 0.", "Training confirmation risk0.3: seeds 0-599, mean 87.50685814777717, retail 116.32285882874066, arb -28.816000680963832, failures 0.", "Training confirmation askrisk0.5r1.0: seeds 0-599, mean 87.47066388626168, retail 115.8685576962025, arb -28.397893809954336, failures 0.", "Training confirmation base with penalty=0.3 only above p=0.99: seeds 0-599, mean 87.49444864006816, retail 116.20862293508583, arb -28.714174295016, failures 0.", "Training confirmation base with penalty=0.15 only above p=0.99: seeds 0-599, mean 87.53811928367317, retail 116.25170863985717, arb -28.713589356182165, failures 0.", "Training confirmation joint-drift1: seeds 0-599, mean 87.59707928963999, retail 116.11399854450102, arb -28.51691925486033, failures 0.", "Training confirmation joint-drift2: seeds 0-599, mean 87.60381310024749, retail 116.12495016743051, arb -28.521137067183336, failures 0.", "Training confirmation joint-size100: seeds 0-599, mean 87.576241176342, retail 115.99789351321151, arb -28.421652336867332, failures 0.", "Training confirmation latent0s0.02: seeds 0-599, mean 87.48708935680683, retail 116.20435158737334, arb -28.71726223056983, failures 0.", "Training confirmation mixj0.25l0.0019: seeds 0-599, mean 87.55984701813382, retail 116.07432682964567, arb -28.514479811518335, failures 0.", "Training confirmation mixture jump=.25 rate=.0019 only above p=0.7: seeds 0-599, mean 87.55815501906051, retail 116.21347260406816, arb -28.655317585010998, failures 0.", "Training confirmation triple-drift1-size100: seeds 0-599, mean 87.62089098703817, retail 116.04879792852616, arb -28.427906941495337, failures 0.", "Sandbox check starter: seeds 0-19, 20 simulations, failures 20; Python 3.12 pathlib imports sandbox-blocked ntpath before strategy execution.", "Sandbox check frozen: seeds 0-19, 20 simulations, failures 20; Python 3.12 pathlib imports sandbox-blocked ntpath before strategy execution.", "Frozen-code holdout comparison only, no tuning: base seeds 20000-20599 mean 85.46780344973116; paired candidate-minus-base mean 0.1635990570958334, paired standard error 0.04162367401781566.", "Base training: settle-at-zero mean 161.14129488215403, settle-at-one mean 20.713127984109523.", "Base holdout: settle-at-zero mean 148.58085506538873, settle-at-one mean 17.55029807786436.", "Frozen candidate training: settle-at-zero mean 161.10028953697332, settle-at-one mean 21.13953039423968.", "Frozen candidate holdout: settle-at-zero mean 148.5949623734495, settle-at-one mean 17.874768878731487.", "Direct public-market mechanics checks passed: equal $1 retail notional gives edge 1.0 for ask 1 at p=0 and 0.01 for bid 99 at p=1. Holding 10 NO still requires $9.90 cash collateral for a 10-share bid at 99; a bid fill leaves NO inventory unchanged.", "Selected on training only: triple-drift1-size100; frozen code seeds 0-599 mean 87.62089098703817; untouched seeds 20000-20599 mean 85.631402506827; no failed ordinary simulation in either batch."], "next": "Fit jump intensity and jump size online from probe-constrained probability transitions, then test horizon-dependent upper-tail risk scaling with paired seed comparisons. The fixed mixture, shrinking-horizon filter and conservative retail-size learning combined better on the training seeds than aggressive upper-half bidding. NO inventory cannot fund bids in this API; the tested covered-YES cash recycling added no reliable benefit."}