docs: batch-three findings (T11 TTL optimal, T12 no exit rule, T14 imbalance band, T15 churn) + backtest paper-parity + Profitable bench

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
jaxperro
2026-07-23 18:26:59 -04:00
parent 2cfd9a6cf0
commit f39c659edc
3 changed files with 83 additions and 1 deletions
+44
View File
@@ -704,6 +704,50 @@ can't flatter the verdict. Either outcome is a finding: the premium
median kills the mirage in three days, or the paper ledger prices the median kills the mirage in three days, or the paper ledger prices the
first edge that survives its own execution. first edge that survives its own execution.
**Batch three (2026-07-23 night, while the harness deployed):** four
more questions answered on already-flowing data, plus the backtest
itself brought under the discipline.
- **T11, the patience curve:** #20's 60-second maker TTL is already
optimal. Touches arrive in 12s (p90 ≤7s), fill rate flatlines by 5
minutes, and the marginal late fills LOWER EV/signal (+$16.62 @60s vs
+$15.36 @5m+) — at 5m+ every eventual loser reaches the bid and the
3% that never fill are winners running away. Patience past a minute
buys nothing but adverse selection.
- **T14, depth structure:** one real cross-harness regularity in 1,923
chain-graded fills — book imbalance at fill time is a BAND, not a
dial. Extremes are adverse both ways (empty-bid books = falling
knives, bid-heavy books = the winner's curse); the balanced 0.250.47
middle is least-bad in both instruments. A portable fill-quality
guard candidate for #23's thin siblings. The slope feature's
"consistent" gate was a quantile-tie artifact (books cluster at 4-5¢
across five levels; the quartile boundary landed inside tied values)
— discarded, lesson logged: check feature variance before trusting a
quantile gate.
- **T12, unwinds:** maker-sharp inventory take-backs are NOT exit
signals. STAY on the lean after the sharp unwinds half: +$5.95/unwind
(n=265, 2.6× the pre-declared bar); FADE it: $5.22. #21's finding
one species over — the lean's information outlives the sharp's own
profit-taking. Study C keeps no exit rule. (Concentration caveat in
the file header: top-5 assets carry the total, the tail bleeds —
decisive for the exit-rule question, not a new edge.)
- **T15, sharp half-life (first half):** the published sharp screen
churns HARD — 49% of newly detected wallets are gone within a day,
34% survive three days, ~10% a month. Whether that is edge death or
threshold jitter awaits the EV-by-age grade (the chain-ensure over
these wallets' pre-pipeline history is the long pole).
- **The backtest now replays the paper book's execution** (portfolio.py
reads the follow flags — maker feeless entries as the DECLARED
optimistic bound, hold-through exits; flip the config back and the
backtest follows). Its first maker/hold run surfaced #21's cost side
honestly: holding to resolution locks capital — the $1k replay places
~4× fewer bets (86 resolved vs 390 under mirror-exits) while missed
bets swell. The /trading "Profitable bench" section now scores the
15-wallet bench on realized + would-be-missed P&L: 12 of 15 carry
their weight, several only BECAUSE of their misses (EdwardIN $81
realized, +$791 would-be) — and JuiceFarm is trimmed (+$33 realized,
$72 would-be: its misses were good misses).
## Repo layout ## Repo layout
- `insider.py` — the detector: z-score/p-value, timing/freshness/sizing signals, - `insider.py` — the detector: z-score/p-value, timing/freshness/sizing signals,
+19 -1
View File
@@ -138,7 +138,25 @@ push through.
T6 lean-follow → #22 (fade arm FAILED its concentration gate, T6 lean-follow → #22 (fade arm FAILED its concentration gate,
report-only); T9 lead-lag → #23; T1 maker-quote Stage-1 KILL; T7 report-only); T9 lead-lag → #23; T1 maker-quote Stage-1 KILL; T7
settlement-discount industrialized, parked; T8 crater-rejects were settlement-discount industrialized, parked; T8 crater-rejects were
good misses; T10 age gradient needs sample. good misses; T10 age gradient needs sample. Batch three (same night)
— T11: #20's 60s TTL already optimal, patience past 60s = adverse
selection; T12: maker-sharp unwinds NOT exit signals (STAY
+$5.95/unwind n=265; Study C keeps no exit rule; #22 comment); T14:
balanced-book imbalance band (0.25-0.47) = portable fill-guard
candidate for #23; T15: sharp-screen churn 49%/1d, ~10%/28d
(EV-by-age grade pending its chain-ensure).
- **Backtest = paper-execution parity (2026-07-23, 004911b)**:
live/portfolio.py replays the PAPER book's follow flags (maker
feeless entries — declared optimistic bound; hold-through exits;
sold-unresolved carry as open at the exit print). The backtest is NO
LONGER a taker control — it tracks whatever copybot.paper.json runs.
First maker/hold run: equity +36%, 0 fees, 86 resolved (vs 390 under
mirror) — hold-mode LOCKS capital, misses swell to 1,588; that is
#21's cost side, visible. /trading gained a "Profitable bench"
section (realized + would-be-missed > 0): 12/15 clear it; JuiceFarm
trimmed (+$33 realized, $72 would-be). JuiceFarm's conviction floor
pins at the next 08:00 sync_floors run (whole-book copies until
then — flagged 2026-07-23 evening).
- Dashboards: jaxperro.com/{trading,live,test,value} — /test = all four - Dashboards: jaxperro.com/{trading,live,test,value} — /test = all four
studies on one page (old /surge + /oracle URLs redirect) · daily pipeline studies on one page (old /surge + /oracle URLs redirect) · daily pipeline
on the Mac at 08:00 (launchd, lockfile) — floors, bench forward table, on the Mac at 08:00 (launchd, lockfile) — floors, bench forward table,
+20
View File
@@ -84,6 +84,26 @@ Layout:
m=4c/R=1s under queue-front optimism; every m=4c/R=1s under queue-front optimism; every
R=4s cell $7-9/fill — staleness IS the R=4s cell $7-9/fill — staleness IS the
adverse selection; ~31-50k graded fills/cell) adverse selection; ~31-50k graded fills/cell)
copy_maker_patience.py T11 — #20's 60s maker TTL is ALREADY OPTIMAL:
touches land in 1-2s, fill rate flat after 5m,
and the marginal late fills lower EV (loser
fill-rate 100% at 5m+ — patience past a minute
only harvests adverse selection)
maker_unwind.py T12 — maker-sharp unwinds are NOT exit signals:
STAY +$5.95/unwind (n=265, 2.6x the bar) vs
FADE -$5.22 — #21 one species over; Study C
keeps NO exit rule (concentration caveat in
the header; --grade-only re-grades the dump)
depth_imbalance.py T14 — book imbalance at fill is a BAND: extremes
adverse both ways, balanced 0.25-0.47 least-bad
in BOTH harnesses (portable #23 guard
candidate); slope "gate" = quantile-tie
artifact — check feature variance first
sharp_halflife.py T15 — published-set churn is violent: 49% of
detected sharps gone in 1 day, ~10% at 28d
(real as-of git history of watch_sharps.json);
EV-by-age = churn's meaning — pending its
81k-cond chain-ensure
requote.py crater→requote timing (feeds the bots' per-niche retry) requote.py crater→requote timing (feeds the bots' per-niche retry)
forward.py scores frozen studies on new tape days → forward_ledger forward.py scores frozen studies on new tape days → forward_ledger
(payouts_for chain overlay mandatory; controls + sub5c (payouts_for chain overlay mandatory; controls + sub5c