{"approach":"Blind S0 passive quoting behind the observed competitor best by one tick, with size larger near the midpoint; S1 changes only the quote tick: when inferred best-level size is at least 0.90 shares, improve that side by one tick, otherwise remain behind.","tried":[{"name":"S0 behind-1 size-1.0","tuning_score":-27.6861191856092},{"name":"S0 behind-2 size-1.0","tuning_score":-30.2431929011258},{"name":"S0 behind-1 size-0.7","tuning_score":-28.181557970132598},{"name":"S0 behind-1 size-1.3 (frozen)","tuning_score":-26.9186649120148},{"name":"S1 queue-0.75","tuning_score":-13.277500400447199},{"name":"S1 queue-0.90 size-1.3 (frozen)","tuning_score":-12.232226828161199},{"name":"S1 queue-1.05","tuning_score":-13.277500400447199},{"name":"S1 queue-0.90 size-0.7","tuning_score":-14.291406520520601}],"next":"The mechanism improved S0 on the prescribed 1,000 paired holdout seeds, but remains far below the supplied B reference; test a mechanism with directly observable queue size if the API is extended.","code":"from orderbook_pm_challenge.types import CancelAll, PlaceOrder, Side\n\n\nclass Strategy:\n    offset = 1\n    size_scale = 1.3\n    inferred_notional = 48.0\n    large_queue = 0.90\n\n    def on_step(self, state):\n        bid = state.competitor_best_bid_ticks or 49\n        ask = state.competitor_best_ask_ticks or 51\n        mid = (bid + ask) / 200.0\n        size = max(1.0, min(6.0, self.size_scale * 3.0 / (0.5 + 4.0 * abs(mid - 0.5))))\n        bid_large = bid > 0 and self.inferred_notional / (bid / 100.0) >= self.large_queue\n        ask_large = ask > 0 and self.inferred_notional / (ask / 100.0) >= self.large_queue\n        bid_tick = bid + 1 if bid_large else bid - self.offset\n        ask_tick = ask - 1 if ask_large else ask + self.offset\n        actions = [CancelAll()]\n        if state.yes_inventory < 80.0:\n            actions.append(PlaceOrder(Side.BUY, max(1, min(99, bid_tick)), size))\n        if state.no_inventory < 80.0 and state.free_cash > 2.0:\n            actions.append(PlaceOrder(Side.SELL, max(1, min(99, ask_tick)), size))\n        return actions\n","code_sha256":"164e3bf421f8870cae4b58d838d19b21a9558a793c6610f9243e7d37a326eac7","code_s0":"from orderbook_pm_challenge.types import CancelAll, PlaceOrder, Side\n\n\nclass Strategy:\n    offset = 1\n    size_scale = 1.3\n\n    def on_step(self, state):\n        bid = state.competitor_best_bid_ticks or 49\n        ask = state.competitor_best_ask_ticks or 51\n        mid = (bid + ask) / 200.0\n        size = max(1.0, min(6.0, self.size_scale * 3.0 / (0.5 + 4.0 * abs(mid - 0.5))))\n        actions = [CancelAll()]\n        if state.yes_inventory < 80.0:\n            actions.append(PlaceOrder(Side.BUY, max(1, bid - self.offset), size))\n        if state.no_inventory < 80.0 and state.free_cash > 2.0:\n            actions.append(PlaceOrder(Side.SELL, min(99, ask + self.offset), size))\n        return actions\n","tuning_score":{"seeds":"115000..115499","n":500,"s1_mean":-12.232226828161199,"s0_mean":-26.9186649120148},"paired":{"seeds":"200000..200999","n":1000,"complete":true,"mechanism_diff":13.8750163264264,"mechanism_se":1.1080948504478247,"mechanism_retail_diff":3.6033509491395996,"mechanism_arb_diff":10.2716653772908,"reference_diff":-112.467541302388,"reference_se":6.3806458745624335,"s1_mean":-12.771663150005699,"s0_mean":-26.646679476432098,"b_mean":99.69587815238229,"failures":[]},"graft":"Read competitor_best_bid_ticks and competitor_best_ask_ticks. Estimate best-level shares as 48.0 divided by price. If that estimate is >= 0.90, quote one tick inside that side; otherwise quote one tick behind it. Keep the existing strategy's sizing and inventory limits.","seconds_per_simulation":0.18}
