{"approach": "The public record shows leaders improving both retail capture and arbitrage losses; their code is not exposed, so the mechanism remains unknown. Retail buys spend dollar notional while sell quantities use a five-cent floor, so covered asks near zero are especially valuable. Retains the base's passive one-tick quotes, FIFO retention, probes and low-price inventory policy. Replaces its fixed-width probability grid and 0.002 probability floor with an approximate Bayesian latent-score filter: a compound-Poisson Gaussian terminal link maps observed price bounds to score intervals; diffusion/jump Gaussian components are truncated to those intervals and moment-matched. Ten-node Gaussian quadrature integrates the predictive score distribution through the nonlinear link for marginal order sizing, improving risk estimates in the asymmetric tails. Unknown process parameters use fixed prior estimates inherited from the base; only public quote/fill state is used. Selection used completed training screens only; the code was frozen before the untouched holdout.", "blocked": null, "python_version": "3.12.3", "base_mean_edge": 78.85441957511699, "score": {"mean_edge": 91.03290218268734, "retail_edge": 121.60633582364132, "arb_edge": -30.573433640956665, "simulations": 600, "seed_start": 0, "failures": 0}, "holdout": {"mean_edge": 86.98656564728267, "simulations": 600, "seed_start": 20000, "failures": 0}, "code": "\"\"\"Passive prediction-market quotes with a latent-score belief.\n\nQuote/probe survival bounds the previous probability. A compound-Poisson\nterminal link converts those bounds to latent-score intervals. Truncated\nGaussian diffusion/jump components update the belief, and ten-node Gaussian\nquadrature estimates marginal next-step retail gains and arbitrage losses.\nThe base's FIFO order retention and low-price YES inventory policy remain.\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)\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.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.sm = 0.0\n        self.sv = .25\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        self.pcb, self.pca = cb, ca\n        if lo > hi:\n            lo, hi = hi, lo\n        # Approximate unknown process parameters by the base prior.\n        w = math.exp(-P['lam_j'] * H)\n        mix = []\n        for j in range(25):\n            if j: w *= P['lam_j'] * H / j\n            mix.append((w, H * P['sig']**2 + j * P['sig_j']**2))\n            if j > 3 and w < 1e-9: break\n        def link(z, vv=0.0):\n            return sum(w*cdf(z/math.sqrt(v+vv)) for w,v in mix)\n        def score_at(p):\n            if p <= 1e-10: return -8.0\n            if p >= 1-1e-10: return 8.0\n            z = inv(p)*math.sqrt(H*(P['sig']**2+P['lam_j']*P['sig_j']**2))\n            zl,zh=-8.0,8.0\n            for _ in range(16):\n                pp=link(z)\n                if abs(pp-p)<1e-10: break\n                if pp < p: zl=z\n                else: zh=z\n                d=sum(w*pdf(z/math.sqrt(v))/math.sqrt(v) for w,v in mix)\n                nz=z-(pp-p)/max(d,1e-12)\n                z=nz if zl<nz<zh else (zl+zh)/2\n            return z\n        low,high=score_at(lo/100.0),score_at(hi/100.0)\n        if high-low < 1e-8:\n            self.sm=(high+low)/2\n            self.sv=1e-12\n        else:\n            components=[]\n            for prob,v in ((1-P['lam_j'],self.sv+P['sig']**2),(P['lam_j'],self.sv+P['sig']**2+P['sig_j']**2)):\n                sd=math.sqrt(v)\n                a,b=(low-self.sm)/sd,(high-self.sm)/sd\n                mass=(.5*math.erfc(a/SQ2)-.5*math.erfc(b/SQ2)) if a>0 else cdf(b)-cdf(a)\n                if mass > 1e-100:\n                    pa,pb=pdf(a),pdf(b)\n                    d=(pa-pb)/mass\n                    m=self.sm+sd*d\n                    vv=max(1e-12,v*(1+(a*pa-b*pb)/mass-d*d))\n                    components.append((prob*mass,m,vv))\n            total=sum(c[0] for c in components)\n            if total>1e-100:\n                mean=sum(w*m for w,m,v in components)/total\n                vv=sum(w*(v+(m-mean)**2) for w,m,v in components)/total\n                self.sm,self.sv=mean,vv\n            else:\n                self.sm=(low+high)/2\n                self.sv=(high-low)**2/12\n        phat=min(max(link(self.sm,self.sv),max(1e-7,lo/100.0)),min(1-1e-7,hi/100.0))\n        Z=self.sm\n        sp=sum(w*pdf(Z/math.sqrt(v))/math.sqrt(v) for w,v in mix)*P['sig']\n        self.st=sp*100\n        s=math.sqrt(sp*sp+sum(w*pdf(Z/math.sqrt(v))/math.sqrt(v) for w,v in mix)**2*self.sv+1e-10)\n        lj = P['lam_j']\n\n        # Integrate the next latent score through its nonlinear probability\n        # link, including posterior uncertainty and the rare jump component.\n        gh = [(.4849357075154976,.344642334932019),\n              (1.4659890943911582,.1354837029802678),\n              (2.4843258416389546,.01911158050077029),\n              (3.5818234835519274,.0007580709343122177),\n              (4.859462828332312,.0000043106526307183)]\n        nxt=[]\n        for prob,vv in ((1-lj,self.sv+P['sig']**2),(lj,self.sv+P['sig']**2+P['sig_j']**2)):\n            sd=math.sqrt(vv)\n            for n,w in gh:\n                for sign in (-1,1):\n                    nxt.append((link(self.sm+sign*n*sd),prob*w))\n        def AB(x):\n            return (sum(w*max(0.0,x-p) for p,w in nxt),\n                    sum(w*max(0.0,p-x) for p,w in nxt))\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            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        return actions + out\n", "code_sha256": "b49b5fad61190b121eb15a5cfba6e744af9c15902d7d132267a844d8f7dae361", "tried": ["Public record IMD seat 1572: meanEdge=90.987078, meanRetailEdge=118.866503, meanArbEdge=-27.879424, codeLength=11909; code is null, so the quoting mechanism is not public.", "Public record Littoral v16: meanEdge=109.427216, meanRetailEdge=127.734891, meanArbEdge=-18.307675, codeLength=59197; code is null, so the quoting mechanism is not public.", "Public record KING: meanEdge=109.592145, meanRetailEdge=130.771634, meanArbEdge=-21.17949, codeLength=134648; code is null, so the quoting mechanism is not public.", "Reproduced unchanged base, seeds 0-199: mean_edge=78.85441957511699, retail_edge=105.184836572219, arb_edge=-26.330416997007, failures=0.", "Common screening baseline on seeds 0-119: mean_edge=93.2985374865475. All tuning used only seeds 0-599; no holdout observations influenced selection.", "Inventory buffer horizon 25; seeds 0-119: mean_edge=85.44330480233916, retail_edge=109.06111249062165, arb_edge=-23.617807688263333, failures=0.", "Inventory buffer horizon 50; seeds 0-119: mean_edge=87.8843537149925, retail_edge=112.89273970384251, arb_edge=-25.008385988819168, failures=0.", "Base arbitrage penalty 0.3; seeds 0-119: mean_edge=88.43718112144833, retail_edge=127.37251631301166, arb_edge=-38.935335191550834, failures=0.", "150-share refills with buffer horizon 50; seeds 0-119: mean_edge=89.86404379111167, retail_edge=115.4783927332875, arb_edge=-25.614348942157502, failures=0.", "Learn retail arrival rate and censored lognormal size; seeds 0-119: mean_edge=89.97367209598666, retail_edge=114.6994889073125, arb_edge=-24.725816811329164, failures=0.", "Base arbitrage penalty 2.0; seeds 0-119: mean_edge=89.99163472445083, retail_edge=112.44833919976666, arb_edge=-22.456704475343333, failures=0.", "Inventory buffer horizon 75; seeds 0-119: mean_edge=90.17037956400166, retail_edge=115.66705386901167, arb_edge=-25.496674304981664, failures=0.", "Learn retail arrival rate only; seeds 0-119: mean_edge=90.264101549635, retail_edge=115.22088118515583, arb_edge=-24.956779635523333, failures=0.", "30-share refills; seeds 0-119: mean_edge=90.63345584029334, retail_edge=116.018908438295, arb_edge=-25.38545259798917, failures=0.", "Base with full bid risk penalty above inventory target; seeds 0-119: mean_edge=90.78532441934, retail_edge=119.91465311822834, arb_edge=-29.12932869885, failures=0.", "Inventory buffer horizon 100; seeds 0-119: mean_edge=91.04415247533417, retail_edge=117.24378750796083, arb_edge=-26.199635032598334, failures=0.", "Base arbitrage penalty 1.5; seeds 0-119: mean_edge=91.17136434780917, retail_edge=114.79466834264916, arb_edge=-23.623303994818333, failures=0.", "Replenishment cutoff probability 0.01; seeds 0-119: mean_edge=91.64947641121083, retail_edge=117.7393862309825, arb_edge=-26.089909819739166, failures=0.", "Allow one-cent asks only in last 30 steps; seeds 0-119: mean_edge=91.86727802151749, retail_edge=119.43259644852249, arb_edge=-27.565318426956665, failures=0.", "Increase penalty near settlement; seeds 0-119: mean_edge=92.17626605096333, retail_edge=118.63078664468416, arb_edge=-26.454520593710832, failures=0.", "Score filter with bid penalties 0.15 below / 0.7 above inventory target; seeds 0-119: mean_edge=92.59131647289334, retail_edge=122.93301998044, arb_edge=-30.341703507518332, failures=0.", "300-share refills, 6000 preload and larger buffer; seeds 0-119: mean_edge=92.5998693775925, retail_edge=123.294725406745, arb_edge=-30.694856029131664, failures=0.", "Base arbitrage penalty 0.45; seeds 0-119: mean_edge=92.65877420114333, retail_edge=124.39023806019082, arb_edge=-31.73146385903833, failures=0.", "Base arbitrage penalty 1.0; seeds 0-119: mean_edge=92.66853527602666, retail_edge=118.0670973858425, arb_edge=-25.39856210977583, failures=0.", "Replenishment cutoff probability 0.02; seeds 0-119: mean_edge=92.77278311732249, retail_edge=119.57179538516917, arb_edge=-26.7990122678075, failures=0.", "Disable missing-probe inference; seeds 0-119: mean_edge=92.89199675715832, retail_edge=120.55547127437583, arb_edge=-27.663474517169167, failures=0.", "Adaptive diffusion volatility with Gaussian terminal link; seeds 0-119: mean_edge=92.90654876506666, retail_edge=121.67701808973, arb_edge=-28.77046932463917, failures=0.", "4000-share preload; seeds 0-119: mean_edge=93.0605089428725, retail_edge=121.01049432558916, arb_edge=-27.949985382665833, failures=0.", "Base arbitrage penalty 0.55; seeds 0-119: mean_edge=93.08233006795334, retail_edge=122.64606869364835, arb_edge=-29.56373862564167, failures=0.", "1000-share preload; seeds 0-119: mean_edge=93.29814626126334, retail_edge=120.8182395590775, arb_edge=-27.52009329776, failures=0.", "150-share refills with buffer horizon 100; seeds 0-119: mean_edge=93.31538905058916, retail_edge=119.47359068873668, arb_edge=-26.15820163813167, failures=0.", "Learn censored lognormal size only; seeds 0-119: mean_edge=93.37890029715832, retail_edge=120.27301511712584, arb_edge=-26.894114819977503, failures=0.", "Inventory buffer horizon 400; seeds 0-119: mean_edge=93.38033362946084, retail_edge=121.29916036020417, arb_edge=-27.9188267307175, failures=0.", "Ignore eaten-probe inference when larger fills could be retail; seeds 0-119: mean_edge=93.39883673903417, retail_edge=120.99103003379668, arb_edge=-27.592193294713333, failures=0.", "Replenishment cutoff probability 0.03; seeds 0-119: mean_edge=93.45694350025416, retail_edge=119.92654656308333, arb_edge=-26.469603062776667, failures=0.", "Adaptive diffusion volatility with mixture terminal link; seeds 0-119: mean_edge=93.4790550873275, retail_edge=122.50624186434418, arb_edge=-29.027186777079997, failures=0.", "Allow one-cent asks in last 250 steps; seeds 0-119: mean_edge=93.51832655517, retail_edge=120.76416478882417, arb_edge=-27.245838233601667, failures=0.", "Score filter with inventory buffer horizon 100; seeds 0-119: mean_edge=93.6416419765725, retail_edge=121.03021318906083, arb_edge=-27.388571212459166, failures=0.", "Score filter with full bid risk penalty above inventory target; seeds 0-119: mean_edge=93.725913829115, retail_edge=123.60242175041, arb_edge=-29.876507921254166, failures=0.", "Round replenishment bid to nearest tick; seeds 0-119: mean_edge=93.739772922745, retail_edge=120.95061185669333, arb_edge=-27.210838933899165, failures=0.", "Initial mixture link (subsequently repaired Newton convergence guard); seeds 0-119: mean_edge=93.7652667579725, retail_edge=121.45455181829418, arb_edge=-27.68928506033, failures=0.", "Compound-Poisson link, existing probability-grid filter; seeds 0-119: mean_edge=93.76570207195333, retail_edge=121.44653226239167, arb_edge=-27.68083019045167, failures=0.", "150-share refills and 4000 preload; seeds 0-119: mean_edge=93.87700412687917, retail_edge=122.04637158228, arb_edge=-28.169367455366668, failures=0.", "150-share refills; seeds 0-119: mean_edge=93.97885334831584, retail_edge=121.888210295115, arb_edge=-27.9093569467675, failures=0.", "Score filter with bid penalties 0.04 below / 0.7 above inventory target; seeds 0-119: mean_edge=94.47522757938667, retail_edge=124.38908400603167, arb_edge=-29.913856426622498, failures=0.", "Score filter with jump sigma 0.45; seeds 0-119: mean_edge=95.61656870826417, retail_edge=125.47953806666916, arb_edge=-29.862969358370833, failures=0.", "Score filter with jump sigma 0.4; seeds 0-119: mean_edge=95.80186838301083, retail_edge=125.16300968678166, arb_edge=-29.361141303770832, failures=0.", "Score filter with arbitrage penalty 1.0; seeds 0-119: mean_edge=95.83521446320833, retail_edge=122.27599327033333, arb_edge=-26.440778807074164, failures=0.", "Quadrature plus full bid risk penalty when inventory target met; seeds 0-119: mean_edge=95.96129585532417, retail_edge=126.09794824898417, arb_edge=-30.136652393644166, failures=0.", "Score filter with replenishment cutoff 0.02; seeds 0-119: mean_edge=96.15045296244168, retail_edge=123.06817014745417, arb_edge=-26.917717184965, failures=0.", "Latent-score filter with analytic Gaussian partial moments; seeds 0-119: mean_edge=96.39301623753833, retail_edge=124.97985543797749, arb_edge=-28.586839200387498, failures=0.", "Score filter with jump sigma 0.3; seeds 0-119: mean_edge=96.51305059898333, retail_edge=124.56372958162166, arb_edge=-28.050678982621665, failures=0.", "Score filter with rounded replenishment price; seeds 0-119: mean_edge=96.74556779072, retail_edge=124.25623732358083, arb_edge=-27.510669532830832, failures=0.", "Score filter with 150-share refills; seeds 0-119: mean_edge=97.28694523066, retail_edge=126.47510116444583, arb_edge=-29.18815593375, failures=0.", "Quadrature plus arbitrage penalty 1.0; seeds 0-119: mean_edge=97.9159613302425, retail_edge=124.2056043516325, arb_edge=-26.289643021354166, failures=0.", "Quadrature with next-step terminal horizon rolled down; seeds 0-119: mean_edge=97.93328141538417, retail_edge=126.33376695904167, arb_edge=-28.400485543647502, failures=0.", "Quadrature only for probability tails; seeds 0-119: mean_edge=98.12590193390916, retail_edge=126.27210420889168, arb_edge=-28.14620227494167, failures=0.", "Score filter with ten-node Gaussian quadrature for next-step edge; seeds 0-119: mean_edge=98.52787672601583, retail_edge=127.0077784174825, arb_edge=-28.4799016914575, failures=0.", "Quadrature plus retail-aware missing-probe guard; seeds 0-119: mean_edge=98.72359493293334, retail_edge=127.14238234849583, arb_edge=-28.418787415548334, failures=0.", "Two-cent queue plus 150-share refills / 4000 preload; seeds 0-39: mean_edge=100.9412775412525, retail_edge=134.03894908283752, arb_edge=-33.0976715415225, failures=0.", "Base comparison; seeds 0-39: mean_edge=101.27719495289, retail_edge=134.298226991485, arb_edge=-33.021032038515, failures=0.", "Two-cent asks behind existing competitor; seeds 0-39: mean_edge=101.277195582765, retail_edge=134.298226991485, arb_edge=-33.02103140864, failures=0.", "Expanded training base_train600.json: mean_edge=87.41650726068066, retail_edge=116.13125849331949, arb_edge=-28.714751232636335, simulations=600, failures=0.", "Expanded training mixture_train600.json: mean_edge=87.941943563347, retail_edge=116.845772989651, arb_edge=-28.903829426319167, simulations=600, failures=0.", "Expanded training scorefilter_gh_train600.json: mean_edge=91.03290218268734, retail_edge=121.60633582364132, arb_edge=-30.573433640956665, simulations=600, failures=0.", "Expanded training scorefilter_risk1_train600.json: mean_edge=89.274341904324, retail_edge=117.17932261901866, arb_edge=-27.904980714673833, simulations=600, failures=0.", "Expanded training scorefilter_train600.json: mean_edge=89.91123352300734, retail_edge=119.92445162022683, arb_edge=-30.013218097207833, simulations=600, failures=0.", "Screening and expanded-training jobs launched before freezing sometimes completed afterward; those later results are logged for the next seat and did not change the frozen choice.", "Simulator revision b244530ee2a6247b5f930830eeca9dd950da0e7e; standard CLI with --json and --workers 4 worked. CLI JSON exposes per-simulation fields; means use the identical successful-result arithmetic as BatchResult properties, without rounding.", "Final code --sandbox on seeds 0-19: 20/20 failures before strategy loading: ImportError importing ntpath in pathlib under Python 3.12.3. Unchanged examples/starter_strategy.py likewise failed 20/20 with the same error; ordinary final batches each had zero failures.", "Frozen choice scorefilter_gh (module documentation refreshed and unused grid fields / jump-point calculation removed; trading behavior unchanged); final seeds 0-599: mean_edge=91.03290218268734, retail_edge=121.60633582364132, arb_edge=-30.573433640956665. Untouched seeds 20000-20599 scored once after freezing: mean_edge=86.98656564728267, retail_edge=120.68607035976935, arb_edge=-33.69950471248084. No changes or selection followed the holdout."], "next": "A retail-aware missing-probe guard finished after freezing and slightly improved the 120-seed screen; validate that on a larger training sample first. Retain a small mixture of truncated latent-score components instead of moment matching, and learn uncertainty about the unknown jump parameters from quote/probe history. Focus on one-tick-spread near-zero runs: the price grid loses information there, while overly small inventory buffers give up valuable retail buys. Compare paired full training seeds before freezing another independent holdout."}