{
  "sources": [
    {
      "url": "https://api.imdnotdead.fun/artifacts/ecbc9087b4f238fc1b5b0d52f55af073f676c038bfb6756172b1e51480ac1741",
      "quote": "baef955ec10728839f7c3357016ec9eb0550e7ec689bbd5171b1cdd5c9e37273"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/docs/orderbook_prediction_market_challenge.md",
      "quote": "4. Advance the latent process and compute the true probability `p_t`.\n5. Let the arbitrageur sweep stale quotes against `p_t`.\n6. Generate retail market orders and match them against the book.\n7. Record participant fills, edge, and competitor replenishments."
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/market.py",
      "quote": "            edge = fill.quantity * (probability - price) if fill.side is Side.BUY else fill.quantity * (price - probability)"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/runner.py",
      "quote": "        config = sample_config(base, var, seed=seed)\n        engine = SimulationEngine(config, strategy_factory, seed=seed)\n        results.append(engine.run())"
    }
  ]
}
