Skip to content

rsi_meanrev's gross edge does not survive being made to fire: the last live lead closes negatively #253

Description

@eaitbrahim

Follow-up to #251 / #252, answering the single open question that document left.

What #252 left open

rsi_meanrev had the best gross-edge distribution of the three shipped signal rules — median
gross PF 1.1631, 58% of assets gross-positive — while reaching the promotion floor on zero
of 24 assets (median n=38 against min_trades=100). #252 called it "the one live lead" and framed
the question as:

Does its gross edge survive being made to fire more often? If selectivity is what creates the
edge, the rule is unpromotable by construction. If the edge survives to n≥100, it is the only
route by which any rule the codebase ships reaches its own promotion floor honestly.

What was run

A monotonicity test, pre-registered in the script itself this time — the defect §7 of #252
recorded was that its declaration lived in a dispatch brief rather than in the file.

  • Variable axis: oversold ∈ {20, 25, 30, 35, 40}, the only measured frequency lever (×2.18 and
    ×3.93 per step, against ×1.186 for support_proximity_pct).
  • Held: overbought=80 (an exit control — moving it changes outcomes, not just counts, which
    would make the slope uninterpretable), support_proximity_pct=0.005, all else default.
  • oversold=20 reused from docs(experiments): three rules, 24 assets, zero free parameters — the viable intersection is empty #252's rows as the anchor → 4 new levels × 24 assets = 96 combos.
  • Conditional proximity arm declared in advance with its trigger and reporting rule.

Result

Conditional arm did not fire — 21 of 24 assets reach n≥100 at oversold=40.

median gross PF gross>1
oversold=20 (median n=38) 1.1631 14/24
every cell with n≥100 0.8938 11/76

Net > 1.0 at n≥100: 0 of 76 cells, at any fee including maker.

The edge evaporates exactly when the rule becomes measurable. The 1.1631 that made this rule look
like the best of the three is what n=38 looks like.

Method notes against ourselves

  1. The pre-registered statistic was underpowered for its own question. A linear slope was
    declared; the phenomenon is a threshold effect. Mean slope −0.0386/100 trades, 15/24 negative —
    directionally right but noisy, with most of its 0.35 stdev coming from two assets that barely
    trade (PAXG-USD n=12→145, WLD n=1→71). The partition on the pre-declared n≥100 floor is far
    cleaner and is reported alongside it.
  2. The design's monotonicity assumption is violated on 3 of 24 assets. UNI collapses 309→9
    between oversold 30 and 35; BTC 181→80. Under investigation — likely an unclosed position
    blocking subsequent entries.

Deliverables

  • docs/experiments/2026-08-12-rsi-meanrev-scale-vs-selectivity.md
  • The harness, with its pre-registration in the docstring
  • Trials-ledger row

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions