{"family":"finite-state Bayesian regime controller","hypothesis":"Posterior-weighted arb-pin/router-retail/outlier actions can retain retail impact gains without hard-labeling ambiguous first trades.","status":"completed replica structural screen; not real-engine qualification","source_urls_sha256":[{"url":"https://raw.githubusercontent.com/gtmcknight/amm-sim/main/research/filter-brief.md","sha256":"0ef2200226b68aa58de6aad268442ba09ada710c54b3fb0ec35c77b491f78a4b"},{"url":"https://raw.githubusercontent.com/gtmcknight/amm-sim/main/research/oracle_table.json","sha256":"3e9d1fc8874c6d796d4c26948d486b587f2a6b5610b20fba99923a60954cf4b5"},{"url":"https://raw.githubusercontent.com/gtmcknight/amm-sim/main/research/replica.py","sha256":"d079712fa1f4850ad8337e656e7ee8dbdde806cd4762d597fae50f547ef9c7c4"},{"url":"https://raw.githubusercontent.com/gtmcknight/amm-sim/main/research/setup.sh","sha256":"dc7fa6a1e59f5b043d3954cf68d538318b7affaf5c0db3ca69a1822680f300d4"},{"url":"https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_competition/competition/match.py","sha256":"78915a1aa36341e61c29f333fb18b31a319f70ce3e8bc2f737ba8b003aea5c17"},{"url":"https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/simulation/engine.rs","sha256":"b505e05c1ab072855c708747421e382c31223fd65b7ae0402282bb07f6db2e56"}],"model":{"description":"Three latent event regimes; Gaussian posterior per branch followed by mean/variance moment matching for the next callback. Each branch chooses its own displacement-table action before posterior-weighted averaging. No persistent grid and no oracle input to Controller.","frozen":{"all_training_means":{"0":514.6098724299945,"1":522.335852851416,"2":501.1341983132565,"3":518.9340811344123},"index":1,"parameters":{"arb_prior":0.8,"retail_sd":0.0045,"retail_shift":0.003,"silent":true},"seeds":[20400,20527],"selection":"maximum mean edge; no evaluation data read","steps":10000,"training_mean":522.335852851416},"constants":{"SIGMA":0.000945,"VAR_MIN":1e-10,"initial_reserves":[100,10000],"initial_fees":[0.0035,0.0035],"max_fee":0.1,"retail_regime_priors_given_retail":[0.85,0.15],"outlier_sd":0.012,"max_silent_updates":32,"drift_per_step":-4.465125e-07,"table_spacing_logprice":0.003,"table_knots":[-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8],"repeated_timestamp_arb_prior":0},"all_candidate_parameters":[{"arb_prior":0.55,"retail_sd":0.003,"retail_shift":0.003,"silent":true},{"arb_prior":0.8,"retail_sd":0.0045,"retail_shift":0.003,"silent":true},{"arb_prior":0.35,"retail_sd":0.002,"retail_shift":0.002,"silent":true},{"arb_prior":0.65,"retail_sd":0.003,"retail_shift":0.0045,"silent":true}],"table":{"units":"offset from the true price p in units of 30 bps; ask above p, bid below p; knots at own displacement ln(spot/p) = -8..+8 x 30 bps; add arb_flag to both offsets right after an own arb trade","fees":"askFee = 1 - exp(ln(spot/p) - ask*0.003); bidFee = 1 - exp(-bid*0.003 - ln(spot/p)); clamp to [0, 0.10]","ask":[-0.8836,-0.9345,-0.8159,-0.7282,-0.6342,-0.5652,-0.2453,0.7252,1.1735,1.4444,1.6154,2.7552,2.9767,3.3159,4.4695,5.071,5.7838],"bid":[5.6921,5.1279,4.4766,4.0233,3.3293,2.4659,1.7209,1.4329,1.2125,0.7478,-0.2275,-0.5564,-0.6444,-0.7169,-0.7926,-0.8617,-0.8452],"arb_flag":0.1463,"replica_score_1000_seeds":532.45,"same_table_p_from_own_arbs_only":507.61,"retrained_for_p_from_own_arbs":519.24},"observation_contract":"Controller.initialize receives only initial reserves. Controller.update receives side (sell=True means trader sells X), X/Y amounts, timestamp and post reserves. Adapter strips hidden sampled parameters, arb label, true p and rival spot; diagnostics consume truth only after producing the fee."},"runnable":{"dependencies":"Python 3 standard library only; no network, simulator wheel, numpy or numba needed for these replica scores. Write the embedded source strings to a common directory, JSON objects as JSON files, then run commands there.","source_files":{"controller.py":"import math\n\n# All inference constants are fixed or selected on the designated training set.\nCANDIDATES = [\n    dict(arb_prior=0.55, retail_sd=0.003, retail_shift=0.003, silent=True),\n    dict(arb_prior=0.8, retail_sd=0.0045, retail_shift=0.003, silent=True),\n    dict(arb_prior=0.35, retail_sd=0.002, retail_shift=0.002, silent=True),\n    dict(arb_prior=0.65, retail_sd=0.003, retail_shift=0.0045, silent=True),\n]\nSIGMA = 0.000945\nVAR_MIN = 1e-10\n\ndef clip(x, lo, hi): return max(lo, min(hi, x))\n\ndef normal(x): return math.exp(-0.5*x*x)/math.sqrt(2*math.pi)\n\ndef cdf(x): return 0.5*math.erfc(-x/math.sqrt(2))\n\ndef truncate(m,v,lo,hi):\n    sd=math.sqrt(v); a=(lo-m)/sd; b=(hi-m)/sd\n    z=cdf(b)-cdf(a)\n    if z < 1e-10: return clip(m,lo,hi), max(VAR_MIN,min(v,(hi-lo)**2/12))\n    pa=normal(a); pb=normal(b); r=(pa-pb)/z\n    return m+sd*r, max(VAR_MIN,v*(1+(a*pa-b*pb)/z-r*r))\n\ndef interp(a,d):\n    u=clip(d/.003+8,0,16); i=min(15,int(u)); f=u-i\n    return a[i]*(1-f)+a[i+1]*f\n\ndef table_action(table,d,arb):\n    ask=interp(table['ask'],d)+table['arb_flag']*arb\n    bid=interp(table['bid'],d)+table['arb_flag']*arb\n    return (clip(-math.expm1(-bid*.003-d),0,.1),\n            clip(-math.expm1(d-ask*.003),0,.1))\n\nclass Controller:\n    \"\"\"Only this object produces inference/actions; it never sees simulator truth.\"\"\"\n    def __init__(self,table,params,ablate=False):\n        self.table=table; self.params=params; self.ablate=ablate\n    def initialize(self,x,y):\n        self.m=math.log(y/x); self.v=VAR_MIN; self.spot=self.m\n        self.t=-1; self.fb=self.fa=.0035\n        self.posterior=(0.,.5,.5)\n        return self.fb,self.fa\n    def update(self,sell,ax,ay,t,x,y):\n        ls=math.log(y/x); dt=t-self.t\n        m,v=self.m,self.v\n        if dt>0:\n            # Every strictly intervening timestamp was silent on our pool.\n            # Collapse long gaps after 32 truncation/diffusion updates (bounded work).\n            silent=max(0,dt-1)\n            lo=self.spot+math.log1p(-self.fb)\n            hi=self.spot-math.log1p(-self.fa)\n            if self.params['silent']:\n                for _ in range(min(32,silent)):\n                    m,v=truncate(m-.5*SIGMA*SIGMA,v+SIGMA*SIGMA,lo,hi)\n                if silent>32: m,v=truncate(m,v,lo,hi)\n            else: v+=silent*SIGMA*SIGMA\n            m-=.5*SIGMA*SIGMA; v+=SIGMA*SIGMA\n        # If sell X to pool, arb endpoint satisfies spot=p/(1-bid).\n        sign=-1 if sell else 1\n        fee=self.fb if sell else self.fa\n        z_arb=ls+math.log1p(-fee) if sell else ls-math.log1p(-fee)\n        move=abs(ls-self.spot)\n        # Two retail regimes: router split marginal near the competitor, and\n        # unsplit/outlier order (uninformative). Neither receives a true arb tag.\n        z_ret=z_arb-sign*(self.params['retail_shift']+.5*move)\n        ap=self.params['arb_prior'] if dt>0 else 0.\n        if self.ablate: ap=1. if dt>0 else 0.\n        priors=(ap,(1-ap)*.85,(1-ap)*.15)\n        zs=(z_arb,z_ret,m)\n        vs=(VAR_MIN,self.params['retail_sd']**2,.012**2)\n        ws=[]; ms=[]; variances=[]\n        for prior,z,r in zip(priors,zs,vs):\n            total=v+r; residual=z-m\n            w=prior*math.exp(max(-700.,-.5*residual*residual/total))/math.sqrt(total)\n            k=v/total\n            ws.append(w); ms.append(m+k*residual); variances.append(max(VAR_MIN,(1-k)*v))\n        total=sum(ws)\n        ws=[w/total for w in ws] if total>0 else [0.,0.,1.]\n        self.m=sum(w*a for w,a in zip(ws,ms))\n        self.v=max(VAR_MIN,sum(w*(b+(a-self.m)**2) for w,a,b in zip(ws,ms,variances)))\n        # Posterior weighted actions retain component-dependent displacement.\n        fees=[table_action(self.table,ls-a,1. if i==0 else 0.) for i,a in enumerate(ms)]\n        self.fb=sum(w*f[0] for w,f in zip(ws,fees))\n        self.fa=sum(w*f[1] for w,f in zip(ws,fees))\n        self.spot=ls; self.t=t; self.posterior=tuple(ws)\n        return self.fb,self.fa\n\nclass ObservableAdapter:\n    def __init__(self,table,params,ablate=False):\n        self.controller=Controller(table,params,ablate)\n        self.sse=0.; self.count=0; self.brier=0.; self.p_arb=0.\n    def init(self,*hidden):\n        # Initial reserves fixed by the benchmark, never sampled sigma/lambda/size.\n        return self.controller.initialize(100.,10000.)\n    def on_trade(self,sell,ax,ay,t,x,y,arb,p,rival):\n        fees=self.controller.update(sell,ax,ay,t,x,y)\n        # Truth is used strictly AFTER the action, solely for diagnostics.\n        self.sse+=(1e4*(self.controller.m-math.log(p)))**2; self.count+=1\n        self.brier+=(self.controller.posterior[0]-float(arb))**2\n        self.p_arb+=self.controller.posterior[0]\n        return fees\n\nclass Oracle:\n    def __init__(self,table): self.table=table\n    def init(self,*hidden): return .0035,.0035\n    def on_trade(self,sell,ax,ay,t,x,y,arb,p,rival):\n        return table_action(self.table,math.log(y/x/p),float(arb))\n","replica.py":"\"\"\"Pure-Python replica of benedictbrady/amm-challenge @6b6921f8 (engine.rs, cfmm.rs,\narbitrageur.rs, router.rs, retail.rs), written from the source for ceiling experiments.\nRNG streams differ from the Rust engine, so absolute scores move by the seed set;\ncompare policies paired on the same seeds.\n\nA policy gets a callback after every trade on its own pool (arb or retail), like afterSwap,\nplus an oracle view (true fair price p and the 30 bps pool's spot s2 after the pending\naction of the same event), and returns (bid_fee, ask_fee).\"\"\"\nimport math, random\n\nK = 100.0 * 10000.0\nMAXF = 0.1\nNF = 0.003  # normalizer fee\n\n\ndef clampf(f):\n    return 0.0 if f < 0.0 else (MAXF if f > MAXF else f)\n\n\ndef run(seed, policy, n_steps=10000, cfg=None):\n    cr = random.Random(10_000_000 + seed)\n    size_mean = cr.uniform(19.0, 21.0)\n    lam = cr.uniform(0.6, 1.0)\n    sigma = cr.uniform(0.000882, 0.001008)\n    if cfg:\n        size_mean, lam, sigma = cfg\n    pr = random.Random(seed)\n    rr = random.Random(seed + 1)\n    drift = -0.5 * sigma * sigma\n    mu_ln = math.log(size_mean) - 0.5 * 1.2 * 1.2\n    emlam = math.exp(-lam)\n    p = 100.0\n    x1, y1 = 100.0, 10000.0\n    x2, y2 = 100.0, 10000.0\n    fb, fa = policy.init(sigma, lam, size_mean)\n    fb, fa = clampf(fb), clampf(fa)\n    e1 = e2 = 0.0\n    ret1 = arb1 = 0.0  # our retail / arb edge\n    rv1 = av1 = 0.0\n    sum_fb = sum_fa = 0.0\n    g2 = 1.0 - NF\n    sqrt = math.sqrt\n    for t in range(n_steps):\n        p *= math.exp(drift + sigma * pr.gauss(0.0, 1.0))\n        # --- arbitrage, normalizer first (pools are independent), then ours\n        s2 = y2 / x2\n        if s2 < p:\n            nx = sqrt(K / (g2 * p)); ax = x2 - nx\n            if ax > 0:\n                ax = min(ax, x2 * 0.99)\n                nrx = x2 - ax; nry = K / nrx; net_y = nry - y2; ty = net_y / g2\n                prof = ax * p - ty\n                if prof > 0:\n                    x2, y2 = nrx, nry; e2 -= prof\n        elif s2 > p:\n            xv = sqrt(K * g2 / p); ax = (xv - x2) / g2\n            if ax > 0:\n                nrx = x2 + ax * g2; nry = K / nrx; yo = y2 - nry\n                prof = yo - ax * p\n                if yo > 0 and prof > 0:\n                    x2, y2 = nrx, nry; e2 -= prof\n        s1 = y1 / x1\n        if s1 < p:\n            g = 1.0 - fa\n            if g > 0:\n                nx = sqrt(K / (g * p)); ax = x1 - nx\n                if ax > 0:\n                    ax = min(ax, x1 * 0.99)\n                    nrx = x1 - ax; nry = K / nrx; net_y = nry - y1; ty = net_y / g\n                    prof = ax * p - ty\n                    if prof > 0:\n                        x1, y1 = nrx, nry; e1 -= prof; arb1 -= prof; av1 += ty\n                        fb, fa = policy.on_trade(False, ax, ty, t, x1, y1, True, p, y2 / x2)\n                        fb, fa = clampf(fb), clampf(fa)\n        elif s1 > p:\n            g = 1.0 - fb\n            if g > 0:\n                xv = sqrt(K * g / p); ax = (xv - x1) / g\n                if ax > 0:\n                    nrx = x1 + ax * g; nry = K / nrx; yo = y1 - nry\n                    prof = yo - ax * p\n                    if yo > 0 and prof > 0:\n                        x1, y1 = nrx, nry; e1 -= prof; arb1 -= prof; av1 += yo\n                        fb, fa = policy.on_trade(True, ax, yo, t, x1, y1, True, p, y2 / x2)\n                        fb, fa = clampf(fb), clampf(fa)\n        # --- retail\n        n = 0; q = rr.random()\n        while q > emlam:\n            n += 1; q *= rr.random()\n        for _ in range(n):\n            size = rr.lognormvariate(mu_ln, 1.2)\n            buy = rr.random() < 0.5\n            if buy:  # trader buys X with Y\n                ga = 1.0 - fa\n                a1 = sqrt(x1 * ga * y1); a2 = sqrt(x2 * g2 * y2); r = a1 / a2\n                d = ga + r * g2\n                u1 = (r * (y2 + g2 * size) - y1) / d if d != 0 else size / 2\n                u1 = 0.0 if u1 < 0 else (size if u1 > size else u1)\n                u2 = size - u1\n                if u2 > 1e-4:\n                    nry = y2 + u2 * g2; nrx = K / nry; xo = x2 - nrx\n                    if xo > 0:\n                        e2 += u2 - xo * p; x2, y2 = nrx, nry\n                if u1 > 1e-4:\n                    nry = y1 + u1 * ga; nrx = K / nry; xo = x1 - nrx\n                    if xo > 0:\n                        ed = u1 - xo * p; e1 += ed; ret1 += ed; rv1 += u1\n                        x1, y1 = nrx, nry\n                        fb, fa = policy.on_trade(False, xo, u1, t, x1, y1, False, p, y2 / x2)\n                        fb, fa = clampf(fb), clampf(fa)\n            else:  # trader sells X\n                tx = size / p\n                gb = 1.0 - fb\n                b1 = sqrt(y1 * gb * x1); b2 = sqrt(y2 * g2 * x2); r = b1 / b2\n                d = gb + r * g2\n                v1 = (r * (x2 + g2 * tx) - x1) / d if d != 0 else tx / 2\n                v1 = 0.0 if v1 < 0 else (tx if v1 > tx else v1)\n                v2 = tx - v1\n                if v2 > 1e-4:\n                    nrx = x2 + v2 * g2; nry = K / nrx; yo = y2 - nry\n                    if yo > 0:\n                        e2 += v2 * p - yo; x2, y2 = nrx, nry\n                if v1 > 1e-4:\n                    nrx = x1 + v1 * gb; nry = K / nrx; yo = y1 - nry\n                    if yo > 0:\n                        ed = v1 * p - yo; e1 += ed; ret1 += ed; rv1 += yo\n                        x1, y1 = nrx, nry\n                        fb, fa = policy.on_trade(True, v1, yo, t, x1, y1, False, p, y2 / x2)\n                        fb, fa = clampf(fb), clampf(fa)\n        sum_fb += fb; sum_fa += fa\n    return dict(edge=e1, norm=e2, retail=ret1, arb=arb1, rv=rv1, av=av1,\n                fb=sum_fb / n_steps * 1e4, fa=sum_fa / n_steps * 1e4,\n                sigma=sigma, lam=lam, size=size_mean)\n\n\nclass Fixed:\n    def __init__(self, f): self.f = f\n    def init(self, *a): return self.f, self.f\n    def on_trade(self, *a): return self.f, self.f\n\n\nclass OracleQuote:\n    \"\"\"Quote ask p(1+m) and bid p(1-m) around the TRUE fair price after every own trade.\"\"\"\n    def __init__(self, m): self.m = m\n    def init(self, *a): return 0.003, 0.003\n    def on_trade(self, is_buy, ax, ay, t, x, y, arb, p, s2):\n        s = y / x\n        fa = 1.0 - s / (p * (1 + self.m))\n        fb = 1.0 - p * (1 - self.m) / s\n        return fb, fa\n\n\nclass OracleCompete:\n    \"\"\"Know p and the 30 bps pool's spot s2. Ask quote: undercut the rival's ask by u,\n    but never below p(1+mlo); bid quote: outbid the rival's bid by u, never above p(1-mlo).\"\"\"\n    def __init__(self, mlo, u, mhi=1.0):\n        self.mlo, self.u, self.mhi = mlo, u, mhi\n    def init(self, *a): return 0.003, 0.003\n    def on_trade(self, is_buy, ax, ay, t, x, y, arb, p, s2):\n        s = y / x\n        ra = s2 / (1 - NF); rb = s2 * (1 - NF)\n        qa = max(p * (1 + self.mlo), min(ra * (1 - self.u), p * (1 + self.mhi)))\n        qb = min(p * (1 - self.mlo), max(rb * (1 + self.u), p * (1 - self.mhi)))\n        return 1.0 - qb / s, 1.0 - s / qa\n","experiment.py":"import argparse, concurrent.futures, hashlib, json, math, os, statistics, time\nfrom pathlib import Path\nimport replica\nfrom controller import CANDIDATES, ObservableAdapter, Oracle\nROOT=Path(__file__).resolve().parent\nTABLE=json.loads((ROOT/'oracle_table.json').read_text())\n\ndef job(arg):\n    seed,kind,idx=arg\n    if kind=='oracle': policy=Oracle(TABLE)\n    elif kind=='fixed': policy=replica.Fixed(.0035)\n    else: policy=ObservableAdapter(TABLE,CANDIDATES[idx],kind=='ablation')\n    r=replica.run(seed,policy,10000)\n    row=[seed,r['edge'],r['retail'],r['arb'],r['rv'],r['av']]\n    if kind not in ('oracle','fixed'):\n        row += [policy.sse,policy.count,policy.brier,policy.p_arb]\n    return row\n\ndef main():\n    p=argparse.ArgumentParser();p.add_argument('phase',choices=['train','eval','ablation']);p.add_argument('--start',type=int);p.add_argument('--count',type=int,default=16);p.add_argument('--workers',type=int,default=8)\n    a=p.parse_args();start=a.start if a.start is not None else (20400 if a.phase=='train' else 10000)\n    if a.phase=='train': kinds=[('model',i) for i in range(len(CANDIDATES))]\n    else:\n        idx=json.loads((ROOT/'frozen.json').read_text())['index']\n        kinds=[('model',idx),('oracle',idx),('fixed',idx)] if a.phase=='eval' else [('ablation',idx)]\n    jobs=[(s,k,i) for k,i in kinds for s in range(start,start+a.count)]\n    begin=time.monotonic();result={}\n    with concurrent.futures.ProcessPoolExecutor(a.workers) as pool:\n        for (s,k,i),row in zip(jobs,pool.map(job,jobs)):\n            result.setdefault(k+str(i),[]).append(row)\n    out=dict(phase=a.phase,start=start,count=a.count,steps=10000,seconds=time.monotonic()-begin,rows=result)\n    path=ROOT/f'{a.phase}_{start}_{a.count}.json'; path.write_text(json.dumps(out,separators=(',',':')))\n    print(json.dumps({'file':str(path),'seconds':out['seconds'],'means':{k:statistics.mean(r[1] for r in rows) for k,rows in result.items()}}),flush=True)\nif __name__=='__main__': main()\n","freeze.py":"import json,statistics\nfrom pathlib import Path\nfrom controller import CANDIDATES\nr=Path(__file__).resolve().parent\nx=json.loads((r/'train_20400_128.json').read_text())\nmeans={int(k[5:]):statistics.mean(row[1] for row in rows) for k,rows in x['rows'].items()}\ni=max(means,key=means.get)\nout={'index':i,'parameters':CANDIDATES[i],'training_mean':means[i],'all_training_means':means,'selection':'maximum mean edge; no evaluation data read','seeds':[20400,20527],'steps':10000}\n(r/'frozen.json').write_text(json.dumps(out,sort_keys=True))\nprint(json.dumps(out))\n","leakage.py":"import inspect,json,math,random\nfrom pathlib import Path\nimport replica\nfrom controller import Controller,ObservableAdapter,CANDIDATES\nroot=Path(__file__).resolve().parent\ntable=json.loads((root/'oracle_table.json').read_text())\nidx=json.loads((root/'frozen.json').read_text())['index']\nclass Recorder:\n    def init(self,*a): self.events=[]; return .0035,.0035\n    def on_trade(self,*a): self.events.append(a); return .0035,.0035\nr=Recorder();replica.run(20400,r,10000)\na=ObservableAdapter(table,CANDIDATES[idx]); b=ObservableAdapter(table,CANDIDATES[idx])\nassert a.init(.0001,999,999)==b.init(1e6,-1,-1)\nambiguous=0; repeated=0; firsts=0; maxdiff=0.\nlast=-1\nfor event in r.events:\n    out=a.on_trade(*event)\n    changed=list(event); changed[6]=not event[6]; changed[7]=event[7]*2.;changed[8]=event[8]*.1\n    other=b.on_trade(*changed)\n    assert out==other\n    assert a.controller.m==b.controller.m and a.controller.v==b.controller.v\n    assert all(math.isfinite(v) and 0<=v<=.1 for v in out)\n    if event[3]==last:\n        repeated+=1; assert a.controller.posterior[0]==0.\n    else:\n        firsts+=1\n        ambiguous+=int(0<a.controller.posterior[0]<1)\n    last=event[3]\n# Extra bounded long silence and repeated-timestamp behavior.\nc=Controller(table,CANDIDATES[idx]);c.initialize(100,10000)\nc.update(False,.01,1.,10000,99.99,10001.)\nassert math.isfinite(c.m) and math.isfinite(c.v)\nc.update(True,.01,1.,10000,100.,10000.)\nassert c.posterior[0]==0\nsig=str(inspect.signature(Controller.update))\nassert sig=='(self, sell, ax, ay, t, x, y)'\nresult={'passed':True,'events_replayed':len(r.events),'first_timestamp_events':firsts,'ambiguous_first_events':ambiguous,'repeated_timestamp_events':repeated,'fee_changes_under_truth_mutation':0,'latent_state_changes_under_truth_mutation':0,'initial_sampled_parameter_mutation':'identical fees','long_gap_steps':10000,'controller_signature':sig,'qualification':'checks inference separation and invariants, not estimator correctness'}\n(root/'leakage_result.json').write_text(json.dumps(result));print(json.dumps(result))\n","oracle_table.json":{"units":"offset from the true price p in units of 30 bps; ask above p, bid below p; knots at own displacement ln(spot/p) = -8..+8 x 30 bps; add arb_flag to both offsets right after an own arb trade","fees":"askFee = 1 - exp(ln(spot/p) - ask*0.003); bidFee = 1 - exp(-bid*0.003 - ln(spot/p)); clamp to [0, 0.10]","ask":[-0.8836,-0.9345,-0.8159,-0.7282,-0.6342,-0.5652,-0.2453,0.7252,1.1735,1.4444,1.6154,2.7552,2.9767,3.3159,4.4695,5.071,5.7838],"bid":[5.6921,5.1279,4.4766,4.0233,3.3293,2.4659,1.7209,1.4329,1.2125,0.7478,-0.2275,-0.5564,-0.6444,-0.7169,-0.7926,-0.8617,-0.8452],"arb_flag":0.1463,"replica_score_1000_seeds":532.45,"same_table_p_from_own_arbs_only":507.61,"retrained_for_p_from_own_arbs":519.24},"frozen.json":{"all_training_means":{"0":514.6098724299945,"1":522.335852851416,"2":501.1341983132565,"3":518.9340811344123},"index":1,"parameters":{"arb_prior":0.8,"retail_sd":0.0045,"retail_shift":0.003,"silent":true},"seeds":[20400,20527],"selection":"maximum mean edge; no evaluation data read","steps":10000,"training_mean":522.335852851416}},"commands":["python experiment.py train --start 20400 --count 128","python freeze.py","python leakage.py","python experiment.py eval --start 10000 --count 256","python experiment.py ablation --start 10000 --count 64"],"checkpointing":"Each command writes one JSON checkpoint. Commands observed below 480 seconds. Lower --count and aggregate rows for slower machines; --workers defaults to 8."},"exact_experiment":{"training_seeds_inclusive":[20400,20527],"evaluation_seeds_inclusive":[10000,10255],"ablation_seeds_inclusive":[10000,10063],"steps_per_seed":10000,"fresh_confirmation_seeds_used":false,"replica_configuration":{"config_rng":"random.Random(10000000+seed), sequential uniform draws size_mean [19,21], lambda [.6,1], sigma [.000882,.001008]","price_rng":"random.Random(seed)","retail_rng":"random.Random(seed+1)","initial_p":100,"reserves_per_pool":[100,10000],"constant_product":1000000,"rival_fixed_fee":0.003,"retail_lognormal_sd":1.2,"buy_probability":0.5,"mu_logsize":"ln(size_mean)-0.5*1.2^2","GBM_logdrift":"-0.5*sigma^2","dt":1},"pairing":"Each arm alone against fixed 30bps rival with common random seed streams; arms have separate endogenous reserves and fees. True-p table also uses the true arb label (privileged ceiling). All arms initialized at 35bps for comparability.","selection":"4 presets evaluated on all 128 training seeds; maximize mean edge. Preliminary 16 training seeds were a speed/smoke check on the same four presets, with no changes afterward.","training_metrics":{"model0":{"edge":{"n":128,"mean":514.6098724299945,"SE":7.807629289516989,"CI95_normal":[499.30691902254125,529.9128258374478]},"RMS_price_bps":20.256842431720724},"model1":{"edge":{"n":128,"mean":522.335852851416,"SE":7.876358299376454,"CI95_normal":[506.89819058463814,537.7735151181938]},"RMS_price_bps":19.572853368701196},"model2":{"edge":{"n":128,"mean":501.1341983132565,"SE":7.640597128074889,"CI95_normal":[486.1586279422297,516.1097686842833]},"RMS_price_bps":27.15670664967276},"model3":{"edge":{"n":128,"mean":518.9340811344123,"SE":7.839606856272377,"CI95_normal":[503.5684516961184,534.2997105727061]},"RMS_price_bps":18.695005097580804}},"confidence_interval":"Mean +/- 1.96 sample paired-delta SD/sqrt(n), independent seed as sampling unit; descriptive normal CI, no multiple-testing correction. Metrics use full precision; compact per_seed values rounded to 0.1 (main-table volumes to whole Y); full-precision checkpoints can be regenerated with the embedded harness."},"metrics":{"model":{"edge":{"n":256,"mean":527.2635027251586,"SE":5.773766337981895,"CI95_normal":[515.946920702714,538.5800847476031]},"retail_edge":565.2439544649685,"arb_edge":-37.98045173981005,"retail_volume_Y":76102.24605182967,"arb_volume_Y":25660.956560245686,"RMS_price_bps_own_post_trade":19.51919522968276,"post_trade_observations":2670360,"arb_probability_Brier":0.10569244925588464,"mean_inferred_arb_probability":0.3971643251718032},"oracle_true_price_and_arb_label":{"edge":{"n":256,"mean":535.2164877459921,"SE":5.83428408675277,"CI95_normal":[523.7812909359567,546.6516845560276]},"retail_edge":566.7133336082998,"arb_edge":-31.496845862307588,"retail_volume_Y":76274.98573644714,"arb_volume_Y":23965.729903296793},"fixed_35bps":{"edge":{"n":256,"mean":349.2464435291094,"SE":3.3514472898394065,"CI95_normal":[342.67760684102416,355.81528021719464]},"retail_edge":564.7301763259644,"arb_edge":-215.48373279685492,"retail_volume_Y":70558.56404947276,"arb_volume_Y":35413.881632622804},"paired_oracle_deficit":{"n":256,"mean":7.952985020833667,"SE":0.11680787189440171,"CI95_normal":[7.72404159192064,8.181928449746694]},"paired_gain_over_fixed":{"n":256,"mean":178.01705919604913,"SE":3.0014677512290713,"CI95_normal":[172.13418240364015,183.8999359884581]}},"per_seed":{"columns":["seed","model_edge","model_retail_edge","model_arb_edge","model_retail_volume_Y","model_arb_volume_Y","oracle_edge","oracle_retail_edge","oracle_arb_edge","oracle_retail_volume_Y","oracle_arb_volume_Y","fixed_edge","fixed_retail_edge","fixed_arb_edge","fixed_retail_volume_Y","fixed_arb_volume_Y","model_RMS_price_bps","model_observations"],"rows":[[10000,440.2,464.7,-24.5,62472,22100,445.7,465.4,-19.7,62676,20750,280.5,457.5,-177.0,56637,29944,17.9,8626],[10001,565.3,598.1,-32.8,88139,27592,572.6,598.4,-25.8,88626,26003,404.8,598.5,-193.7,81701,39289,19.5,11834],[10002,522.7,556.4,-33.7,69020,25761,528.0,555.5,-27.5,69313,23992,322.6,554.9,-232.3,64429,34624,20.5,9710],[10003,563.5,596.2,-32.7,82791,27774,573.6,599.4,-25.8,82803,25936,379.6,600.6,-221.0,76714,38056,19.9,11355],[10004,517.4,545.8,-28.4,73421,25033,524.6,547.6,-23.0,73739,23809,342.4,541.8,-199.4,68425,34492,18.1,10029],[10005,521.2,551.8,-30.7,73316,24973,527.7,551.0,-23.3,73537,23415,341.9,553.7,-211.7,68161,35378,18.8,10037],[10006,478.8,507.3,-28.4,75245,24534,487.6,510.1,-22.5,75295,22988,342.6,505.3,-162.7,69549,33721,17.9,10447],[10007,518.9,549.3,-30.4,76864,25284,527.2,551.2,-24.0,77242,23735,352.4,546.4,-194.0,71613,34766,20.0,10610],[10008,652.0,688.3,-36.4,95832,29460,664.1,692.1,-28.0,96183,27361,436.9,685.9,-249.0,88943,42955,19.6,12197],[10009,642.7,678.0,-35.3,92496,29218,653.7,681.6,-27.8,92582,27195,431.5,686.9,-255.4,86463,42947,19.7,12234],[10010,472.2,500.6,-28.4,76051,24451,479.6,501.6,-22.0,76559,22846,342.9,495.2,-152.3,70013,34185,19.3,10841],[10011,364.7,386.9,-22.2,58643,19829,371.5,388.9,-17.4,58837,18499,266.2,383.9,-117.7,54557,27122,17.9,8411],[10012,450.9,480.2,-29.3,75146,24953,459.0,481.3,-22.2,75283,22752,332.6,477.8,-145.2,68511,33384,21.4,10540],[10013,397.9,420.8,-22.8,57951,20188,402.8,420.5,-17.6,58204,18876,265.3,419.4,-154.1,53199,27322,18.7,8452],[10014,693.3,732.8,-39.5,87576,28139,702.9,735.2,-32.4,87673,26631,406.9,735.0,-328.1,81111,40179,18.6,11401],[10015,619.8,656.2,-36.4,92967,29430,632.3,660.9,-28.6,93503,27734,416.4,652.0,-235.5,85750,41231,20.5,11890],[10016,559.8,632.4,-72.7,71735,25185,569.3,635.5,-66.1,71951,23389,331.4,633.9,-302.6,66433,33853,21.0,9875],[10017,488.4,517.7,-29.3,72771,25077,494.5,518.8,-24.3,73103,23875,334.0,518.1,-184.1,67617,35188,17.6,10165],[10018,475.6,504.1,-28.5,70335,24834,482.2,504.8,-22.6,70468,23390,325.7,501.3,-175.6,64985,33841,19.2,9635],[10019,449.7,473.4,-23.7,61818,21693,455.5,475.0,-19.5,62125,20407,282.2,469.8,-187.5,57063,29555,18.5,8543],[10020,489.7,519.4,-29.7,68283,25035,498.1,521.0,-22.9,68459,23206,315.8,513.3,-197.6,63343,32655,19.5,9493],[10021,406.0,428.6,-22.6,57275,20899,413.4,431.3,-17.9,57695,19503,256.7,427.6,-170.9,52305,26874,19.5,8492],[10022,434.4,460.1,-25.6,61805,22050,442.1,461.9,-19.8,61812,20259,281.5,456.6,-175.2,57126,29516,20.5,8927],[10023,625.0,661.1,-36.1,87525,28070,635.3,664.3,-29.0,87929,26226,403.9,666.7,-262.8,81262,39414,19.1,11018],[10024,474.6,503.6,-29.0,73176,25245,483.7,507.0,-23.3,73872,23743,330.0,497.4,-167.4,67353,33705,20.0,10679],[10025,441.9,468.1,-26.2,62579,22073,447.7,468.1,-20.5,62443,20480,280.5,463.9,-183.4,57560,28940,20.6,9341],[10026,341.7,363.4,-21.7,54343,19786,347.4,364.6,-17.2,54624,18425,242.7,356.8,-114.1,49668,25399,18.6,8510],[10027,542.0,573.8,-31.8,73669,25997,549.7,574.4,-24.7,73912,24197,347.1,575.5,-228.4,68490,36129,20.3,10243],[10028,521.2,554.2,-33.0,68475,24341,527.8,554.8,-27.1,68636,23007,323.7,557.6,-233.9,64249,34104,18.8,9363],[10029,434.3,460.2,-25.9,72700,22788,444.6,464.8,-20.2,72760,21296,322.2,452.6,-130.4,66710,30476,19.6,10423],[10030,586.3,622.2,-36.0,89613,28897,597.8,625.6,-27.7,89760,27047,405.8,616.3,-210.4,83322,40268,20.2,11772],[10031,336.2,359.9,-23.7,58059,21357,343.6,361.7,-18.2,58012,19671,250.1,350.2,-100.1,52775,26386,20.4,8794],[10032,629.6,665.1,-35.5,86776,28175,637.9,664.7,-26.8,86665,26072,403.9,667.1,-263.2,81578,40803,18.9,11102],[10033,529.3,561.4,-32.1,82013,26797,536.5,561.4,-24.9,82155,25100,380.4,555.5,-175.2,77059,37553,20.2,10979],[10034,558.0,589.1,-31.2,84681,26551,566.5,590.9,-24.3,84708,24619,384.0,585.4,-201.5,78120,36310,20.2,11623],[10035,625.8,664.7,-39.0,95076,30066,636.1,664.6,-28.5,95096,27580,431.3,668.9,-237.6,87641,42782,20.3,12376],[10036,538.1,571.4,-33.3,82418,26862,546.6,571.1,-24.5,82296,24462,372.9,568.2,-195.3,76377,36564,20.8,11157],[10037,437.3,463.1,-25.8,67063,23038,445.2,466.1,-20.9,67464,21411,306.3,463.8,-157.5,61552,31753,19.2,9560],[10038,611.4,645.7,-34.3,92184,28769,620.6,647.6,-27.0,92527,26775,426.3,646.3,-220.0,86096,41297,20.4,12532],[10039,583.1,619.6,-36.5,79087,26186,590.6,620.0,-29.4,79367,24324,363.1,616.9,-253.8,72914,36594,20.7,10809],[10040,599.9,633.7,-33.9,91435,28483,610.0,636.9,-26.9,91584,27150,425.3,642.6,-217.2,85106,41457,18.7,12354],[10041,622.6,653.8,-31.2,86376,27335,632.3,657.8,-25.5,86754,25890,409.8,659.3,-249.5,81447,39985,19.1,11366],[10042,703.7,742.1,-38.4,94131,30633,711.2,741.0,-29.8,94008,28685,442.8,745.8,-303.0,88308,44462,19.4,12251],[10043,628.6,663.3,-34.7,89561,28255,639.3,666.8,-27.5,89318,26457,410.6,663.7,-253.1,82396,40297,20.1,11645],[10044,416.4,441.2,-24.8,61582,21995,421.9,441.5,-19.6,61837,20568,284.6,439.8,-155.2,57081,29692,17.5,8620],[10045,380.5,406.2,-25.6,61496,22492,388.1,408.2,-20.1,61898,21025,277.0,402.1,-125.1,56342,28964,19.8,9127],[10046,425.3,455.2,-29.9,69452,25319,434.2,457.4,-23.3,69989,23412,311.2,451.6,-140.4,63816,32888,19.4,10181],[10047,588.8,623.7,-34.9,91705,29256,599.6,627.6,-27.9,92298,27513,426.2,627.5,-201.4,86104,42191,20.2,12122],[10048,490.4,519.0,-28.6,71886,24330,497.2,519.7,-22.5,71937,22579,326.0,516.6,-190.6,66398,33341,20.6,10115],[10049,378.3,400.1,-21.8,57695,20307,385.9,403.3,-17.4,57914,18882,263.1,398.6,-135.5,53413,26904,18.6,8698],[10050,370.1,392.6,-22.5,58187,21059,378.6,397.3,-18.7,58404,19888,260.0,388.1,-128.1,53566,26813,18.7,8862],[10051,417.8,442.6,-24.8,60613,22067,424.7,444.7,-19.9,61020,20861,281.3,438.1,-156.8,56648,29503,19.3,8761],[10052,424.0,450.9,-26.9,69599,23697,431.5,452.5,-21.0,69599,22038,303.3,444.3,-141.1,63198,30494,20.0,10261],[10053,530.7,561.9,-31.2,73836,25149,538.0,561.6,-23.5,74075,23256,336.5,562.7,-226.1,67892,34651,19.7,10194],[10054,440.2,471.8,-31.6,64607,23499,444.3,468.3,-24.0,64443,21140,290.1,466.4,-176.4,59227,30041,21.6,9324],[10055,701.8,740.3,-38.5,96321,31467,710.7,741.4,-30.6,96634,29556,452.6,745.0,-292.4,89944,44630,19.6,12529],[10056,575.2,608.7,-33.5,84507,27155,583.5,608.6,-25.1,84401,25291,397.6,614.2,-216.6,79321,39597,19.5,10969],[10057,503.6,531.2,-27.5,69581,23961,510.8,532.8,-22.0,69677,22302,321.7,530.3,-208.6,64241,33169,19.1,9788],[10058,434.1,458.0,-23.9,59116,21405,440.1,459.6,-19.5,59355,20169,269.1,456.7,-187.6,54009,28579,19.4,8939],[10059,502.3,533.4,-31.1,72765,26138,509.4,534.2,-24.7,72848,24404,332.8,530.0,-197.1,67405,35008,19.4,10043],[10060,922.5,2098.1,-1175.6,92164,32264,928.8,2097.8,-1169.0,92365,30249,419.4,2088.8,-1669.4,85905,43947,19.8,11776],[10061,555.3,585.3,-30.0,83534,25950,562.9,587.0,-24.1,83912,24669,378.9,580.4,-201.5,77150,37136,19.0,11337],[10062,599.7,631.8,-32.0,90321,27919,611.0,636.7,-25.7,90987,26017,416.1,633.2,-217.1,84357,39871,19.3,11939],[10063,423.1,447.2,-24.1,64618,21705,429.3,448.7,-19.3,64900,20338,291.3,446.0,-154.8,59099,29615,19.1,9351],[10064,653.5,691.4,-37.9,95337,29389,662.1,691.8,-29.7,95375,27644,442.6,695.3,-252.7,89153,43780,18.7,12112],[10065,578.2,609.7,-31.6,82569,26614,586.3,612.0,-25.6,83054,25086,382.2,618.3,-236.2,76601,38050,20.0,10966],[10066,479.3,509.1,-29.8,74545,24601,486.2,508.7,-22.5,74210,22714,335.3,507.4,-172.0,68484,34123,19.8,10114],[10067,626.2,659.7,-33.6,80654,26893,635.0,662.2,-27.2,80613,25592,385.5,667.4,-282.0,75537,39160,18.5,10647],[10068,499.1,525.9,-26.8,60939,23554,505.0,527.0,-22.1,61435,22259,285.6,525.9,-240.2,56364,31392,18.1,8745],[10069,614.9,647.5,-32.6,81565,27144,623.2,649.6,-26.5,81739,25254,379.1,646.0,-266.9,76169,37837,19.2,11096],[10070,405.7,431.4,-25.7,58604,22714,413.6,434.5,-20.8,59110,21204,269.3,430.4,-161.1,54363,29412,19.3,8400],[10071,431.8,456.3,-24.5,63269,21852,437.3,457.2,-19.9,63530,20212,283.8,452.8,-169.0,58035,29920,19.5,9121],[10072,597.2,647.2,-50.0,78104,25261,605.9,651.2,-45.3,78127,23887,357.0,645.9,-288.9,72267,34999,18.4,10612],[10073,560.5,591.8,-31.3,81823,26977,567.7,592.6,-24.9,81978,25489,378.8,590.0,-211.2,76104,37560,18.8,10943],[10074,523.8,553.6,-29.8,74921,24890,533.1,556.8,-23.7,74945,23395,341.3,555.8,-214.5,69477,34812,19.2,10193],[10075,554.9,587.5,-32.6,80644,26891,562.4,587.2,-24.8,80848,24748,367.4,585.6,-218.2,74004,37200,19.9,11313],[10076,522.9,555.3,-32.3,79366,26541,530.9,555.4,-24.6,79544,24536,362.9,561.1,-198.2,73002,36429,19.6,11005],[10077,423.1,448.2,-25.1,67340,22670,430.3,450.1,-19.7,67501,20810,301.4,444.6,-143.2,61995,29781,20.3,9846],[10078,611.3,646.6,-35.4,90107,27638,622.1,649.5,-27.5,90459,25916,416.9,656.1,-239.2,83678,40338,20.8,11561],[10079,643.1,680.9,-37.8,89702,29783,650.6,679.8,-29.1,89866,27639,418.0,682.6,-264.6,83966,42674,20.2,11772],[10080,478.6,509.5,-30.8,70171,25356,488.1,511.8,-23.7,70169,23522,319.5,510.4,-190.9,65200,33656,20.8,9765],[10081,562.1,594.9,-32.8,76848,26398,567.4,593.5,-26.1,76711,24566,359.7,596.2,-236.5,71278,36424,19.3,10293],[10082,558.8,590.6,-31.8,76558,25675,566.7,591.8,-25.0,76932,24102,358.9,592.9,-234.0,72028,36997,19.2,10443],[10083,461.3,489.5,-28.2,73695,24657,467.2,489.6,-22.4,73591,23243,337.6,485.6,-148.0,68428,33351,18.7,10504],[10084,468.0,495.5,-27.5,69399,23799,476.2,497.4,-21.2,69539,21897,318.2,499.5,-181.3,64307,32591,19.0,9421],[10085,449.3,474.9,-25.6,63904,23047,455.7,476.5,-20.8,63971,21521,291.7,473.0,-181.2,58767,30378,18.1,9239],[10086,564.1,599.1,-35.0,84520,27605,573.8,599.9,-26.1,84818,25517,389.2,599.1,-209.9,78969,39253,20.4,11405],[10087,562.8,594.3,-31.6,87458,26643,572.0,596.5,-24.6,87790,24983,394.8,592.0,-197.2,80838,37374,19.8,11893],[10088,432.4,461.0,-28.6,67088,24052,442.5,464.7,-22.2,67514,22278,305.4,460.2,-154.8,61918,32009,20.4,9464],[10089,410.8,436.0,-25.2,61219,22323,414.9,435.2,-20.3,61437,20855,277.3,428.9,-151.7,55953,29086,19.4,8702],[10090,580.7,615.9,-35.2,88583,28619,587.7,615.7,-28.0,88385,26948,399.8,618.0,-218.3,81230,39945,19.7,11985],[10091,481.1,509.8,-28.7,68330,24340,486.9,510.8,-23.9,68349,22956,308.9,507.6,-198.7,63126,32608,18.5,9815],[10092,550.6,580.4,-29.7,75546,25553,557.7,581.5,-23.7,75795,23933,350.5,582.4,-231.9,70186,36026,18.6,10173],[10093,652.4,695.5,-43.1,93638,29555,663.4,699.2,-35.8,93751,27633,429.8,701.7,-271.9,86986,42762,19.8,12239],[10094,474.8,504.7,-29.9,69613,25567,480.6,504.4,-23.7,69560,23973,321.2,502.8,-181.7,64522,33409,18.0,9756],[10095,589.0,624.4,-35.4,85962,28397,597.9,625.0,-27.0,86225,26286,395.5,622.4,-226.9,79814,40018,20.4,11322],[10096,487.0,514.2,-27.2,67476,23742,492.1,513.6,-21.5,67389,22189,318.5,516.6,-198.1,62969,32690,18.7,9440],[10097,506.9,534.4,-27.4,73546,23766,512.8,534.4,-21.7,73627,21850,336.1,534.9,-198.8,67948,33496,19.2,10267],[10098,498.2,526.7,-28.5,77270,24724,503.3,525.9,-22.6,77057,23409,350.3,520.0,-169.7,70853,34214,18.7,11011],[10099,464.2,491.1,-26.8,72517,23519,470.5,491.4,-21.0,72537,22151,334.4,487.1,-152.7,67213,32606,19.8,9942],[10100,438.5,469.2,-30.8,62189,23176,444.1,469.2,-25.1,62528,21210,283.8,466.1,-182.2,57357,30818,21.4,8897],[10101,526.6,558.1,-31.4,76648,25629,537.0,560.5,-23.6,76583,23933,352.3,557.8,-205.5,71017,34971,19.8,10571],[10102,728.6,771.4,-42.8,98640,31484,737.2,771.6,-34.4,98773,29531,466.6,777.8,-311.2,93075,45918,18.2,12774],[10103,734.4,772.3,-37.9,93663,29711,741.5,770.9,-29.3,93945,27808,443.3,778.2,-334.9,88092,44488,19.8,11921],[10104,694.3,733.1,-38.8,97481,31479,703.2,733.4,-30.3,97837,29156,460.2,735.0,-274.8,91809,45363,19.5,12370],[10105,465.3,491.4,-26.1,63898,23475,472.2,493.7,-21.4,63972,22505,293.6,486.3,-192.7,58569,31030,19.0,9316],[10106,424.5,450.7,-26.2,59450,21393,429.5,450.3,-20.7,59645,19830,272.2,449.0,-176.8,55022,29145,19.8,8484],[10107,482.7,512.7,-30.0,72587,25243,492.0,515.4,-23.5,72704,23672,334.7,515.6,-180.9,67025,34119,19.9,10158],[10108,527.1,559.6,-32.5,75872,26196,535.5,561.9,-26.5,76029,24763,341.7,556.7,-214.9,69724,34820,19.4,10657],[10109,728.6,783.6,-55.0,96586,30537,738.8,785.2,-46.4,97074,28432,446.3,789.0,-342.7,89896,44484,19.5,12100],[10110,565.6,597.5,-31.8,89928,27141,573.0,598.9,-25.9,89949,25753,405.3,600.5,-195.2,82738,39131,18.6,12327],[10111,399.0,425.6,-26.6,61329,23348,406.3,427.8,-21.5,61770,21909,284.5,424.4,-139.9,56925,30752,19.3,8881],[10112,457.4,486.0,-28.5,65755,23859,464.1,486.2,-22.2,65699,22299,304.1,480.8,-176.7,61205,31765,20.4,9058],[10113,431.5,456.3,-24.7,62735,21829,436.5,456.2,-19.6,62787,20343,285.1,452.7,-167.6,57689,29278,19.0,9075],[10114,529.1,559.2,-30.1,82115,26382,535.1,559.0,-23.9,82134,24579,375.4,560.1,-184.7,75976,36594,19.0,11538],[10115,651.1,687.9,-36.8,93603,30096,663.2,692.4,-29.2,94158,28539,440.6,694.3,-253.6,88071,43556,18.4,12085],[10116,517.4,545.4,-27.9,75484,24853,526.9,549.6,-22.8,75363,23337,347.5,542.5,-195.0,70191,34804,19.3,9776],[10117,407.8,432.8,-24.9,62027,22584,413.1,433.0,-20.0,62164,20894,284.4,430.6,-146.2,57638,30125,18.6,8825],[10118,419.5,445.7,-26.2,62239,23217,424.5,445.8,-21.3,62259,21920,283.6,444.2,-160.6,57306,30519,18.9,8777],[10119,410.8,436.7,-26.0,63316,23145,417.0,437.9,-21.0,63497,21587,286.2,432.3,-146.2,58094,30232,18.7,8837],[10120,543.5,577.3,-33.8,84453,27884,553.4,579.0,-25.6,84471,25697,386.2,577.3,-191.1,78289,38282,20.2,11502],[10121,527.8,559.8,-32.0,80791,27081,536.7,561.8,-25.1,81215,25202,371.6,558.5,-186.9,74402,36444,20.0,11222],[10122,578.0,613.8,-35.9,87560,28144,587.9,615.0,-27.0,87701,25884,402.3,616.7,-214.4,81627,39829,21.2,11581],[10123,500.4,530.8,-30.4,72318,26030,506.7,530.6,-23.9,72650,24285,330.4,526.7,-196.3,66812,34876,18.8,9675],[10124,522.2,553.4,-31.3,75059,26247,533.8,558.5,-24.7,75113,24610,341.3,555.2,-213.8,69660,35678,20.2,10419],[10125,450.6,478.9,-28.2,72280,24901,455.3,477.6,-22.3,72282,23039,319.9,468.1,-148.2,65955,33042,20.2,9985],[10126,452.3,478.2,-25.8,65978,21937,460.7,481.2,-20.5,66048,20326,295.8,475.2,-179.3,60349,29772,20.5,9515],[10127,488.3,517.3,-29.0,73249,25239,495.8,518.8,-23.0,73636,23522,332.7,518.5,-185.8,67902,33734,18.9,10562],[10128,725.9,771.3,-45.4,98471,31403,732.5,769.4,-36.9,98182,29572,462.7,769.7,-307.0,92522,46165,18.7,12613],[10129,528.9,559.9,-31.0,79249,26672,535.3,559.9,-24.6,78740,24589,361.2,560.6,-199.4,73283,36433,20.1,10780],[10130,454.9,481.0,-26.1,68752,23608,461.7,483.3,-21.6,69078,22131,314.6,482.1,-167.5,63741,31856,19.2,9893],[10131,489.7,518.5,-28.8,68116,23897,499.7,522.6,-22.9,68306,22362,314.0,516.4,-202.3,63141,32356,19.6,9491],[10132,498.4,524.8,-26.4,65859,23212,503.6,525.6,-22.0,66053,21957,310.3,525.1,-214.8,61114,32246,18.1,9208],[10133,624.0,655.7,-31.7,86134,27497,631.5,657.1,-25.6,86473,25991,399.5,657.3,-257.8,80413,38826,18.6,11442],[10134,528.0,560.5,-32.4,77821,27241,536.2,562.5,-26.2,78212,25530,357.0,557.0,-200.0,72211,37287,18.9,10791],[10135,452.5,480.9,-28.4,69887,24464,459.5,482.1,-22.5,70066,22997,322.3,480.8,-158.5,64990,33055,18.4,9958],[10136,609.0,643.0,-34.1,90935,27666,620.3,647.0,-26.6,90949,25917,414.1,650.2,-236.1,83991,40729,19.5,12112],[10137,614.7,648.4,-33.7,87967,28031,622.7,648.7,-26.0,87950,26091,404.1,651.3,-247.2,81076,40625,18.7,11313],[10138,492.2,521.0,-28.8,68234,24514,501.4,524.7,-23.4,68392,23183,311.1,520.8,-209.6,62751,32779,18.5,9708],[10139,461.9,489.4,-27.5,69144,23484,467.6,489.0,-21.5,69184,22078,314.5,485.7,-171.2,64019,32143,20.3,9543],[10140,546.5,576.4,-29.8,79905,26142,552.9,576.4,-23.5,79959,24331,371.1,580.8,-209.7,74324,36886,18.3,10799],[10141,574.5,612.7,-38.2,79540,25852,580.7,613.6,-32.9,79716,24308,369.1,610.0,-241.0,73905,36135,19.3,10701],[10142,619.8,657.5,-37.8,93826,30082,628.2,657.0,-28.8,93782,28066,431.3,661.1,-229.8,87232,42934,20.3,12204],[10143,465.1,491.1,-26.0,65951,22659,471.5,492.0,-20.5,66033,21128,304.6,491.7,-187.0,61053,31620,18.4,8821],[10144,433.8,460.1,-26.3,67167,23297,440.8,462.0,-21.2,67258,21702,307.9,456.7,-148.8,61992,30818,19.7,9686],[10145,475.9,502.9,-27.0,67690,23927,481.6,503.6,-22.0,68117,22496,312.9,501.0,-188.1,62600,31886,18.0,9818],[10146,754.4,1026.9,-272.4,87099,30181,765.8,1030.4,-264.6,87524,28423,410.8,1032.8,-622.0,81982,42204,20.2,11592],[10147,464.1,492.7,-28.5,69631,24456,469.6,491.7,-22.1,69300,22773,321.4,489.7,-168.3,64464,33444,19.0,9797],[10148,683.0,718.9,-36.0,90195,28780,692.3,721.0,-28.6,90018,27081,427.1,722.4,-295.3,84337,41863,19.0,11212],[10149,514.0,549.4,-35.4,77788,27361,523.6,552.5,-28.9,77920,25708,349.1,547.1,-198.0,71824,36483,20.5,10751],[10150,577.9,610.6,-32.8,84191,27470,589.2,615.0,-25.8,84704,25602,385.2,608.6,-223.3,78329,37716,20.2,11468],[10151,469.2,497.2,-28.0,69752,24046,474.6,495.8,-21.2,69775,22187,315.0,492.0,-177.0,64018,31869,20.3,9934],[10152,412.1,437.1,-25.0,61425,22854,418.1,438.2,-20.1,61647,21430,279.7,427.6,-147.9,56190,29899,18.4,8802],[10153,547.5,578.1,-30.6,81823,26288,555.9,579.7,-23.7,82124,24365,370.1,575.6,-205.5,75119,36378,19.8,11328],[10154,484.0,511.1,-27.1,72271,23477,490.9,512.0,-21.1,72437,22046,326.7,509.2,-182.5,66485,32034,18.4,10201],[10155,470.6,496.5,-25.8,69401,22551,478.6,499.1,-20.6,69513,21127,315.1,494.0,-178.9,63785,30778,19.4,10099],[10156,527.6,566.6,-39.0,69818,24674,534.1,565.4,-31.3,69940,22959,317.8,561.7,-243.9,64285,32853,19.3,9934],[10157,525.9,552.8,-26.9,76003,23910,538.0,559.4,-21.4,76479,22667,350.1,551.4,-201.3,70752,33870,18.8,10009],[10158,432.0,458.4,-26.4,62628,23651,437.9,459.5,-21.6,62653,22146,287.0,461.1,-174.1,58067,31630,18.4,8732],[10159,431.8,459.7,-27.9,64145,23904,439.4,461.2,-21.8,64757,22390,296.4,456.4,-160.0,59615,31392,20.2,9355],[10160,417.3,443.9,-26.6,62316,23248,422.6,443.9,-21.3,62739,22033,284.8,440.0,-155.2,57643,30425,18.9,8792],[10161,451.8,479.1,-27.3,66838,24232,458.6,481.2,-22.6,66903,23046,306.3,479.7,-173.4,61635,33101,18.3,9445],[10162,712.1,749.7,-37.7,99594,30167,721.7,750.7,-29.0,99413,28287,464.0,759.5,-295.6,93297,45870,18.6,12215],[10163,658.4,696.7,-38.2,96026,30753,669.1,698.1,-29.0,96491,28434,442.7,698.5,-255.8,89466,43895,19.9,12432],[10164,676.3,799.0,-122.7,84730,28866,684.2,797.9,-113.7,84637,27140,389.4,797.0,-407.6,78551,40241,19.8,11205],[10165,435.8,463.0,-27.2,69068,23237,441.8,463.4,-21.6,69230,21618,314.0,458.2,-144.2,64096,31749,18.9,9926],[10166,413.5,438.7,-25.2,59947,22306,419.5,439.6,-20.0,60229,20327,276.0,436.8,-160.8,55485,29812,19.9,8714],[10167,488.1,518.7,-30.6,68440,24060,494.2,518.3,-24.1,68553,22548,313.8,515.3,-201.5,63012,32226,19.0,9961],[10168,617.7,741.3,-123.7,72003,26788,627.2,743.5,-116.2,72373,25180,329.7,738.7,-409.0,66401,35371,20.3,9869],[10169,563.0,593.1,-30.1,85614,26178,572.9,596.6,-23.7,86227,24857,393.4,596.0,-202.6,79586,38354,18.4,11117],[10170,382.0,406.9,-24.9,63219,22247,389.7,409.7,-20.0,63580,20750,283.2,406.5,-123.3,58067,28925,20.2,9355],[10171,563.8,594.9,-31.1,74423,25922,568.4,593.0,-24.5,73966,24505,346.7,596.0,-249.3,68930,36337,18.8,10032],[10172,676.9,716.6,-39.6,95479,29875,686.9,718.3,-31.3,96021,27825,445.5,725.0,-279.4,89564,44345,20.7,12015],[10173,392.7,415.2,-22.5,57015,20415,398.5,416.8,-18.4,57173,19102,258.7,412.4,-153.7,52342,27162,18.6,8596],[10174,535.0,566.8,-31.8,84122,27011,544.0,569.1,-25.1,84193,25323,382.1,566.2,-184.1,77112,37344,19.6,11465],[10175,500.6,529.1,-28.5,73136,24258,505.2,527.6,-22.4,73421,22900,337.3,525.9,-188.7,68161,33742,18.4,9953],[10176,439.8,466.3,-26.5,67755,23819,449.2,470.7,-21.5,68039,22221,309.0,467.4,-158.5,63152,31440,18.7,9594],[10177,644.7,719.1,-74.4,83439,27813,656.2,723.5,-67.4,84007,25567,390.4,723.1,-332.7,79024,38670,20.3,11119],[10178,653.8,691.5,-37.7,91971,28737,664.2,693.6,-29.4,92440,26773,420.5,694.7,-274.2,85336,41811,20.4,11447],[10179,375.0,401.3,-26.2,58142,22128,382.4,402.6,-20.1,58040,20551,262.3,397.2,-134.9,53484,28595,19.8,8534],[10180,576.3,613.8,-37.5,83236,29057,585.8,613.8,-28.0,82864,27032,381.1,618.9,-237.7,77159,39671,20.1,11128],[10181,456.5,484.3,-27.8,70751,24492,464.0,486.6,-22.6,71358,23215,318.6,480.5,-161.8,65059,32559,20.7,10195],[10182,567.1,599.9,-32.7,85261,28051,575.2,601.2,-26.1,85531,26443,396.1,600.0,-203.9,79420,39849,19.8,11104],[10183,624.7,663.4,-38.8,86643,28591,633.1,664.2,-31.1,86635,26557,401.3,664.7,-263.4,80689,40857,20.1,11501],[10184,515.3,552.4,-37.1,66409,24441,522.6,554.7,-32.1,66433,22992,305.8,551.0,-245.3,61622,32395,19.7,9340],[10185,534.6,572.0,-37.3,78044,26368,545.6,575.6,-30.0,78506,24521,350.3,566.3,-216.0,72278,34875,20.1,10781],[10186,568.5,600.9,-32.4,73298,26640,575.5,601.6,-26.2,73215,24722,337.7,595.7,-258.0,67549,35767,19.7,10284],[10187,540.3,581.1,-40.8,76087,25044,551.7,587.3,-35.6,76597,23534,351.8,587.2,-235.4,71820,34667,18.8,10148],[10188,525.1,556.5,-31.4,79554,26167,533.4,557.8,-24.4,79826,24323,365.3,554.2,-188.9,74180,37239,19.3,10673],[10189,709.2,749.4,-40.2,94933,30609,717.6,749.2,-31.6,94951,28257,440.3,757.3,-317.0,88996,43697,20.2,12446],[10190,652.7,689.2,-36.4,86687,27751,661.7,691.0,-29.3,86593,26388,402.6,694.9,-292.3,81128,40644,18.5,11463],[10191,655.1,694.2,-39.1,88954,27760,662.5,694.8,-32.3,89216,26095,415.8,702.1,-286.3,83371,40868,19.5,11719],[10192,657.1,694.1,-37.0,92994,29156,665.9,693.7,-27.9,93250,26495,427.7,700.5,-272.7,86509,42304,20.8,12150],[10193,574.5,607.8,-33.3,86326,28283,583.3,608.7,-25.3,86070,26115,394.7,605.2,-210.5,79808,38975,19.0,11921],[10194,504.8,537.1,-32.3,81175,27188,512.1,537.5,-25.4,80970,25249,361.2,531.9,-170.7,74223,36208,20.1,11091],[10195,547.3,579.4,-32.1,81269,26943,554.5,580.0,-25.5,81176,25364,372.8,581.9,-209.1,75073,37388,19.0,11243],[10196,575.1,612.5,-37.4,86340,28542,587.1,614.8,-27.6,86662,26572,393.1,612.6,-219.5,80233,39824,21.7,11841],[10197,437.2,463.6,-26.4,65128,23508,443.4,464.4,-21.1,65132,21998,296.3,459.4,-163.1,59588,31450,19.0,8980],[10198,550.6,584.8,-34.2,75006,26322,558.4,585.8,-27.4,75027,24608,346.4,584.2,-237.7,69687,35321,18.7,10716],[10199,478.6,512.9,-34.3,63992,23274,483.7,511.4,-27.7,64109,21491,295.6,508.7,-213.1,59192,30921,19.8,9004],[10200,553.2,585.1,-31.8,82258,26651,563.1,588.2,-25.1,82791,24875,380.2,583.5,-203.3,77101,37012,20.4,11186],[10201,474.4,502.9,-28.6,74562,24227,482.4,503.5,-21.0,74911,22273,342.3,500.7,-158.4,68893,33258,19.9,10233],[10202,559.9,593.2,-33.3,80879,26172,570.1,596.3,-26.2,81157,24139,371.0,589.3,-218.3,75617,37293,20.5,10817],[10203,609.8,646.0,-36.1,87565,28972,618.5,646.2,-27.7,87694,27106,401.5,643.8,-242.3,81002,40141,19.1,11234],[10204,450.4,479.5,-29.1,67534,24857,456.7,479.7,-23.0,67522,23083,313.2,475.9,-162.7,62647,32597,18.7,9646],[10205,414.6,438.7,-24.0,64621,22324,420.6,440.5,-19.9,64878,20969,287.8,433.0,-145.2,59112,29089,18.7,9705],[10206,515.5,544.6,-29.1,78539,25149,523.6,546.3,-22.6,78877,23134,364.6,549.0,-184.4,73439,35637,19.9,10513],[10207,628.4,666.4,-38.0,88881,30011,637.3,666.9,-29.6,88922,27905,415.2,670.9,-255.7,83248,42831,19.8,11479],[10208,619.7,698.8,-79.1,70096,25352,629.6,702.6,-73.0,70364,23760,322.9,695.5,-372.6,65399,33868,19.8,9646],[10209,546.9,578.3,-31.4,74186,24997,554.0,580.4,-26.3,74508,23714,347.9,579.1,-231.3,69306,35400,19.4,9957],[10210,422.5,447.3,-24.8,63518,22148,427.1,446.5,-19.4,63716,20521,292.6,448.0,-155.3,58780,30199,18.3,8871],[10211,434.9,459.4,-24.5,62980,21835,441.7,461.1,-19.4,63041,20305,284.8,452.7,-167.9,57751,28976,19.5,9239],[10212,618.5,654.1,-35.6,89834,28913,630.2,657.7,-27.5,90156,26896,419.0,661.0,-242.0,83897,41580,19.7,11525],[10213,575.8,607.9,-32.1,84552,26857,583.9,609.3,-25.4,84550,25221,384.7,607.9,-223.2,78220,37817,20.2,11622],[10214,568.0,601.9,-33.9,90826,28502,578.6,605.3,-26.7,91528,26328,412.3,601.0,-188.7,84371,39905,20.5,11959],[10215,450.8,480.5,-29.8,65496,23762,457.4,479.6,-22.1,65390,22097,302.5,480.2,-177.7,60700,32165,20.0,9685],[10216,448.5,475.8,-27.3,60417,22801,454.9,476.6,-21.7,60782,21466,281.9,477.4,-195.5,56153,31274,19.0,8573],[10217,657.4,697.8,-40.4,93398,31151,668.6,699.6,-31.0,93444,28922,432.7,699.9,-267.3,87702,44801,20.5,12052],[10218,625.4,659.7,-34.3,89933,29016,633.7,661.3,-27.6,90199,27477,420.9,667.4,-246.5,84372,41512,18.6,12301],[10219,518.0,551.1,-33.1,83790,27298,524.9,549.8,-24.9,83955,24903,377.1,547.2,-170.0,76588,37161,20.7,11409],[10220,512.0,550.2,-38.2,63265,23650,518.5,551.0,-32.6,63406,21918,293.7,549.1,-255.4,58518,32104,19.7,8710],[10221,530.3,566.5,-36.2,66735,25754,537.0,567.1,-30.1,66802,24014,313.4,571.5,-258.1,62560,34804,18.3,9234],[10222,612.2,647.7,-35.4,82872,28302,621.7,648.8,-27.1,83210,26171,381.6,646.3,-264.7,77034,40012,19.8,10682],[10223,654.8,693.2,-38.4,86332,28470,664.0,695.8,-31.7,86475,26605,397.9,692.4,-294.5,80259,39569,19.6,11956],[10224,427.7,455.5,-27.8,64986,22238,436.9,459.0,-22.1,65273,20352,290.0,451.6,-161.6,59507,29044,20.2,9533],[10225,476.1,503.9,-27.8,72986,24446,484.1,506.8,-22.7,73050,23003,330.8,501.2,-170.4,67418,33332,19.3,10583],[10226,699.4,735.9,-36.5,92564,29180,707.8,737.5,-29.7,92627,27723,432.2,739.1,-307.0,86442,41952,18.9,11615],[10227,439.4,464.1,-24.7,64761,22274,446.8,466.6,-19.8,64908,20656,291.5,459.7,-168.2,59134,29431,19.6,9224],[10228,532.9,564.5,-31.6,83870,26205,542.3,566.2,-24.0,83534,24072,378.1,559.6,-181.5,77504,36402,20.4,11483],[10229,425.2,450.5,-25.3,70031,22925,433.7,454.3,-20.6,70285,21562,307.0,442.7,-135.8,63798,30748,19.9,10060],[10230,626.5,663.7,-37.2,93527,29817,634.0,662.6,-28.6,93846,27758,432.9,665.6,-232.7,87536,43048,19.9,11890],[10231,685.6,722.6,-37.1,90281,29733,696.7,726.7,-30.0,90642,28098,427.6,731.4,-303.7,85486,43364,18.7,11870],[10232,496.1,525.5,-29.4,72065,24500,502.6,525.8,-23.2,72285,22898,328.3,524.8,-196.4,66921,33425,19.9,10244],[10233,443.3,470.3,-27.0,67844,23834,448.7,470.4,-21.7,67777,22529,315.3,466.2,-150.9,63125,32166,17.7,9463],[10234,533.5,566.9,-33.4,74256,25933,539.9,566.2,-26.3,74716,24415,351.3,571.1,-219.8,69393,35677,19.4,10348],[10235,653.8,691.6,-37.8,84940,27867,663.1,693.2,-30.0,85023,25803,394.9,702.8,-307.9,79650,40523,19.4,10698],[10236,437.2,464.0,-26.7,69795,23048,445.6,466.3,-20.7,70210,21228,318.4,466.9,-148.6,64918,31569,20.4,10118],[10237,636.6,672.5,-36.0,87182,29128,645.7,673.9,-28.2,87369,27179,412.5,682.8,-270.2,81928,42688,18.7,11622],[10238,446.0,479.1,-33.1,58597,23466,454.8,481.6,-26.8,58865,21767,272.0,477.7,-205.7,54799,30492,19.2,8539],[10239,593.1,627.5,-34.3,83141,27871,603.9,631.3,-27.4,83419,26226,383.6,629.3,-245.7,77535,38833,20.6,11300],[10240,590.8,634.7,-43.9,83109,27259,603.9,639.5,-35.6,83499,25211,372.0,632.8,-260.8,76249,37092,21.7,11308],[10241,399.1,424.9,-25.7,60078,21427,406.8,427.6,-20.8,60363,19996,268.2,419.9,-151.7,55028,27512,20.3,8859],[10242,417.0,442.7,-25.6,59676,21072,425.5,444.8,-19.3,59468,19573,273.9,441.2,-167.3,55176,29145,18.8,8795],[10243,613.9,687.2,-73.3,73697,26726,621.4,687.7,-66.3,73657,24733,339.5,679.0,-339.5,68132,35410,18.3,10083],[10244,434.8,461.4,-26.6,64351,23424,440.8,462.2,-21.3,64500,21799,295.4,459.5,-164.1,59275,31081,18.5,9511],[10245,590.8,624.1,-33.3,83856,27581,600.1,626.3,-26.2,84022,25643,388.4,630.2,-241.7,78443,39383,20.7,11185],[10246,554.1,586.6,-32.5,83037,27203,563.3,588.9,-25.6,83030,25591,371.7,588.7,-217.0,76191,37350,19.7,11366],[10247,494.0,524.7,-30.7,77184,25879,504.9,528.6,-23.7,77279,23846,350.1,523.0,-173.0,71052,35391,20.2,10634],[10248,491.8,521.7,-29.8,79370,25718,499.5,522.9,-23.4,79583,23742,356.7,517.5,-160.8,73207,35339,20.6,10663],[10249,529.7,561.3,-31.6,77590,26305,537.0,561.2,-24.3,77630,24632,358.6,566.5,-207.9,72130,36422,18.8,10751],[10250,400.0,423.4,-23.3,61279,21137,407.1,426.2,-19.1,61403,19933,272.1,415.0,-143.0,55996,27237,19.4,9233],[10251,380.6,405.6,-25.0,59748,22481,386.2,406.1,-19.8,59863,20963,266.7,398.4,-131.7,54936,28122,19.2,9071],[10252,391.4,416.3,-24.9,59633,21688,399.8,419.6,-19.9,60196,20226,266.4,408.8,-142.4,55149,28424,20.9,8629],[10253,571.0,603.6,-32.6,89105,27681,581.5,606.8,-25.3,89485,25797,400.7,598.5,-197.8,82205,38391,20.0,12140],[10254,496.6,526.6,-29.9,66556,25331,502.5,527.2,-24.7,66520,23957,305.9,522.5,-216.5,61502,33380,18.7,9196],[10255,593.2,625.9,-32.7,87286,27834,601.8,627.8,-26.0,87228,26135,403.5,631.8,-228.3,81124,39774,19.6,11513]]},"ablation":{"name":"Hard classify every first own trade at a new timestamp as arb","change":"ap=1 if dt>0 else 0; same frozen parameters, silence update, retail components and table","seeds":[10000,10063],"retuned":false,"metrics":{"edge":{"n":64,"mean":401.3360857536566,"SE":11.062029621017755,"CI95_normal":[379.6545076964618,423.01766381085145]},"retail_edge":563.8937254325475,"arb_edge":-162.55763967889095,"retail_volume_Y":72899.79598038878,"arb_volume_Y":36211.35580431979,"RMS_price_bps_own_post_trade":47.71347803714485,"post_trade_observations":593316,"arb_probability_Brier":0.343380256052424,"mean_inferred_arb_probability":0.6756753568081764},"paired_gain_over_soft_model":{"n":64,"mean":-117.0330522198535,"SE":3.4456777431804197,"CI95_normal":[-123.78658059648713,-110.27952384321988]},"paired_oracle_deficit":{"n":64,"mean":125.05373308932953,"SE":3.495533205054849,"CI95_normal":[118.20248800742202,131.90497817123702]},"columns":["seed","edge","retail_edge","arb_edge","retail_volume_Y","arb_volume_Y","RMS_price_bps","observations"],"per_seed":[[10000,330.6,461.5,-131.0,59642.4,32261.4,49.0,7542],[10001,440.6,598.2,-157.6,86119.7,40014.8,46.4,10778],[10002,422.0,551.6,-129.6,67189.6,36226.1,46.2,8752],[10003,421.5,597.8,-176.2,80536.4,39985.3,48.5,10154],[10004,381.5,538.9,-157.4,71269.6,37154.7,50.4,8883],[10005,391.0,552.1,-161.1,70856.4,36838.3,50.3,8929],[10006,373.9,502.7,-128.8,72621.9,35065.3,46.7,9216],[10007,410.0,546.8,-136.8,75168.2,36570.2,48.0,9666],[10008,496.1,674.9,-178.8,92248.6,41609.0,47.6,10949],[10009,517.3,673.7,-156.4,88418.2,40531.7,46.0,11024],[10010,372.9,496.5,-123.6,73301.4,35011.5,46.0,9662],[10011,279.4,384.9,-105.5,56054.3,29275.0,48.6,7335],[10012,352.3,479.0,-126.7,73370.0,35216.2,45.1,9461],[10013,300.1,420.2,-120.0,56047.4,29792.6,48.1,7571],[10014,526.3,735.1,-208.8,84879.3,40395.7,48.4,10101],[10015,487.0,652.1,-165.0,90254.9,42223.3,46.1,10894],[10016,375.5,626.0,-250.5,69028.0,36051.2,58.0,8770],[10017,376.4,515.2,-138.8,70044.2,35892.7,48.1,8954],[10018,375.8,501.8,-126.0,67775.4,35542.4,47.1,8482],[10019,296.9,471.6,-174.7,59664.7,32543.5,51.3,7466],[10020,349.0,506.9,-157.9,65176.7,34738.3,50.5,8234],[10021,330.7,428.4,-97.6,55161.3,29684.0,44.6,7436],[10022,340.5,459.7,-119.3,59424.5,31107.5,46.9,7914],[10023,512.4,657.9,-145.4,84359.6,40194.5,46.5,9878],[10024,362.1,498.2,-136.1,70800.8,35949.5,47.9,9490],[10025,330.6,467.3,-136.6,60488.5,31187.9,47.5,8349],[10026,258.4,362.9,-104.5,52233.8,28479.7,47.1,7408],[10027,404.8,572.6,-167.8,71702.1,37053.2,51.3,9190],[10028,353.2,556.7,-203.4,66419.6,35440.8,52.8,8320],[10029,356.1,454.1,-98.0,70159.6,33114.2,45.5,9293],[10030,473.4,620.4,-146.9,87065.7,40875.3,46.3,10789],[10031,263.0,354.5,-91.6,55856.3,29756.1,45.2,7821],[10032,466.7,659.3,-192.7,83884.6,40476.1,51.1,10039],[10033,441.6,554.9,-113.4,80078.4,37735.0,43.9,10078],[10034,418.8,580.9,-162.0,81780.7,38218.3,47.7,10413],[10035,516.4,667.6,-151.2,92281.9,42489.3,44.5,11325],[10036,411.7,563.9,-152.2,79629.3,37758.1,47.7,9868],[10037,353.0,462.6,-109.6,64299.9,33264.6,46.3,8431],[10038,486.9,642.8,-155.8,89876.7,40925.0,46.4,11457],[10039,468.6,615.5,-146.9,76384.6,37487.2,47.2,9708],[10040,492.7,638.7,-145.9,88805.9,42060.4,46.1,11141],[10041,510.0,654.1,-144.1,84107.7,39018.1,46.4,10253],[10042,529.6,739.6,-210.0,92147.0,43247.7,50.0,11073],[10043,506.6,659.9,-153.4,85612.1,40908.8,47.0,10492],[10044,326.3,435.0,-108.7,58845.9,31596.1,46.4,7575],[10045,311.7,404.2,-92.5,59714.3,31515.6,44.6,8073],[10046,331.4,453.9,-122.5,67649.9,35318.1,44.6,9154],[10047,479.7,619.7,-140.0,90062.5,41341.2,45.7,11138],[10048,404.5,513.8,-109.2,69255.2,33999.6,44.9,9082],[10049,277.9,399.1,-121.2,54917.2,29754.2,48.4,7520],[10050,268.5,386.7,-118.2,55755.4,30152.9,48.2,7758],[10051,298.6,439.0,-140.4,58434.5,31381.6,50.3,7531],[10052,328.0,450.9,-123.0,67089.3,34596.9,45.6,9112],[10053,429.2,556.8,-127.7,70880.8,35568.2,47.9,9080],[10054,316.9,466.7,-149.8,62341.2,33092.2,47.8,8212],[10055,522.1,733.7,-211.6,93680.1,43617.2,51.6,11262],[10056,452.0,609.3,-157.4,81961.6,39405.4,48.1,9872],[10057,379.7,535.9,-156.2,66894.8,35036.3,48.8,8619],[10058,344.6,455.6,-111.1,56676.8,30188.8,47.0,7795],[10059,369.2,533.0,-163.8,70207.2,36994.2,50.3,8994],[10060,743.8,2080.0,-1336.2,88844.9,43800.7,49.5,10326],[10061,427.8,582.8,-155.0,81015.7,39092.2,46.8,10346],[10062,494.3,624.6,-130.4,87224.4,39098.5,46.7,10643],[10063,315.2,448.5,-133.3,61907.3,32606.8,47.6,8235]]},"leakage_tests":{"commands":["python -m py_compile controller.py replica.py experiment.py freeze.py leakage.py","python leakage.py"],"results":{"passed":true,"events_replayed":9998,"first_timestamp_events":6574,"ambiguous_first_events":6574,"repeated_timestamp_events":3424,"fee_changes_under_truth_mutation":0,"latent_state_changes_under_truth_mutation":0,"initial_sampled_parameter_mutation":"identical fees","long_gap_steps":10000,"controller_signature":"(self, sell, ax, ay, t, x, y)","qualification":"checks inference separation and invariants, not estimator correctness"},"fit_eval_overlap":0,"forbidden_sources_read":false,"notes":"Truth mutation replay holds observables fixed; it tests inference isolation, not full counterfactual market dynamics. Only specified research files and pinned simulator source were read. No RS2 code, numba port, incumbent or other worker results used.","embedded_source_roundtrip":{"seed":10000,"steps":10000,"arms":3,"exact_full_precision_checkpoint_match":true,"leakage_replay_match":true},"source_refetch_check":{"urls":6,"quotes_exact":true,"sha256_exact":true}},"runtime":{"units":"wall seconds","training_512_runs":67.90551487496123,"evaluation_768_runs":54.104504083050415,"ablation_64_runs":7.5456372308544815,"workers":8,"total_scored_runs":1344,"steps_scored":13440000,"preliminary_64_runs_seconds":7.900034090038389,"setup":"pinned checkout setup.sh completed, starter validation passed; real-engine scoring not run"},"port_state_cost_estimate":{"persistent_scalar_words_minimum":6,"persistent_bytes_at_32_bytes_per_word":192,"diagnostic_posterior_words_optional":3,"constant_table_entries":35,"bound":"At most 32 silent truncations plus three branch likelihoods/updates, six table interpolations and six fee exponentials per swap. erf/log/exp need fixed-point approximations; no Solidity implementation or gas measurement.","measured_gas":null,"under_245k_gas_demonstrated":false},"limitations":["Replica-only scores; Python/Rust random streams and configuration generation differ. No board-score conversion claimed; no real-engine per-seed/gas result exists.","A three-branch assumed-density filter is not an exact posterior: persistent multimodality is collapsed. Branch likelihoods and arb prior are heuristics selected only on training.","Constant midpoint volatility, no learned sigma; retail likelihood ignores exact router censoring/order-size density, and long silence is approximated after 32 steps.","RMS is log-price error in bps at own post-trade callbacks, not time-weighted error across all simulation steps; it overrepresents active periods.","Hard first-arb ablation deliberately violates ambiguity to test the importance of soft classification; it is not the proposed controller.","Fixed 35bps and privileged oracle arms share initialization at 35bps; published oracle-table score may use different initial fees/seeds.","No RS2 arm was read or run. No inference about +4.6 over RS2 or top-10 qualification follows; no 4000-seed confirmation performed."],"dead_ends":[{"description":"Other three preset configurations lost to selected model on the exact training set; no tenths-scale local tuning.","training_mean_edges":{"0":514.6098724299945,"1":522.335852851416,"2":501.1341983132565,"3":518.9340811344123}},{"description":"Holdout remaining gap to privileged true-price/true-label table","paired_mean_deficit":7.952985020833667},{"description":"Hard first-arb ablation relative to soft model","paired_mean_gain":-117.0330522198535}],"remaining_work":["Exact retail/router likelihood and persistent mixture states if this screen warrants a new item.","Solidity port, fixed-point parity and gas validation, then real-engine evaluation before any qualification claim."]}