{
  "sources": [
    {
      "url": "https://api.imd.fun/artifacts/5ec4e47200eb5e16cec281f133e5e7fbfd73b3157fcf5f2c60d013ffa9300b76",
      "quote": "\"approach\": \"Keeps the base (tick probes, sub-tick belief, quotes one tick inside the competitor, marginal sizing, resting orders,"
    },
    {
      "url": "https://api.imd.fun/artifacts/a827032c7db9fbc7d01eced23ae09ad83919c67961fc5e956b7c7aed890df1c9",
      "quote": "\"approach\": \"Keeps the base (0.01-share probes, sub-tick grid filter, quotes one tick inside the competitor sized by the"
    },
    {
      "url": "https://api.imd.fun/artifacts/d3ff83a7fc00bc1b69254d96e49cb9ea9f0d570b9b4a494787a977ee2e4d55c0",
      "quote": "\"approach\": \"Retains the base passive quoter, queue-priority management and low-price YES inventory policy, but replaces the probability-space grid"
    },
    {
      "url": "https://api.imd.fun/artifacts/a8afb4f3e07c2706c744f31619d07e34c3b509349b59314690dcc1ce00ce3d56",
      "quote": "\"approach\": \"Builds on the base probe orders, sub-tick probability filter, marginal sizing, FIFO retention and cheap YES collateral"
    },
    {
      "url": "https://api.imd.fun/artifacts/8b70d9d970e8ae7bc0ae9d0115ee2f06340082aa7ebc80d11ca0a5810e26988a",
      "quote": "\"approach\": \"Retains the base\\u2019s tiny tick probes, filtered sub-tick probability estimate, queue-preserving orders, marginal retail-versus-arbitrage quote sizing, and"
    },
    {
      "url": "https://api.imd.fun/artifacts/b6188d966df3be38f92205625f63960acd2cd14fb76c8463c0a9e768ec6ea9e9",
      "quote": "\"approach\": \"Retains the base tick probes, sub-tick filter, marginal edge sizing, inventory financing and FIFO order retention. Accounting"
    },
    {
      "url": "https://api.imd.fun/artifacts/341d096827c6ba4069d8400581e8497fcb8d1a1cc519d18f579b2dd621d49a12",
      "quote": "\"approach\": \"Preserves the base's tick probes, sub-tick probability filter, marginal sizing and FIFO queue retention, while planning collateral"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/docs/orderbook_prediction_market_challenge.md",
      "quote": "# FIFO Orderbook Prediction Market Challenge\n\n## Overview\n\nThis challenge uses one shared FIFO limit order book for"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/results.py",
      "quote": "    def mean_edge(self) -> float:\n        successes = [result.total_edge for result in self.simulation_results if not result.failed]\n        return sum(successes) / len(successes)"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/runner.py",
      "quote": "    results = []\n    for offset in range(count):\n        seed = seed_start + offset\n        config = sample_config(base, var, seed=seed)\n        engine"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/market.py",
      "quote": "            for order in sorted(\n                self._participant_orders(),\n                key=lambda order: (\n                    order.side.value,\n                    order.price_ticks if order.side is Side.SELL else -order.price_ticks,\n                    order.sequence,\n                ),"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/loader.py",
      "quote": "    strategy_cls = getattr(module, \"Strategy\", None)\n    if strategy_cls is None:\n        raise AttributeError(f\"{path} does not define a Strategy class\")\n\n    def"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/cli.py",
      "quote": "    if args.json:\n        print(json.dumps(asdict(batch), indent=2))\n        return 0\n\n    print(f\"Simulations: {len(batch.simulation_results)}\")\n    print(f\"Successes: {batch.success_count}\")\n    print(f\"Failures: {batch.failure_count}\")\n    print(f\"Mean Edge: {batch.mean_edge:.6f}\")\n    print(f\"Mean Retail Edge:"
    }
  ]
}
