TradeClaw

Open-source AI market intelligence for traders who prefer evidence over noise.

Self-hosted by default

Product

  • Dashboard
  • Screener
  • Backtest
  • Track record
  • Live demo

Transparency

  • What we tested and killed
  • Methodology
  • Why long-term
  • Open data
  • Calibration

Resources

  • Blog
  • Docs
  • API reference
  • How it works
  • FAQ
  • Glossary

Community

  • Discord
  • Weekly digest
  • Contribute
  • Contributors
  • Sponsors

Open source

  • GitHub repo
  • Star history
  • Self-host guide
  • Security
  • Data freshness
  • Roadmap

© 2026 TradeClaw. MIT licensed.

Terms|Privacy|Trading involves risk. Signals are informational only and are not financial advice.
DashboardScreenerCopilotTrack Record
TradeClaw
DashboardScreenerTrack RecordResearch
Live signalsStar

Recorded results, including failures

What we tested
and learned

Each entry records its study specification, modeled cost assumptions, benchmark, and, where one was defined, its deployment gate. The first five studies did not clear their deployment gates. A sixth, slow daily sandbox produced a narrower result: one vol-targeted 50/50 portfolio improved modeled drawdown-adjusted metrics without establishing uniform raw-return outperformance across both assets. It did not activate a live strategy. A seventh is the first study run against the published record rather than a backtest: it registered two of this project’s own directional hypotheses, then refuted both. An eighth pre-registered the exact D1 slow-gate build before evaluating it; that rule passed its frozen historical build gate and remains simulated-only.

Each entry links its committed machine-readable artifact and the final verdict memo. The registered experiment ledger is the append-only experiment registry. The live modeled-cost signal result is on the track record, and the per-trade cost dataset is served raw at /api/research/cost-field.

Phase 2 · registered 2026-06-10

Single-asset hourly timing

Killed

A technical entry on hourly candles (momentum, mean-reversion, or a regime-aware blend) can pick BTC turning points often enough to pay for itself after fees and slippage.

Under the tested risk geometry and crypto-perp cost assumptions, the five headline entries are net-negative. With zero modeled cost, three turn gross-positive in this sample. The assumed roughly 0.4% round trip is larger than the observed edge. One positive modeled-cost cell in the 108-cell edge map, classic momentum with wide 4R targets on H1, reached 0.03 to 0.05% per trade but was too thin to support deployment. Final verdict: this registered test found no deployable single-asset OHLCV timing edge.

Universe
BTCUSD, H1
Window
2024-06-10 to 2026-06-09 (17,497 bars)
Entries
classic, regime-aware, hmm-top3, vwap-ema-bb, full-risk
Geometry
live ATR14 x2.5, TP 2R
Costs
crypto perp, ~0.4% round trip

Live geometry, crypto costs charged

classic momentum
−11.1% · 33% wr
regime-aware
+0.6% · 50% wr
hmm-top3 (window-capped)
−0.2% · 33% wr
vwap-ema-bb mean-reversion
−0.8% · 17% wr
full-risk (window-capped)
−0.3% · 33% wr

Same entries, cost stripped (legacy 2:1 geometry, zero cost)

regime-aware
+1.3% · 62% wr
hmm-top3
+0.4% · 67% wr
full-risk
+0.3% · 67% wr
classic momentum
−4.3% · 32% wr
vwap-ema-bb
−0.3% · 17% wr
Costed run JSON (crypto perp)Zero-cost reference JSONVerdict: single-asset timing

Phase 4 · registered 2026-06-11

HMM regime routing

Failed gates

If a hidden-Markov model labels the market as trend, volatile, or range in real time, routing each entry only into the regime that suits it recovers an edge the blended signal buries.

The regime model is honest about itself: its states separate volatility, not direction, so there is no trend premium to route toward. On paper the gate fails. The one routed cell with an adequate sample, classic momentum in the trend regime, is negative on all three symbols. Every cell that prints positive is thin, under 30 trades, and the positives disagree across symbols. Not a trustworthy edge.

Universe
BTCUSD, ETHUSD, SOLUSD, H1
Window
2024-06-01 to 2026-06-01, walk-forward 4 folds
Model
3-state HMM (trend / volatile / range), trailing-64 Viterbi
Routing
{classic, vwap-ema-bb} x {trend, volatile, range}
Costs
crypto perp; E = mean pnl% after costs

Only non-thin routed cell, the trend route (classic, n ≥ 142)

BTCUSD trend route (n142)
−0.452%
ETHUSD trend route (n152)
−0.672%
SOLUSD trend route (n203)
−0.190%

Regime model diagnostic (why there is nothing to route toward)

directional trend premium
none
|24-bar fwd return| separation
0.0017 to 0.0157
regime flips per week (mean)
8.3
Routed walk-forward JSONRegime model diagnostic JSONVerdict: single-asset timing

Phase 4.5 · registered 2026-06-12

Daily time-series momentum

Marginal-rejected

Test whether a slow 28-day daily-trend rule survives the published cost assumptions across ten majors.

The signal-flip config reads +24.92% on average, but two launch-era single-asset flukes carry it. Strip SOL and AVAX and the typical major loses 5.25%. Four of ten symbols are positive, below the six-of-ten bar, and fold stability is 38% with most fold cells too thin to trust. The geometry-exit variants are flatly negative. No configuration clears the deployable bar.

Universe
10 majors (BTC ETH SOL BNB XRP ADA DOGE DOT LINK AVAX), D1
History
~2,090 to 2,190 daily bars each (2020 to 2026)
Signal
28-day TS momentum; 4 folds; no parameters tuned
Costs
crypto perp
Bar to clear
mean and expectancy > 0, ≥ 6/10 symbols adequate, fold stability > 50%

Three configs against the deployable bar

signal-flip mean
+24.92%
signal-flip ex-flukes (SOL +189%, AVAX +102%)
−5.25%
signal-flip breadth · fold stability
4/10 · 38%
geometry-2R mean
−12.54% · 0/10
geometry-4R mean
−14.01% · 0/10
Daily-momentum validation JSONVerdict: single-asset timing

Phase 5 Track A · registered 2026-06-13

Funding-rate carry

Failed gates

Stop timing price. Harvest the structural funding premium: short the perp, hold the spot, collect the funding, stay delta-neutral. This is the strongest raw crypto edge on record.

In this backtest, always-on BTC returns +39.50% over 6.75 unlevered years, with 0.73% modeled max drawdown and all four folds positive. It fails the registered magnitude gate: full-window yield is 5.84% per year versus an 8% threshold, and the recent 24 months produce 2.35% per year. The observed premium compresses over the registered window. Under the same assumptions, adding a timing overlay (A2) or rotation (A3) worsens the result.

Universe
10 majors; 7,403 BTC funding events back to 2019-09
Accounting
delta-neutral, notional 1 on capital 2, unlevered
Costs
two-leg, 0.70% per full round trip; 4 folds
Gate
> 8%/yr full-window and > 5%/yr recent-24mo and max DD < 10% and ≥ 3/4 folds +

Three variants, no tuning

A1 always-on BTC, full-window
+5.84%/yr (+39.50% over 6.75y)
A1 recent 24mo · max DD · folds
+2.35%/yr · 0.73% · 4/4
A2 threshold-gated (per symbol)
0/10 pass
A3 top-3 rotation, weekly
−0.07%/yr · recent −6.11%/yr
Carry validation JSONVerdict: carry and cross-section

Phase 5 Track B · registered 2026-06-13

Cross-sectional momentum

Failed gates

Rank the 30-major universe by trailing return each week and hold the top five. Rotation should beat passively holding the same basket, or it is only churn.

The full-window +1325% modeled result exceeds the basket at +759%, but the excess is concentrated in one fold, the 2020 to 2021 launch run measured over today’s surviving 30. Fold stability fails, two of four. In the bias-mitigated subwindow the long-only simulation returns −46.99% against a basket at −50.29%, with one of four folds positive. The long-short subwindow PASS is reported as the frozen gate computed it, then set aside because its modeled result loses 12.15%; cash is the more relevant benchmark for a market-neutral book.

Universe
30 majors, D1 (2,190 grid days), listing-date-aware
Signal
14-day lookback, weekly rebalance, top-5
Costs
0.2%/side on actual turnover, charged to the benchmark too
Gate
beat equal-weight basket on return and Sharpe, ≥ 3/4 folds of positive excess

Full window

B1 long-only top-5
+1325.48% vs basket +758.96% · 2/4
B2 long-short
−12.64% vs basket +758.96% · 2/4

Bias-mitigated subwindow (2024-06 onward)

B1 long-only top-5
−46.99% vs basket −50.29% · 1/4
B2 long-short (gate PASS, set aside)
−12.15% vs basket −50.29% · 4/4
Cross-section validation JSONVerdict: carry and cross-section

Slow-gate sandbox · parameters fixed for the 2026-07-18 run

Daily long/flat risk overlay

Mixed · sandbox

A daily close-above-EMA200 long/flat gate on BTC and ETH, with size scaled by the existing HMM structural-regime classifier, can improve drawdown-adjusted return after modeled costs. Buy-and-hold remained the raw-return benchmark; absolute-return outperformance was explicitly not pre-claimed.

The 50/50 vol-targeted portfolio did not beat buy-and-hold on CAGR: 22.8% versus 28.1%. Vol targeting improved modeled drawdown-adjusted results over the full window: Calmar 0.61 versus 0.32, Sharpe 0.87 versus 0.71, and max drawdown 37.4% versus 86.5%. The study did not establish uniform raw-return outperformance across both assets: the BTC vol-targeted sleeve lagged hold, while the ETH sleeve exceeded it, and the plain EMA200 gate had isolated raw-CAGR wins. HMM sizing underperformed the hold benchmark on drawdown-adjusted metrics: 50/50 Calmar was 0.21 versus 0.32 for hold, and its frequent exposure changes accumulated the highest modeled cost. These are sandbox-only OHLCV outcomes with modeled spot costs, not live results, not broker fills, and not a trading recommendation.

Universe
BTCUSD and ETHUSD; 50/50 independent sleeves; D1
Window
2017-09-01 to 2026-07-16 (8.88 years); 4 folds
Variants
buy-hold, EMA200, EMA200 + HMM sizing, EMA200 + inverse-vol
Costs
spot: 0.10% fee + 0.15% slippage per side
Status
Sandbox simulation only; no live activation

Full-window 50/50 BTC/ETH portfolio, modeled spot costs

buy-and-hold
CAGR +28.1% · max DD 86.5% · Calmar 0.32 · Sharpe 0.71
EMA200 gate
CAGR +29.4% · max DD 58.8% · Calmar 0.50 · Sharpe 0.80
EMA200 + HMM sizing
CAGR +10.8% · max DD 50.2% · Calmar 0.21 · Sharpe 0.48
EMA200 + vol targeting
CAGR +22.8% · max DD 37.4% · Calmar 0.61 · Sharpe 0.87

Why the claims stay narrow

BTC vol targeting vs hold CAGR
+21.9% vs +33.7%
ETH vol targeting vs hold CAGR
+23.6% vs +19.3%
Vol-target Calmar > hold, per-symbol folds
BTC 3/4 · ETH 3/4
HMM sizing, 50/50 Calmar
0.21 vs hold 0.32
Slow-gate sandbox JSONFixed-parameter sandbox plan

Live record · registered 2026-08-05

Regime filtering and directional inversion

Refuted · live record

Two hypotheses were written down before any query ran, both restating this project’s founder’s own brief, which the registered spec quotes: do not follow the mass, and trade the trending chart rather than the sideways one. First, that signals entered in trending regimes carry materially better net expectancy than signals entered in sideways regimes, so filtering to trending charts would turn the published record positive. Second, that the crowd loses, so inverting every signal would be profitable. The detector thresholds, the reconciliation tolerances and the decision rule were fixed in the same commit as the hypotheses, before the data was read. Publishing this entry was not pre-registered: the spec listed site publication as out of scope, to be decided once results existed.

No regime bucket was net-positive under any detector. Trend alignment did not even improve gross expectancy over counter-trend, +0.0979R against +0.0965R at the ADX 20 cut, and under the efficiency-ratio cut the trend-aligned bucket was gross-negative at −0.0871R, on 102 trades, below this study’s 300-trade bar for a conclusive cell. Inverting every signal produced a 62.6% win rate and a worse net result, −0.5207R against −0.5019R, because flipping the direction flips the returns and keeps the cost. What the study leaves standing is the cost geometry: modeled cost per trade is round-trip cost divided by stop width, so the published stream’s gross edge of +0.0094R sits roughly 54 times below its 0.5113R cost wall, and that wall shrinks only as stop width and holding period grow. That is an analytic rescale of the cost term alone: win and loss distributions at wider stops were not simulated and are not knowable from this dataset, so the wider-stop figures are a lower bound on what a trade must clear, not a projected result. Horizon, not filtering, is the lever the data leaves open. The regime results cover crypto only, 1,162 of 3,157 trades; 1,995 trades across 20 non-crypto pairs have no daily candle coverage in this repository, so their entry context cannot be independently re-derived here, and their outcomes remain counted, resolved trades. These are observed-OHLCV outcomes under modeled cost assumptions, not broker fills, and not a trading recommendation. No strategy was activated or deactivated by this study.

Population
3,157 counted resolved 24h sized trades from the published record, 2026-06-10 to 2026-08-04
Regime inputs
Daily EMA200 side plus 20-bar slope; ADX(14) at cuts 20 and 25; Kaufman efficiency ratio(20) at cut 0.30
Costs
Per-asset modeled round-trip fee and slippage recorded at signal emission
Gate
Reconciliation against the published dashboard had to pass before any split could be read
Scope
Regime buckets are crypto only: 1,162 of 3,157 trades were classifiable
Integrity
Reconciliation PASS · lookahead PASS · 0 stale-bar classifications

Regime at entry, ADX(14) cut at 20, crypto only

Trend-aligned (n=306)
gross +0.0979R · cost 0.9710R · net −0.8732R
Counter-trend (n=463)
gross +0.0965R · cost 0.7901R · net −0.6936R
Sideways (n=393)
gross +0.0325R · cost 0.8214R · net −0.7889R

Inverting every signal, whole counted stream

As published (n=3,157)
win rate 37.4% · net −0.5019R
Every signal flipped (n=3,157)
win rate 62.6% · net −0.5207R

Gross return per trade required to break even, as stop width widens

Stop width as published
0.5113R
3× wider
0.1704R
5× wider
0.1023R
10× wider
0.0511R
Regime expectancy JSONPre-registered spec and results

D1 slow-gate build · pre-registered 2026-08-08

Daily slow-gate walk-forward

Passed build gate · live tracked lane

The inherited close-above-EMA200 long/flat rule, paired with a deliberately wide fixed stop, can remain net-positive after modeled production crypto-perpetual costs and match or beat buy-and-hold Calmar in at least three of four continuous-state folds without breaching the registered frequency ceiling.

On the exact frozen historical sample and modeled production crypto-perpetual costs, the pre-registered rule passed its build gate. The fixed 50/50 result beat buy-and-hold on both net return and full-window Calmar, while the registered Calmar fold rule passed exactly three of four folds, not all four. The result is an OHLCV simulation with modeled fills and fixed funding, and the BTC/ETH-only universe carries survivor-selection risk. It is not live performance, not broker fills, and not a trading recommendation. The owner separately approved promotion to a live tracked signal lane on 2026-08-09. That approval does not enable broker order execution, does not backfill historical live rows, and does not bypass the existing fail-closed broadcast evidence gate.

Universe
BTCUSD and ETHUSD, D1; fixed 50/50 independent sleeves
Window
2017-09-01 to 2026-07-16; 3,241 bars each; 4 continuous-state folds
Gate
close > EMA200, long/flat; no slope rule and no tuned parameters
Stop
ATR14 × 2.5, floored at 4.0%; gap-aware; no take profit
Costs
0.05% fee + 0.15% slippage per side + 0.01% funding per 8h
Decision
positive full-window net return; Calmar ≥ hold in ≥ 3/4 folds; QA and frequency gates pass
Status
Live tracked lane approved 2026-08-09; broker execution remains disabled

Full-window fixed 50/50 portfolio, modeled crypto-perpetual costs

D1 slow gate
+636.83% · CAGR 25.22% · max DD 56.17% · Calmar 0.449
buy-and-hold
+239.12% · CAGR 14.74% · max DD 87.78% · Calmar 0.168

Registered build and integrity gates

Calmar ≥ hold, continuous-state folds
3/4
Transition reconciliation
BTC 86/86 · ETH 64/64
Max rolling 365d changes
BTC 26 · ETH 17 (ceiling 30)
Max modeled cost / initial risk
BTC 0.0783R · ETH 0.0558R
Integrity
reconciliation PASS · lookahead PASS · cadence PASS
D1 slow-gate walk-forward JSONPre-registered walk-forward planApproved build specification

What survived

A narrow modeled result did. The 50/50 vol-targeted portfolio did not beat buy-and-hold on CAGR: 22.8% versus 28.1%. It did improve modeled Calmar from 0.32 to 0.61 and Sharpe from 0.71 to 0.87, while modeled max drawdown fell from 86.5% to 37.4%. HMM sizing failed: its full-window portfolio Calmar was 0.21, below buy-and-hold at 0.32.

The live-record study added a second survivor, a mechanism rather than a strategy. Modeled cost per trade is round-trip cost divided by stop width, so the gross return needed to break even falls from 0.5113R at the published stop width to 0.1023R at five times wider. That rescales the cost term only; it does not simulate what wins and losses look like at wider stops, and it is not a claim that a wider stop is profitable. Regime filtering and signal inversion did not survive: no regime bucket was net-positive, and flipping every signal produced a 62.6% win rate that still lost more, −0.5207R against −0.5019R.

The pre-registered D1 build validation added a third narrow result. Its fixed 50/50 BTC/ETH slow-gate portfolio returned a modeled +636.83% against +239.12% for identically costed buy-and-hold, with Calmar 0.449 against 0.168. It cleared the registered continuous-state fold rule exactly 3/4, while transition reconciliation, lookahead, cadence, cost-risk, and frequency gates all passed.

That changes the research record and permits a fail-closed simulated lane, not deployment. The slow-gate results are historical OHLCV simulations with modeled costs: they are not live performance, not broker fills, and not a trading recommendation. Activation remains separately gated and unapproved. No live strategy selection or allocation changed.

How we measureWhy long-termOpen data