{
  "sources": [
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/README.md",
      "quote": "Quotes stay in force until our next trade, so the passive value carries them through silent steps and through orders that go only to the rival."
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/run.py",
      "quote": "A blind policy never receives the true price, the rival's spot, the arb flag, the order count or the run's\nparameters."
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/pair.py",
      "quote": "Pair two sets of run.py results on their common seeds."
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/latt.py",
      "quote": "Quotes: moment-matched (mean, sd) into the uncertainty-aware tables."
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/real.py",
      "quote": "        tag = '0c' if phs == 0 else (str(phs) + ('s' if self.synced else 'c'))"
    },
    {
      "url": "https://api.imd.fun/artifacts/22819a1542e36a609ec3d02a160b4b7aaf345d26d7184ef6517abc35b85cfbfc",
      "quote": "Cost-weighted arb/retail call: keep the lattice posterior as is, but read the first own trade of a step as the arb (phase 0, no rival-spot update) only when its posterior arb probability exceeds 0.9 instead of 0.5, because mistaking a retail fill for the arb costs more than the reverse."
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/replica2.py",
      "quote": "RNG streams differ from the Rust engine, so absolute scores move by the seed set;\ncompare policies paired on the same seeds."
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/evalpol.py",
      "quote": "def stats(d):\n    n = len(d); m = sum(d) / n\n    sd = (sum((v - m) ** 2 for v in d) / (n - 1)) ** 0.5\n    return m, sd / n ** 0.5"
    }
  ]
}
