Commit aa0816f
committed
balance synthetic add and cancel rates so the book is steady-state under any seed
PR #24 stabilized the book under seed 11 but the live deploy uses seed
42, which (as a property of that particular RNG path) produces a
much less mobile reference and lets both sides accumulate to 1500+
qty even with the cancel-window targeting in place. Verified locally
with seed 42 plus the rate=400, 72/8/20 mix: top size sat at 1207 to
3087 after a 25-second warm-up. That is the right fix in the wrong
place: the cancel window helps cancels actually hit resting orders,
but the per-event cancel share is still too low to balance the per-
event add share.
Shift the mix from 72 / 8 / 20 to 50 / 10 / 40 (limits / markets /
cancels). At qty range [1, 6], the expected per-second add qty
(~700) now matches the expected per-second removal qty from cancels
plus market sweeps (~640), so the book reaches a steady state in
the low hundreds rather than accumulating. The 40 percent cancel
share is still a visually legible undercount of what real-exchange
ITCH feeds actually show (often 80 percent plus cancels), but it
reads as a busy market.
Local verification with seed 42 (the live deploy's seed), 30s warm-up
plus 20s sample at rate 400:
top size min / median / max = 277 / 338 / 728
Compared to the previous run on the same seed and same code minus
this commit, which sat at 1207 to 3087. 182/182 release tests still
pass.1 parent ffa8aba commit aa0816f
1 file changed
Lines changed: 10 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
266 | 266 | | |
267 | 267 | | |
268 | 268 | | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
269 | 277 | | |
270 | | - | |
| 278 | + | |
271 | 279 | | |
272 | 280 | | |
273 | 281 | | |
| |||
280 | 288 | | |
281 | 289 | | |
282 | 290 | | |
283 | | - | |
| 291 | + | |
284 | 292 | | |
285 | 293 | | |
286 | 294 | | |
| |||
0 commit comments