Files
jackyu66gitandCursor e2fbe1c2b3 Snapshot nautilus_mm after EXP_002 Phase 1 stop.
Keep frozen research conclusions and code; raw ledgers and secrets stay out of git.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 16:53:22 +08:00

7.6 KiB
Raw Permalink Blame History

Project Status

MM_EDGE_EXP_001 — CLOSED (FROZEN)

Dimension Status
Research Phenomenon PASS (conditional markout exists)
Economic Edge FAIL
Prefill Predictability FAIL (snapshot observability)
Strategy FROZEN
Execution STOPPED
Stage 3 LOCKED

EXP_001 Prefill strict conclusion:

Under current snapshot observability (~1.66s), no CANDIDATE_V0_2_SIGNAL.
This is NOT proof that pre-fill signal does not exist in the market.

Weak signals (research observations only — not trading filters):

  • depth_total_5: ±3.8pp Path C separation, Economic gate FAIL
  • obi_change_5s: +0.00027 USDT/fill economic Δ
  • pre_deteriorated_strict=False: +0.00116 USDT/fill economic Δ

Reports: logs/maker_edge/ — see sections below for detail.


MM_EDGE_EXP_002 — Phase 1 STOPPED (artifact FROZEN)

Dimension Status
Type Data Collection / Observability
Strategy NONE
Trading NO
Execution STOPPED 2026-09-10T08:45:24Z
Stage 3 LOCKED
Gate 1 PASS (smoke EXP-002-RUN-001)
Gate 2 PASS
Gate 3 PASS
Gate 4 BLOCKED (no fill_anchor; not opened)
Long-run EXP-002-RUN-002 STOPPED + systemd disabled
Hypothesis Closure NO — Gate 4 never ran

Human decision 2026-09-10: stop further collection. Phase 1 is an observability artifact only.
This is not “market has no pre-fill signal” and not a v0.2 unlock.

event-state-probe.service (user): inactive / disabled. Do not restart EXP-002-RUN-002.

Ledger: logs/event_state/EXP-002-RUN-002/ — 24 files, 2026-08-18 → 2026-09-10 (last day partial), 18.06 GiB.
Event counts not fully censused; size-based estimate ~1.2e7 lines (volume gates clearly exceeded).
fill_anchor expected 0 (observability-only). Marker: EXP-002-RUN-002.PHASE1_STOPPED.json

Do not Path-C snoop this artifact. Frozen Gate 4 sample gates remain in MM_EDGE_EXP_002.md.

Spec: MM_EDGE_EXP_002.md
Smoke: ./scripts/smoke_test_event_state.sh
Validate: python scripts/validate_event_ledger.py --dir logs/event_state/EXP-002-RUN-001 --run-id EXP-002-RUN-001
Logs: logs/event_state/EXP-002-RUN-001/

EXP-002-RUN-001 Smoke (2026-08-18, ~12 min + restart)

Host: jADUtR1041803 | Sessions: 2 (restart test) | Schema: immutable_event_v1

Check Result
Gate 1 Event Completeness PASS (Phase 1 stream; no fill_anchor)
Gate 2 Temporal Integrity PASS
Gate 3 Event Coverage PASS
Restart contract PASS (0 parse fail, 0 dup event_id, seq reset)
Gate 4 BLOCKED

Write rates:

  • aggressive_trade: 3.21 / sec (2300 events)
  • book_update: 6.09 / sec (4366 events)
  • total: 9.30 / sec (6666 market events)

Timestamp quality (100% exchange + local present):

  • local exchange lag: p50 112.5ms, p95 237.7ms, p99 251.4ms, max 443.4ms
  • exchange > local + 50ms: 0 violations

Event order (recorded, not sorted):

  • exchange_ts_ns regressions: 1053 (max back 276ms) — multi-source async; explicit in report

Raw schema sample (n=200 each): 0% missing on core fields; 0 hollow book_update.

Manifest: logs/event_state/EXP-002-RUN-001/EXP-002-RUN-001.manifest.json
Report: logs/event_state/EXP-002-RUN-001/Event_Ledger_Validation.json

Long-run identity: EXP-002-RUN-002 (separate from smoke) — STOPPED 2026-09-10. Status: ./scripts/event_state_status.sh


MM_EDGE_EXP_001 Detail

Phase: Prefill Adverse-Selection Attribution v0.1 (probe STOPPED)

Gate Status
Research Freeze ACTIVE
Probe STOPPED
Data Integrity PASS
Maker-only PASS (TAKER=0)
Account Reconciliation (RECON-01) PASS
RECON-02 classification PASS
Order-level closure (RECON-03) PASS
Strict trade-level closure FAIL (Testnet userTrades cutoff — not Alpha FAIL)
Economic Edge FAIL (current execution economics)
Prefill Predictability (v0.1 strict) FAIL (no CANDIDATE_V0_2_SIGNAL)
Stage 3 LOCKED

Evidence taxonomy (4777 fills)

Class Count Grade
MATCHED 3890 Order + Trade (dual)
VENUE_CONFIRMED_NO_TRADE_HISTORY 876 Order FILLED, no trade row
VENUE_PARTIAL_ORDER_CANCELED 11 Partial fill + TTL cancel
DUPLICATE / MISMATCH / UNCONFIRMED 0

userTrades cutoff: 2026-08-17T03:08 UTC — see TESTNET_LIMITATIONS.md

Matched trade-level: qty residual 0, |Δt| p50 72ms

Separation

MakerAlpha (+0.008%)  ≠  Account Δ (61.66 = fee + realized)
Strict trade FAIL     ≠  Maker Edge FAIL
887 orphans           =  VENUE-HISTORY-CUTOFF (now order-confirmed)

Economic Attribution v0.1 (Hard Evidence Population only)

Population: MATCHED=3890
Core report: logs/maker_edge/Economic_Attribution_v0_1.txt

  • Matched fills / paths / clusters: 3890 / 3886 / 3334
  • Fee total: 42.42 USDT
  • Realized component: 8.52 USDT
  • Gross markout @30s: 1.73 USDT
  • Net attributable @30s: 52.67 USDT
  • Inventory carry:
    • Max |net BTC|: 0.0059
    • TW |net BTC|: 0.0035
    • Turnover: 3.3316 BTC

Counterfactual Attribution:

  • Baseline matched net30: 52.67 USDT
  • Exclude Path C: 21.22 USDT
  • Exclude toxic: 21.22 USDT
  • Exclude negative states: 27.64 USDT

Interpretation:

  • v0.1 已完成 baseline 使命:Maker markout phenomenon exists, economic edge not established
  • 当前主要拖累不是“假 alpha”,而是 fee + realized / inventory economics

Metric Reconciliation (MATCHED=3890)

  • Return-space MakerAlphafill-weighted):-0.000693%
  • Return-space MakerAlphanotional-weighted):-0.000816%
  • Dollar-space gross markout @30s-1.730780 USDT 结论:回报口径一致,但“加权方式”导致返回与美元金额的方向差异。

Fee Sensitivity (counterfactual, fee only)

net_attr_30s @fee_factor: 1.00 → -52.674655 USDT 0.50 → -31.463582 USDT 0.25 → -20.858046 USDT 0.10 → -14.494724 USDT 0.00 → -10.252510 USDT 结论:即使假设 0 feenet 仍 < 0,因此“真实拖累”不仅是 fee。

Prefill Adverse-Selection Attribution v0.1 (strict contract)

Population: MATCHED paths = 3886 (100% strict-prefill coverage)
Core report: logs/maker_edge/Prefill_Adverse_Selection_Attribution_v0_1.txt

Time contract: feature_timestamp <= t_fill - 0.25s
Feature source: sampled mid_tick / inventory_tick only (no fill-callback leakage)

Baseline (strict population):

  • P(Path C): 33.20%
  • P(Toxic): 34.61%
  • P(Neg30s): 47.43%
  • P(Economic<0): 77.61%
  • Mean net_attr_30s: 0.0136 USDT/fill
  • Feature age: mean 1681ms, median 1660ms

Conclusion Matrix (auto-grade):

  • CANDIDATE_V0_2_SIGNAL: 0 / 19 features
  • STATISTICAL_SIGNAL_ONLY: spread_change_5s (Toxic/Neg30s), inventory/inventory_skew (Economic only)
  • NO_PREFILL_SIGNAL: all others under strict gate

Unavailable under strict contract (deferred to EXP_002):

  • time_since_last_market_event, intensity, large trades, fill-callback market_event_before_fill

Forbidden (both experiments)

  • Resume EXP_001 probe without new experiment ID
  • Restart EXP_002 / EXP-002-RUN-002 collection
  • Enable trading under EXP_002
  • Reclassify VENUE_CONFIRMED as MATCHED
  • Unlock Stage 3 on observability or attribution alone
  • Treat STATISTICAL_SIGNAL_ONLY as v0.2 candidate
  • Design v0.2 or claim Hypothesis Closure without a later fill-authorized Gate 4