Jodie Analytics

Track record

Walk-forward performance record

Run ID 6a9d09710236e6e7. US equities, 1,928-ticker universe, May 2025 – May 2026. All signals generated by the production engine with no parameter changes after seeing results. Exit at lifecycle close, 2% fixed sizing, cash otherwise.

No look-ahead · production engine
316
signals traded
US equities · May 2025 – May 2026
56%
hit rate
Positive return at lifecycle exit
+6.4%
avg return / signal
At 2% fixed position sizing
3.65
Sharpe ratio
Annualised, cash for unused capacity
3.3%
max drawdown
Peak-to-trough on equity curve
52.1%
CAGR
+44.7% total return over the period

Per-stage performance

Stage is determined at signal emission time from the live theme activation state — igniting, building, broadening, or mature. It does not change retroactively.

StageSignals% of totalHit rateAvg returnSQ gateNotes
Broadening7022%56%+10.3%≥ 7Confirmed propagation across the cluster — leader plus multiple real confirmers. This is the highest-return stage because the move has already passed the hard test of breadth.
Building7624%56%+6.0%≥ 7Leader plus at least one confirmed follower. The structure has begun propagating but hasn't yet reached full breadth.
Mature12038%55%+4.7%≥ 7Broad participation established. Largest population by count. Returns are lower because some of the move is already priced in by the time the theme is fully confirmed.
Igniting5016%48%+1.2%≥ 8Leader has fired but no confirmed followers yet. The highest-risk stage — more than half are false starts. The SQ gate is tightened to ≥ 8 to partially compensate.
All stages316100%56%+6.4%Sharpe 3.65 · max DD 3.3% · CAGR 52.1%

Signal funnel

~316 trades from a 1,928-ticker universe over 12 months is intentionally low frequency. The engine emits broadly and filters hard. Each stage below represents a meaningful quality gate, not an arbitrary cutoff.

1Raw signals emitted
~4,400All analyzer outputs across the universe
2After type filter
~3,500Within-leader and follower-confirmed only
3After activation stage filter
~2,600Igniting, building, broadening, or mature — inactive excluded
4After signal quality gate (SQ ≥ 7)
~800SQ ≤ 6 has negative expected value and is rejected
5After deduplication
316One trade per ticker per theme hold; re-signals during hold suppressed

Signal quality score — full breakdown

SQ is computed at the point of signal emission from four sub-scores, each 0 – 5. The only empirically negative cluster is SQ ≤ 6. All other thresholds are based on observed return distribution across the walk-forward.

Structure validity
~35% of SQ

Theme probability, cluster cohesion, reaction breadth. Penalised 25% if theme class is noise or local move. This sub-score captures whether the structural map agrees the move is real.

Propagation evidence
~30% of SQ

Confirmed follower count, reaction breadth across the cluster, simultaneous impulses. Directly measures whether the move has actually spread beyond the leader.

Timing advantage
~20% of SQ

Correlation jump and breadth expansion pace. Capped when breadth is already very high — entry late into a mature move scores down, correctly penalising chasing.

Narrative coherence
~15% of SQ

Theme probability, cohesion, news alignment, and structural edge score. Penalised for low confidence or generic theme labels. Lower weight deliberately — narrative can be wrong even when structure is right.

SQ rangeVerdictObserved characteristics
17 – 20High convictionStrong structure, breadth evidence, and narrative alignment across all four sub-scores.
14 – 16High convictionAll sub-scores above midpoint. Typically broadening or building stage with confirmed propagation.
10 – 13TradeableCore of the tradeable population. Quality gate passed with margin.
7 – 9MarginalPasses the gate but expect lower average returns. Igniting signals require SQ ≥ 8 within this band.
≤ 6Rejected48% hit rate, −1.1% average return. The only cluster in the dataset with negative expected value. Rejected.

Exit mechanics

The walk-forward uses lifecycle exits, not fixed time stops. Understanding what triggers an exit matters for interpreting the return figures.

Lifecycle exit

The primary exit mechanism. When a within-leader theme goes inactive — the leader loses structural control, confirmers fade, or breadth collapses — Jodie signals the exit. The trader closes the position at that point.

Re-signal suppression

If the same ticker fires a new signal during an active hold, the exit is not triggered by that re-signal. The hold continues until the theme itself goes inactive. This prevents whipsawing out of a continuing move.

Hold duration

No fixed maximum hold. The walk-forward showed median holds of 2–4 trading days for building and broadening stages. Mature themes can hold longer. Igniting signals tend to resolve quickly — either confirmed and promoting to building, or failing back to noise.

What is not modelled

Stop-losses, partial sizing, pyramiding, and intraday exit timing are not modelled in the walk-forward. The sizing is 2% fixed per signal with cash for everything else. Real trading would layer these on top.

Known limitations of this record

These are not legal disclaimers. They are real gaps that affect how much weight to put on these numbers.

Scope: US equities only

1,928-ticker universe. International and crypto signals are emitted but not walk-forward validated yet. Do not apply these statistics to non-US signals.

Score edges = 0 in replay

Intraday lagged propagation edges cannot be reconstructed for historical dates, so the SQ score in the walk-forward understates what the live system would have scored. Live SQ values are slightly higher than their replay equivalents for the same formation.

No transaction costs

The walk-forward does not model bid-ask spread, market impact, or commissions. At 2% sizing on liquid US equities the impact is small but non-zero.

Intraday theme signals

The intraday_theme_confirmed signal type (member count ≥ 5, rank score ≥ 100) has 6 weeks of live data — 65–66% directional hit rate on that sub-population, but n=29–34. Not included in the main scorecard. Not yet paper-traded.

Igniting stage

48% hit rate is below 50%. It is included because it is net positive at 2% fixed sizing across the full sample, and raising the SQ gate to ≥ 8 partially compensates. A more conservative configuration would exclude igniting entirely.

See the methodology behind these numbers

How the structural graph, live signal engine, and quality gate work — and what the engine is and isn't designed to do.