{
  "sources": [
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/README.md",
      "quote": "The contract settles to `1` if the latent score finishes above `0`, otherwise\nit settles to `0`."
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/docs/orderbook_prediction_market_challenge.md",
      "quote": "The score is participant edge, not terminal PnL."
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/config.py",
      "quote": "class ParameterVariance:\n    \"\"\"Recommended simulation-randomization bands.\"\"\""
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/types.py",
      "quote": "    competitor_best_bid_ticks: int | None\n    competitor_best_ask_ticks: int | None\n    buy_filled_quantity: float\n    sell_filled_quantity: float"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/strategy.py",
      "quote": "    def on_step(self, state: StepState) -> Sequence[Action]:"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/engine.py",
      "quote": "                process.step()\n                probability = process.current_true_probability()"
    },
    {
      "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": "    for offset in range(count):\n        seed = seed_start + offset\n        config = sample_config(base, var, seed=seed)\n        engine = SimulationEngine(config, strategy_factory, seed=seed)\n        results.append(engine.run())"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/process.py",
      "quote": "    \"\"\"Exact conditional probability that the terminal score finishes above zero."
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/retail.py",
      "quote": "            notional = self._rng.lognormvariate(mu_ln, sigma)"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/loader.py",
      "quote": "    strategy_cls = getattr(module, \"Strategy\", None)"
    },
    {
      "url": "https://api.imdnotdead.fun/artifacts/04e37cd4e1a420b91cd7a012f416e6ebf1002c5c56867981741a3a77c72b9c48",
      "quote": "bde43171c0191751c603d429d3c46ce55bae11086c2826bbb386c9e7ad58c470"
    }
  ]
}
