diff --git a/FINDINGS.md b/FINDINGS.md index ee833f66..cfdad89f 100644 --- a/FINDINGS.md +++ b/FINDINGS.md @@ -22,6 +22,8 @@ automatable from public data. | **Multi-outcome logical arb** | ❌ dead | True partitions priced efficiently (min sum 0.999). Apparent "arbs" were non-exclusive market groupings. | | **Cross-venue arb (Polymarket↔Kalshi)** | ❌ dead | Venues agree to ~1¢; locking both legs costs **>$1 after fees**. Real gaps last ~seconds and are taken by bots. | | **Insider / sharp detection** | ✅ **works** | Statistical improbability (z-score of wins vs. odds) is a real, hard-to-fake edge signal. See `insider.py`. | +| **In-play surge momentum (tape)** | ⏳ forward window | Sim: ~+$24/fill after fees at measured execution; wallet identity adds NOTHING (controls match). Pre-registered verdict pending — #16. | +| **Crypto oracle fair-value taking** | ⏳ forward window | 86% of mispricings die as craters; big fillable edges are winner's-curse traps. Nothing frozen — #17. | ## The big technical findings @@ -462,6 +464,49 @@ decision: the replay compounds *faster* on smaller banks (`--bank 500` → their-bet ceilings later — percentage returns from small books are the most optimistic view, discount accordingly. +## The tape era opens: first RTDS findings (2026-07-20) + +Three days of the recorder's firehose in `live/rtds.duckdb` (13.8M fills, +160k wallets, every fill *including the losers*) killed the survivorship +problem at the source and produced four findings in one day — details, code, +and frozen parameters in `research/` (silo'd from the bots; see its README): + +**1. The tape sharp screen works, and its resolution proxy is exact.** +Terminal-VWAP convergence (≥0.97/≤0.03, 2h quiet, sibling veto) agreed with +on-chain CTF payout vectors on **742 of 742** validated bets. First run +(`live/tape_sharps.py`): 2,360 wallets with ≥8 resolved held bets, 25 +copyable candidates at z 4.0–5.5 (discrete conviction entries, sports/ +esports in-play profile — the Set-E archetype), cleanly separated from an +uncopyable **algo-flow tier** (z 9–12, 10–37 fills/bet, $M volumes: the +crater-sweepers). Benchmark sanity: benched sharps scored positive, benched +disappointments negative. + +**2. Wallet identity might not matter (the null that redirects the program).** +Study A (#16): a $300/60s net-flow surge into an in-play sports/esports +market at 0.10–0.90 simulates to ~+$24/$100-fill after fees *at our +measured execution* — but 10 activity-matched random wallet sets produce +the SAME EV (+23.85 pooled vs +23.68 informed). The herd's lean is the +signal; *who* leans adds nothing so far. Hypothesis revised at freeze: +surge momentum primary, identity lift secondary. Verdict comes only from +the forward ledger (research nightly, pre-registered thresholds). + +**3. The oracle edge is real on paper and mostly untakeable — worse at size.** +Study B (#17): fair value from the venue's own settlement tick feed flags +~9k mispricings/21h, but 86% die as FAK craters (crypto makers requote +<4s), and the fillable remainder shows winner's-curse inversion — demanding +a 10¢ edge *loses* $31/fill. Nothing froze (no cell hit 30 fills); +candidate v2 uses are inverted: copy filter / maker-side. + +**4. Craters refill on a clock, and it's niche-shaped.** 775k crater prints: +crypto refills within 4s 94% of the time, esports 83% by 10s, sports needs +~25s, geo/politics tails run minutes. Shipped straight into the bots as +per-niche `fak_retry` waits (the flat 10s was calibrated to nothing). + +Execution realism note for everything above: the research simulator is +fitted on the live bot's own 29 labeled attempts (fills + FAK misses) and +carries a measured **−2¢/fill optimism bias** — every pre-registered pass +threshold sits at least 2× above it. + ## Repo layout - `insider.py` — the detector: z-score/p-value, timing/freshness/sizing signals, @@ -476,6 +521,11 @@ optimistic view, discount accordingly. daily refresh. The dashboard (jaxperro repo) renders those two JSON feeds. See `live/README.md`. *Copy execution (`copybot.py`, `sync_floors.py`) is a separate, in-progress system — this finder is selection + tracking only.* +- `research/` — the tape-era edge factory (SILO'd from the bots): read-only + RTDS loaders, execution sim calibrated on the live ledger, pre-registered + studies (#16 surge momentum, #17 oracle fair value), nightly forward + ledger. Verdicts come from `research/forward_ledger.jsonl` only. See + `research/README.md`. - `wide/` — bulk subgraph→DuckDB scanner (survivorship-bias-free, all wallets); public subgraph frozen at Jan 2026, so historical-only. See `wide/README.md`. - `archive/` — the strategies that didn't work, kept for reference. See diff --git a/HANDOFF.md b/HANDOFF.md index 74a4fcea..59799911 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -23,7 +23,8 @@ REOPENED #4: the redeemer's phantom-cash BOOBY TRAP is fixed + proven Builder API Key (SDK gasless relay) the runtime bot deliberately lacks — LOW urgency, the platform auto-redeems winners itself. auto_redeem OFF. Open now: #1 Signal A, #2 tape research, #4 redeem builder-key, #13 Fri -bench, #14 edge verdict. +bench, #14 edge verdict, #16 surge momentum (forward window OPEN), #17 +oracle fair value (accumulating, nothing frozen). ## Operating boundary (user, 2026-07-13 — standing) **Full autonomy on the bots**; the real-money bot **stays ARMED**. Never @@ -51,11 +52,22 @@ push through. `live/rtds.duckdb` (trades + aux). Current-era ground truth for research. - **VALUE experiment: CLOSED 2026-07-19** — sub-2¢ hypothesis refuted (1W/993L, 0.075x); post-mortem in value/PLAN.md; app destroyed. +- **research/ (NEW 2026-07-20, SILO — never touches the bots)**: tape-era + edge factory. Sharp screen (`live/tape_sharps.py`, resolution proxy + chain-validated 742/742, 25 copyable candidates); execution sim fitted on + our own 29 labeled attempts (−2¢/fill optimism bias, thresholds sit 2× + above it); Study A surge momentum #16 (identity NULL result — controls + match the informed set) and Study B oracle fair value #17 (86% craters, + winner's-curse inversion). Verdicts ONLY from research/forward_ledger.jsonl. - **Verdicts pending**: edge/size-up (#14, ~end of July, pre-registered) · - bench review Friday (#13: five new sharps + AIcAIc's prove-it week). + bench review Friday (#13: five new sharps + AIcAIc's prove-it week — + cross-read the tape screen's candidates in live/tape_sharps.json) · + #16/#17 forward thresholds (in their issues). - Dashboards: jaxperro.com/{trading,live,value} · daily pipeline on the Mac at 08:00 (launchd, lockfile) — floors, bench forward table, edge row, - tape ingest, Discord digest. + tape ingest, Discord digest · research nightly at 09:15 + (com.jaxperro.research-nightly → research/nightly.sh, self-commits the + forward ledger; remove with `launchctl unload`). ## Ops quick-reference - Follow-set change: edit live/copybot.paper.json → `./live/deploy_bot.sh`; diff --git a/README.md b/README.md index 40e9c8c7..a4421939 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,7 @@ does). | `insider.py` | the original detector: z-score, pre-resolution timing, fresh-wallet flags, funding-cluster rings | | `smart_money.py` | shared HTTP helper + survivorship-corrected win-rate dashboard (`:8899`) | | `archive/webhook_receiver.py` | retired 2026-07-04: Alchemy webhook → per-trade Discord pings (replaced by `live/discord_daily.py`'s daily digest) | +| `research/` | tape-era edge factory, **SILO'd from the bots** ([research/README](research/README.md)): read-only RTDS loaders, execution sim calibrated on the live ledger, pre-registered studies (#16 surge momentum, #17 oracle fair value), nightly forward ledger — the only source of study verdicts | | `wide/` | frozen-subgraph bulk scanner (1.76M wallets, historical only — subgraph froze Jan 2026) | | `archive/` | everything retired, kept honest ([archive/README](archive/README.md)): the six failed strategies, earlier research sweeps (`hunt/huntwide/oos/copyback`), the superseded live selection layer (`live-research/`), the scrapped Polymarket-US venue probe (`us-venue/`), and retired infra (`retired-infra/`: Railway config, Mac launchd runner, GH-Actions cron) |