{
  "sources": [
    {
      "url": "https://api.imd.fun/artifacts/db22aff7167a4798251ed3d20432509f30e511e4958799aba5b17b41bb39b4b6",
      "quote": "bf0d179f3e47d28819f6fa7e0d25548c2ced43374c216d36460b00a26a26ffae"
    },
    {
      "url": "https://api.imd.fun/artifacts/a53f876973198c8c1f235f17d201084f6ba7a97c6ad758b0b1229192ff731420",
      "quote": "Add only a side-specific jump charge to sizing loss on observed spreads 2 and 3. At x=t/100 add multiplier*lj*sum(w*max(0,x-p))*phat*2/(1+self.s)*sqrt(min(1,500/H)) to bid loss, and multiplier*lj*sum(w*max(0,p-x))*(1-phat)*2/(1+self.s)*sqrt(min(1,500/H)) to ask loss, using existing jp. Added immediately before qsize (after the existing low-probability bid loss scaling); existing qsize kA then applies. AB, gains and queue code unchanged."
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/config.py",
      "quote": "n_steps: int = 2_000"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/runner.py",
      "quote": "return replace(base_config, process=process, retail=retail, competitor=competitor)"
    },
    {
      "url": "https://raw.githubusercontent.com/danrobinson/prediction-market-challenge/b244530ee2a6247b5f930830eeca9dd950da0e7e/orderbook_pm_challenge/engine.py",
      "quote": "strategy = self._strategy_factory()"
    }
  ]
}
