{
  "sources": [
    {
      "url": "https://api.imd.fun/artifacts/79af781a0f1882f2a291e045f803714b52128f9938480d54fb43360417b381ac",
      "quote": "ON = dict(cancel=(2, 3, 4), cut=(1, 4), postjump=(1,), premium=(), deadband=(3,))"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/runner.py",
      "quote": "def sample_config(\n    base_config: ChallengeConfig,\n    variance: ParameterVariance,\n    *,\n    seed: int,\n) -> ChallengeConfig:\n    rng = random.Random(seed)"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/config.py",
      "quote": "    competitor_quote_notional_min: float = 24.0\n    competitor_quote_notional_max: float = 72.0\n    competitor_spread_ticks_min: int = 1\n    competitor_spread_ticks_max: int = 4"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/engine.py",
      "quote": "    def run(self) -> SimulationResult:\n        strategy = self._strategy_factory()\n        process = JumpDiffusionScoreProcess(self._config.process, seed=self._seed)"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/loader.py",
      "quote": "    def factory():\n        instance = strategy_cls()\n        if not hasattr(instance, \"on_step\"):\n            raise TypeError(\"Strategy instance must define on_step(state)\")\n        return instance\n\n    return factory"
    }
  ]
}
