Files

7.3 KiB
Raw Permalink Blame History

── POST-MORTEM (2026-07-19): EXPERIMENT CLOSED — HYPOTHESIS REFUTED ──

Killed by the pre-registered criterion, decisively: 994 resolved tickets, 1W / 993L, 0.075x realized multiple (paper bank $1,000 spent; 32 tickets / ~$32 still open at shutdown — even if ALL win, the multiple caps ~0.1x). The v0 sub-2¢ mix AND the v0.1 1-2c band both failed live-paper despite the cache showing 1.24-1.28x historically. Expected wins at the historical rate: ~12; observed: 1 (p ≈ 0 — not variance).

VERDICT: today's sub-2¢ asks are near-perfectly informed. The 2025-era calibration edge no longer exists in the current market — the visible cheap tail is pure adverse selection now. The honest FAK fill model + $1 stakes made this a ~$1,000-paper-dollar lesson instead of a real one; the fill model, chain settles, and silo pattern all worked exactly as designed and are reusable for the next hypothesis (tape-derived flow signals). Fly app destroyed 2026-07-19; feed/state/dashboard remain as the record.

VALUE — undervalued-market bot (silo'd from the copy trader)

Status: RESEARCH + PLAN (2026-07-17). No bot code yet. USER directives: copy-bot playbook (paper first → real money), paper must mimic reality as closely as possible, and a HARD SILO — nothing here may touch or impact the copy trader. Own dashboard page eventually (jaxperro.com/value).

Phase-1 research findings (calibration study, 2026-07-17)

Data: 13.5M TRUSTED resolved bet rows (trust.py CTE — the res_t=ts poison and stale marks excluded), 26.2M raw, read-only against live/cache.duckdb.

  1. The market is well-calibrated where the copybot lives. 60¢–98¢ realized-vs-price gaps are ±0.3% and NEGATIVE net of the 4% fee model. There is NO simple "buy favorites" edge. (Also independently validates the copybot's price band: no systematic juice was left on the table.)
  2. Longshots 2¢–60¢ are systematically OVERPRICED (gap 1.7% to 3.5%, cluster-conservative z 9 to 42). Blanket longshot buying is a donation.
  3. THE ANOMALY: sub-2¢ contracts are UNDERPRICED.
    • Full set: n=696k bets / 291k markets, avg entry 0.82¢, realized 1.02% → 1.24x gross, ≈ +20%/$ net of entry fee, z≈+12 (market-clustered).
    • Survives WITHOUT our skilled wallets: rows from wallets outside the 94-wallet skilled pool, on market-sides NO skilled wallet touched: 1.27x, +23%/$ net (n=648k / 286k markets).
    • NOT refunds: on the payout-covered subset only 41/153k rows were 50/50 refunds (each does mark won=TRUE — the boolean lies exactly as feared, but the frequency is negligible). Refund-aware TRUE EV on that subset: entry 0.85¢ → EV 1.31¢/share = 1.55x gross, ~+50%/$ net. Covered subset skews rich (it's markets our pipeline settled); the honest global estimate stays ~1.241.27x.
    • Horizon: the effect is strongest at SHORT time-to-resolution (<1h and 1h1d), i.e. in-play/near-expiry dust.
    • Skilled wallets at sub-2¢ run 2.85x (n=5.5k) — the informed-niche effect on top of the structural one; that part is signal A's business (smart-money scanner), not this bot's.

Interpretation: below ~2¢ the favorite-longshot bias INVERTS — consistent with sellers harvesting "sure" pennies (selling 99¢ completes = supplying the 1¢ side) pushing tails below fair. Per-bet payoff is 50120x with ~1% hit rate: massive variance, only harvestable as a LAW-OF-LARGE-NUMBERS portfolio (hundreds of independent markets), tiny per-market stakes.

What the data CANNOT tell us (= why the paper bot exists):

  • EXECUTABILITY: cached fills are prices people actually got, but dust books are thin (our own depth gate: ask5c<$50 = "mispriced every fill"). Whether $15/market is fillable at ≤2¢ TODAY, at FAK, without moving the book, is unknowable from history. This is the #1 risk and the paper bot's #1 job.
  • Era drift: the cache spans months; the bias may have closed.
  • Correlation: same-event dust tickets resolve together (event cap needed).

Strategy V0 (paper only): systematic sub-2¢ portfolio

  • Universe: every active market with an ask ≤ 2¢ (gamma/CLOB scan; exclude markets resolving <X min out if the book is one-sided — parameter, not dogma; the horizon data says near-expiry is where the edge LIVES, so no blanket exclusion).
  • Entry: FAK-modeled buy at the ask, protected band exactly like the live executor would send. Stake: flat $12/market (venue min), hard event cap 1 (correlated dust resolves together), portfolio cap N open.
  • Exit: hold to resolution (redeem is fee-free; the whole edge is terminal). Settle at CHAIN truth via payouts.py vectors (0.5 refunds are real).
  • Measurement: edge-vs-hurdle daily from day 1 (the copybot's edge.py pattern). Break-even hit rate at 1¢ ≈ price×(1+fee drag) ≈ 1.05% — the book needs ~2,000+ resolved tickets for a significant verdict; at ~13k qualifying markets/day observed in cache era, ~26 weeks of paper.

Signal A (smart-money consensus scanner) is a SEPARATE later deliverable — dashboard watchlist first, never auto-traded from this silo.

Silo architecture (mirrors the copybot playbook, shares nothing live)

  • Code: new files under value/ ONLY. May import the read-only research libs (trust, payouts, smart_money GETs). MUST NOT import copybot.py or copytrade.py (book/fee helpers get duplicated into value/ — ~40 lines bought for total blast-radius isolation). No shared state, no shared feed, no shared webhook, no shared Fly app.
  • Runtime: own Fly app (wwf-valuebot, arn) cloning this repo at boot, same clone-guard pattern. Poll-driven (gamma universe scan + book reads); needs NO Alchemy/RTDS — detection latency is irrelevant to a standing limit-universe strategy.
  • State/feed: value/valuebot_state.json, feed value/valuebot.json, fills value/valuebot_fills.jsonl — committed by ITS OWN pushes, same pull-rebase-push discipline. Paper realism from day 1: FAK-vs-book fill model (no ask inside band = MISS, the 2026-07-16 parity lesson), category fee rates, depth-gated stakes, refund-aware chain settles, honest missed ledger, daily edge row.
  • Dashboard: later, jaxperro.com/value reading the feed — separate page, separate feed file; the trading/live pages are untouched.
  • Ops: HANDOFF.md stays the shared session log; this file is the value bot's own state-of-the-world.

Rollout gates (copybot playbook)

  1. PAPER (build next): 26 weeks; verdict = realized portfolio ROI vs the ~1.05% break-even hit rate with real fill misses counted.
  2. KILL criteria: fill rate <30% of attempts (the edge exists but isn't buyable), or realized multiple <1.1x after 2k resolved tickets, or the paper book can't deploy >$50/week at $12 stakes (too thin to matter).
  3. REAL MONEY: only after paper verdict + user go; separate wallet, separate caps conversation. Never funded from or through the copy-trader wallet.

Open research (phase 2, before/alongside paper build)

  • Maker-vs-taker split: can resting 1¢ bids harvest the same edge with NEGATIVE fee (maker) instead of paying the taker rate? Adverse-selection test needed (the copybot's resting-limit analysis says beware).
  • Era stability: recompute the bucket table on trailing 30/60/90d windows.
  • Category cut once slugs are joined (slug_cache/gamma) — is it all esports comebacks, or broad?