Commit 8f5d03e
docs(adr): correct the B2 reading — opportunity did not dry up, and z is outlier-fragile
Three corrections to §5, all of them things the earlier write-up got wrong by
reasoning from the summary line instead of from the run.
**"Opportunity dried up" was wrong.** At 36 co-located agents the fill counts are
cross-venue-arb 240, multi-arb 185, max-profit-arb 62 — and clean-arb 0. The
opportunities existed; the agents that took them lost money (-61, -25, -28).
clean-arb's zero was it correctly judging that nothing cleared the round trip,
and the others' losses are the evidence that it was right. What density raises is
the share of opportunities that are not worth taking, not the absence of them.
**The noise measurement did not need its own sweep.** Identical strategies in the
same run differ only by execution-order luck, so the spread between duplicates
*is* the noise. It was already in the B2 data: 7.44 USDC at 36 agents against a
65 USDC signal range, a ratio of 7-9x. The two-hour repeat sweep I was about to
run would have measured something already measured.
**What actually breaks at density is the top of the field, and one cause is the
metric itself.** In z units the top four at 36 agents are all copies of the same
strategy, separated by 0.0002-0.0029 against a noise floor of 0.041 — the
ordering is luck. Being copies, that is expected and says nothing about whether
distinct good strategies separate; the field has no two near-equal distinct
strategies to test with.
But the reason the gaps are that small is worth its own issue (#55): the sd used
for normalization is 181.5 across the field and 20.91 with `random` excluded, so
**one blown-up participant compresses everyone else 8.7x**. At hundreds of
participants there will be several. Filed separately because it is a defect in
how measurements are combined, fixable now and cheaply, as opposed to the open
question of which metric to measure — and median/MAD would fix it while keeping
the "won by how much" property that z was chosen for.
Ordered by cost, the levers for top-of-field resolution are: robust
normalization (#55), averaging over ~140 scenarios (already in the design), then
raising flow intensity (needs environment recalibration). Flow was my first
suggestion; it should be the last resort.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent 72e6447 commit 8f5d03e
1 file changed
Lines changed: 46 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
391 | 391 | | |
392 | 392 | | |
393 | 393 | | |
394 | | - | |
395 | | - | |
396 | | - | |
397 | | - | |
398 | | - | |
399 | | - | |
400 | | - | |
401 | | - | |
402 | | - | |
403 | | - | |
404 | | - | |
405 | | - | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
406 | 438 | | |
407 | 439 | | |
408 | 440 | | |
| |||
446 | 478 | | |
447 | 479 | | |
448 | 480 | | |
449 | | - | |
| 481 | + | |
450 | 482 | | |
451 | 483 | | |
452 | 484 | | |
453 | 485 | | |
454 | 486 | | |
455 | | - | |
| 487 | + | |
456 | 488 | | |
457 | 489 | | |
458 | 490 | | |
| |||
0 commit comments