{
  "key": "f-entropy-probes",
  "approach": "Blind composition over opaque N (SHA-256 bf0d179f3e47d28819f6fa7e0d25548c2ced43374c216d36460b00a26a26ffae). Maintain a 100-bin approximate probability posterior from competitor quotes and probe survival/fills, with a heuristic 0.15 retail-fill likelihood and diffusion/jump smoothing. Put 0.01-share bid/ask probes at constrained posterior terciles, maximizing the joint ternary-response entropy approximately. Hide probe orders from N; after a sufficiently credible adverse probe fill, cancel or suppress same-side N orders at least as aggressive. Conservative collateral checks can omit probes. Only the frozen first-step spread set is active.",
  "tried": [
    {
      "incumbent_seed_310000_edge": 17.1160017503,
      "expected_rounded_edge": 17.116002,
      "seed_check_matches": true,
      "off_check_seeds": [
        310000,
        310009
      ],
      "off_full_result_equal": true,
      "off_equal_action_lists": 20000,
      "assembled_check_seeds": [
        310000,
        310004
      ],
      "assembled_full_result_equal": true,
      "simulator_commit": "b244530ee2a6247b5f930830eeca9dd950da0e7e",
      "steps": 2000,
      "config": "unmodified default ChallengeConfig and default ParameterVariance",
      "execution": "single OS process; no workers or sandbox",
      "blind": true
    },
    {
      "confidence": 0.8,
      "spreads": [
        1,
        2,
        3,
        4
      ],
      "code_sha256": "203ffc47633fac40bdd74b61f93d62168114b785f34f3dc16b463f5e310a981c",
      "summary": {
        "runs": 200,
        "incumbent_mean": 85.16265316504199,
        "mean_diff": -2.769345260713001,
        "se": 0.3930754494866525,
        "sum_d": -553.8690521426001,
        "sum_d2": 7683.285332374242,
        "retail_diff": -0.8122165573990004,
        "arb_diff": -1.9571287033614997
      },
      "by_spread": {
        "1": {
          "runs": 47,
          "incumbent_mean": 30.59600304578298,
          "mean_diff": -1.069827449117022,
          "se": 0.6384696621306372,
          "sum_d": -50.28189010850004,
          "sum_d2": 935.1182136866951,
          "retail_diff": -0.9168526472851075,
          "arb_diff": -0.1529748020829786
        },
        "2": {
          "runs": 57,
          "incumbent_mean": 81.35713208259824,
          "mean_diff": -2.8237589423701754,
          "se": 0.5233439550481653,
          "sum_d": -160.9542597151,
          "sum_d2": 1328.7493839342612,
          "retail_diff": -0.7375162359192989,
          "arb_diff": -2.0862427065947364
        },
        "3": {
          "runs": 53,
          "incumbent_mean": 115.06691980369057,
          "mean_diff": -3.5965402311773595,
          "se": 0.8113127083690075,
          "sum_d": -190.61663225240005,
          "sum_d2": 2499.6376110847623,
          "retail_diff": -1.0098358743452838,
          "arb_diff": -2.5867043567433954
        },
        "4": {
          "runs": 43,
          "incumbent_mean": 112.9910514314628,
          "mean_diff": -3.535262094572094,
          "se": 1.148537219412777,
          "sum_d": -152.01627006660004,
          "sum_d2": 2919.7801236685236,
          "retail_diff": -0.5532909365046504,
          "arb_diff": -2.9819711579325583
        }
      }
    },
    {
      "confidence": 0.95,
      "spreads": [
        1,
        2,
        3,
        4
      ],
      "code_sha256": "41a479e51e6e7510c3cb4760c3de88c47d1c19128a5599270ba56c5565744e7d",
      "summary": {
        "runs": 200,
        "incumbent_mean": 85.16265316504199,
        "mean_diff": -0.6796294856240007,
        "se": 0.18167981574544725,
        "sum_d": -135.92589712480014,
        "sum_d2": 1406.0799544280358,
        "retail_diff": -0.05850679072299973,
        "arb_diff": -0.6211226949459996
      },
      "by_spread": {
        "1": {
          "runs": 47,
          "incumbent_mean": 30.59600304578298,
          "mean_diff": -0.5087396722021283,
          "se": 0.46595717249827756,
          "sum_d": -23.910764593500033,
          "sum_d2": 481.5693337761981,
          "retail_diff": 0.22250240278723246,
          "arb_diff": -0.7312420751531915
        },
        "2": {
          "runs": 57,
          "incumbent_mean": 81.35713208259824,
          "mean_diff": -0.4883327713964901,
          "se": 0.26540147505293893,
          "sum_d": -27.834967969599937,
          "sum_d2": 238.43064097952742,
          "retail_diff": -0.11825367809824408,
          "arb_diff": -0.37007909335964884
        },
        "3": {
          "runs": 53,
          "incumbent_mean": 115.06691980369057,
          "mean_diff": -0.876513529641513,
          "se": 0.29339208040500553,
          "sum_d": -46.455217071000185,
          "sum_d2": 277.9521100842687,
          "retail_diff": -0.15107880679056507,
          "arb_diff": -0.7254347228679234
        },
        "4": {
          "runs": 43,
          "incumbent_mean": 112.9910514314628,
          "mean_diff": -0.877324360248837,
          "se": 0.4556953810043928,
          "sum_d": -37.72494749069999,
          "sum_d2": 408.1278695880414,
          "retail_diff": -0.17235662009534908,
          "arb_diff": -0.7049677400813956
        }
      }
    },
    {
      "selection": "Maximum full-200-seed paired mean among both thresholds and all 15 nonempty spread subsets; inactive spreads have zero difference by construction.",
      "frozen_confidence": 0.95,
      "frozen_spreads": [
        1
      ],
      "holdout_policy": "Frozen before first holdout simulation; every holdout seed run exactly once per strategy. No seeds 900000..903999 run."
    }
  ],
  "next": "Retain N. This overlay has no statistically supported holdout gain and does not reduce arbitrage loss. Do not promote or consume finalist seeds for this implementation.",
  "spreads_acted": [
    1
  ],
  "off_equals_n": true,
  "code": "from dataclasses import replace as _probe_replace\nfrom orderbook_pm_challenge.types import PlaceOrder as _PPlace, CancelOrder as _PCancel, CancelAll as _PAll, Side as _PSide\n\nclass Strategy(BaseStrategy):\n    # Joint ternary entropy probes: thresholds at posterior terciles.\n    SPREADS = (1,)\n    CONFIDENCE = 0.95\n    ENABLED = True\n\n    def __init__(self):\n        self.n = _N()\n        self.spread = None\n        self.probes = {}\n        self.weights = None\n\n    def on_step(self, state):\n        if self.spread is None:\n            b, a = state.competitor_best_bid_ticks, state.competitor_best_ask_ticks\n            self.spread = max(1, (a-b+1)//2) if b is not None and a is not None else 0\n        if not self.ENABLED or self.spread not in self.SPREADS:\n            return self.n.on_step(state)\n        visible = {o.order_id: o for o in state.own_orders}\n        hidden = tuple(o for o in state.own_orders if o.order_id not in self.probes)\n        actions = list(self.n.on_step(_probe_replace(state, own_orders=hidden)))\n        w = self.weights\n        evidence = []\n        if w is not None:\n            for oid, (side, tick) in self.probes.items():\n                filled = oid not in visible\n                adverse = sum(v for i,v in enumerate(w) if (i+0.5 < tick if side == _PSide.BUY else i+0.5 > tick))\n                confidence = adverse / max(1e-15, adverse + 0.15*(1-adverse))\n                if filled and confidence >= self.CONFIDENCE:\n                    evidence.append((side, tick))\n                # Surviving a full arbitrage pass is a hard inequality;\n                # fills may instead be caused by a retail order.\n                for i in range(100):\n                    bad = i+0.5 < tick if side == _PSide.BUY else i+0.5 > tick\n                    w[i] *= (1.0 if bad else 0.15) if filled else (0.0 if bad else 0.85)\n                norm = sum(w)\n                if norm > 1e-15:\n                    w = [v/norm for v in w]\n        b, a = state.competitor_best_bid_ticks, state.competitor_best_ask_ticks\n        lo, hi = b if b is not None else 0, a if a is not None else 100\n        if w is None:\n            w = [float(lo <= i+0.5 <= hi) for i in range(100)]\n        else:\n            w = [v if lo <= i+0.5 <= hi else 0.0 for i,v in enumerate(w)]\n        total = sum(w)\n        if total <= 1e-15:\n            w = [float(lo <= i+0.5 <= hi) for i in range(100)]\n            total = sum(w)\n        if total <= 0:\n            w = [1.0]*100\n            total = 100.0\n        w = [v/total for v in w]\n        # Predict the next probability, allowing diffusion and occasional jumps.\n        radius = 1 if state.steps_remaining > 200 else 2\n        predicted = [0.0]*100\n        for i,v in enumerate(w):\n            for j in range(max(0,i-radius), min(100,i+radius+1)):\n                predicted[j] += 0.98*v/(min(99,i+radius)-max(0,i-radius)+1)\n        for i in range(100):\n            predicted[i] += 0.02/100\n        self.weights = predicted\n        # Remove old probes before applying N's requested actions.\n        out = [_PCancel(oid) for oid in self.probes if oid in visible]\n        live = {o.order_id: (o.side,o.price_ticks,o.remaining_quantity) for o in hidden}\n        # Track only explicit client ids; anonymous new orders can be dropped\n        # immediately when stale, without needing their simulator-generated ids.\n        def stale(side,tick):\n            return any(side == s and (tick >= p if s == _PSide.BUY else tick <= p) for s,p in evidence)\n        anon = 0\n        for act in actions:\n            if isinstance(act,_PAll):\n                live.clear()\n                out.append(act)\n            elif isinstance(act,_PCancel):\n                live.pop(act.order_id,None)\n                out.append(act)\n            elif isinstance(act,_PPlace):\n                if stale(act.side,act.price_ticks):\n                    continue\n                out.append(act)\n                oid = act.client_order_id\n                if oid is None:\n                    anon += 1\n                    oid = ('anonymous',anon)\n                live[oid] = (act.side,act.price_ticks,act.quantity)\n            else:\n                out.append(act)\n        for oid,(side,tick,q) in list(live.items()):\n            if isinstance(oid,str) and stale(side,tick):\n                out.append(_PCancel(oid))\n                del live[oid]\n        # Conservative collateral bound: charge every sell as uncovered.\n        available = state.cash - sum((tick/100 if side == _PSide.BUY else 1-tick/100)*q for side,tick,q in live.values())\n        self.probes = {}\n        if b is None or a is None or a-b < 2:\n            return out\n        thresholds = []\n        for target in (1/3,2/3):\n            cdf = 0.0\n            tick = b+1\n            for i,v in enumerate(predicted):\n                cdf += v\n                if cdf >= target:\n                    tick = round(i+0.5)\n                    break\n            thresholds.append(max(b+1,min(a-1,tick)))\n        for side,tick in zip((_PSide.BUY,_PSide.SELL),thresholds):\n            cost = 0.01*(tick/100 if side == _PSide.BUY else 1-tick/100)\n            if 1 <= tick <= 99 and available >= cost+1e-8:\n                oid = '__entropy_probe_%s_%d' % (side.value,state.step)\n                out.append(_PPlace(side,tick,0.01,oid))\n                self.probes[oid] = (side,tick)\n                available -= cost\n        return out\n",
  "code_sha256": "fc562ab21035eb7ae20ce368d4d241af15056d3e5d49e643ac658f3f6fbd4750",
  "assembled_sha256": "6d6b3416ff55a109227d23406a621507cba53b41ef1f6c66c3fa2100ea02f188",
  "tuning": {
    "n": 200,
    "mean_diff": -0.11955382296750017,
    "se": 0.10967181633384236
  },
  "paired": {
    "first_seed": 410000,
    "last_seed": 410499,
    "n": 500,
    "complete": true,
    "incumbent_mean": 104.4137531881468,
    "mean_diff": 0.04308369514640007,
    "se": 0.1294094053714322,
    "sum_d": 21.541847573200034,
    "sum_d2": 4179.253254941355,
    "retail_diff": 0.08762716991220028,
    "arb_diff": -0.04454347478040007,
    "failures": 0
  },
  "by_spread": {
    "1": {
      "runs": 115,
      "incumbent_mean": 28.495154459731307,
      "mean_diff": 0.1873204136800003,
      "se": 0.5643366212245237,
      "sum_d": 21.541847573200034,
      "sum_d2": 4179.253254941355,
      "retail_diff": 0.38098769527043597,
      "arb_diff": -0.19366728165391334
    },
    "2": {
      "runs": 116,
      "incumbent_mean": 97.76626247947758,
      "mean_diff": 0.0,
      "se": 0.0,
      "sum_d": 0.0,
      "sum_d2": 0.0,
      "retail_diff": 0.0,
      "arb_diff": 0.0
    },
    "3": {
      "runs": 138,
      "incumbent_mean": 128.4054514027384,
      "mean_diff": 0.0,
      "se": 0.0,
      "sum_d": 0.0,
      "sum_d2": 0.0,
      "retail_diff": 0.0,
      "arb_diff": 0.0
    },
    "4": {
      "runs": 131,
      "incumbent_mean": 151.67248160310686,
      "mean_diff": 0.0,
      "se": 0.0,
      "sum_d": 0.0,
      "sum_d2": 0.0,
      "retail_diff": 0.0,
      "arb_diff": 0.0
    }
  },
  "seconds_per_simulation": 1.5937193296980112
}
