Skip to main content
US EQUITIES CLOSED CRYPTO 24/7
HALAL TRADING ROOM Sharia-screened signals
TERMINAL

Evidence-first, not trade calls

Research Lab

This platform does not optimize for finding trades. It optimizes for discovering, measuring, validating, and continuously improving statistically defensible trading edges.

What this page is

This Experiment Dashboard is a live view into five parts working together: a Research Registry of every hypothesis registered before it's evaluated (never after — no fitting a question to a result already known), an Evidence Ledger of every resolved signal, and a Confidence Engine that labels every conclusion by its real evidence strength rather than a bare number. The reasoning behind each — this project's Research Notebook — is maintained internally alongside the code that produces it. Observational only — nothing on this page gates a trade or changes scoring_engine.py's weights.

Confidence Engine labels, by real sample size

INSUFFICIENT
n<20 — too small to conclude anything
WEAK
n≥20 but effect size/significance still thin
MODERATE
n≥50 with a real effect
STRONG
n≥100 with a real effect
LOW VARIANCE
a separate check (not sample-size-based) — the factor barely varies across signals, so a low-vs-high comparison isn't meaningful regardless of n.
Hypotheses registered
3Registered before the result is known
Resolved stock signals
1373With a real scoring breakdown on file
Auto-trade decisions
325091783 accepted · 30726 rejected
Executed trades on file
29452945 with a regime snapshot

Data Quality

stock missing exit price
58/2817 resolved stock signals are quarantined (incomplete_exit, legacy, excluded from all stats)
WARN
crypto missing exit price
0/4697 resolved crypto signals have an outcome but no exit_price/pct_gain
OK
outcome pct gain mismatch
0/2759 resolved stock signals have outcome/pct_gain sign mismatches (e.g. outcome=LOSS with a positive pct_gain)
OK
stopped out without verdict
0/1014 stopped-out signals have no verdict field - expected for anything logged before fix #193, not a bug
OK
shadow score neutral dilution
433/1437 shadow-scored signals have >50% of factors on neutral-credit fallback
WARN
profile cache staleness
Last full refresh 64 days ago (21769 symbols; expected roughly monthly)
FAIL
coingecko cache health
1810 cached entries, oldest 1397.2h old
OK
regime snapshot staleness
Most recent regime snapshot 16.3h old (expected within 48h)
OK
order flow archive readable
1 of 69 sealed order-flow archives cannot be decompressed and are silently excluded from every order-flow statistic: order_flow_journal-2026-09-16.jsonl.gz (245339 bytes) - median archive is 4,993,218 bytes
FAIL

Regime-Conditioned Performance

RANGE BOUND LOW VOL
650 trades · win rate 68.9% · Sharpe 0.35
TRENDING HIGH VOL
3 trades · small sample
TRENDING LOW VOL
2292 trades · win rate 65.7% · Sharpe 0.28

Auto-Trade Rejection Report

Exactly why signals reaching AutoTrader.on_signal() are accepted or rejected, by the specific gate that decided it — real, persisted data (fix #349), not reconstructed from logs that don't survive this project's own log retention. Covering 2026-07-30 to 2026-10-28.

32509 decisions logged — 1783 accepted · 30726 rejected
MODERATE
circuit breaker
5416 (17.6% of rejections)
min smc grade
4923 (16.0% of rejections) · 1597/4923 within 10% of clearing
max positions
4629 (15.1% of rejections)
duplicate position
4261 (13.9% of rejections)
min rr
4111 (13.4% of rejections) · 144/4111 within 10% of clearing
smc bearish bias
2836 (9.2% of rejections)
not halal compliant
1859 (6.1% of rejections)
min confluence
853 (2.8% of rejections) · 708/853 within 10% of clearing
portfolio exposure
666 (2.2% of rejections)
min rel vol
332 (1.1% of rejections) · 28/332 within 10% of clearing
compliance unresolved
181 (0.6% of rejections)
stock signal barred
147 (0.5% of rejections)
news blackout
133 (0.4% of rejections)
unpriceable symbol
101 (0.3% of rejections)
stale price invalidates bracket
84 (0.3% of rejections)
market closed
66 (0.2% of rejections)
min swing confluence
49 (0.2% of rejections) · 29/49 within 10% of clearing
crypto stop too wide
45 (0.1% of rejections)
min rr at execution
16 (0.1% of rejections)
broker rejected
11 (0.0% of rejections)
crypto signal barred
6 (0.0% of rejections)
sizing constraint
1 (0.0% of rejections)

Scalp Stop-Width Filtering

2026-07-23: real closed stock trades had stops as tight as 0.15%-2.2% of entry — tighter than ordinary intraday noise, contributing to a 16.7% stock win rate vs crypto's 57.9% over the same window. MIN_SCALP_STOP_PCT now rejects a stop that's too tight, the same way MAX_SCALP_STOP_PCT already rejected one too wide — a distinct, earlier stage than the rejection report above (a signal filtered here never reaches on_signal() at all). Covering 2026-09-01 to 2026-10-27.

too tight (avg 0.51%)
5517
too wide (avg 6.54%)
1248
BREAKOUT
184 too tight · 0 too wide
BULL_FLAG
2 too tight · 49 too wide
CANDLE
2031 too tight · 27 too wide
EMA_PULL
791 too tight · 3 too wide
FIB_BOUNCE
206 too tight · 0 too wide
GAP_GO
15 too tight · 629 too wide
HOD_BREAK
326 too tight · 31 too wide
MOMENTUM
834 too tight · 15 too wide · 374 other
ORB
40 too tight · 141 too wide
PM_HIGH
22 too tight · 103 too wide
SETUP
285 too tight · 0 too wide
VWAP
781 too tight · 250 too wide

GAP_GO Entry Slippage

Real case, 2026-07-23: a GAP_GO market order intended to enter CITR at $5.04 filled at $5.96 (18.25% slippage), while position sizing had already used the tiny intended risk-per-share — the stop stayed fixed near the pre-gap level, turning a controlled 1%-risk trade into a $1,267 loss. GAP_GO entries are now a marketable limit order bounded at entry × (1 + MAX_GAP_GO_ENTRY_SLIPPAGE) instead of an unrestricted market order.

GAP_GO trades
7
with bounded entry
2
avg slippage
3.628%
max slippage
18.254%

Halal ETF Constituents Not Yet Tracked

Real holdings of SPUS/HLAL/MNZL (from their own SEC Form N-PORT filings) that don't match any symbol already on the watchlist by company name. A review list only — N-PORT filings never include a ticker, so matching is by name and inherently fuzzy. Nothing here is added automatically; each candidate needs its own live ticker/listing check first, same discipline that caught "AMAL" resolving to an unrelated bank.

393 watchlist symbols confirmed held by a real fund · 94 real holdings not matched to the watchlist
as of 2026-10-24
AECOM (00766T100)
MNZL · 0.03%
AGCO Corp (001084102)
MNZL · 0.02%
Acuity Inc (00508Y102)
MNZL · 0.02%
Antero Resources Corp (03674X106)
MNZL · 0.04%
Apellis Pharmaceuticals Inc (03753U106)
MNZL · 0.01%
Ashland Inc (044186104)
MNZL · 0.01%
AvalonBay Communities Inc (053484101)
MNZL · 0.10%
Avantor Inc (05352A100)
MNZL · 0.02%
Avnet Inc (053807103)
MNZL · 0.03%
BellRing Brands Inc (07831C103)
MNZL · 0.01%
BorgWarner Inc (099724106)
MNZL · 0.04%
Bright Horizons Family Solutions Inc (109194100)
MNZL · 0.01%
Brookfield Renewable Corp (11285B108)
MNZL · 0.02%
Builders FirstSource Inc (12008R107)
MNZL · 0.03%
CDW Corp/DE (12514G108)
MNZL · 0.09%
CH Robinson Worldwide Inc (12541W209)
MNZL · 0.07%
CLEAN HARBORS INC COM (184496107)
MNZL · 0.06%
Caris Life Sciences Inc (142152107)
MNZL · 0.00%
Cava Group Inc (148929102)
MNZL · 0.03%
Choice Hotels International Inc (169905106)
MNZL · 0.00%
ConocoPhillips (20825C104)
HLAL, MNZL · 0.51%
Crocs Inc (227046109)
MNZL · 0.02%
DR Horton Inc (23331A109)
HLAL, MNZL · 0.15%
Dick's Sporting Goods Inc (253393102)
MNZL · 0.05%
Dillard's Inc (254067101)
MNZL · 0.00%
Eagle Materials Inc (26969P108)
MNZL · 0.02%
Elastic NV (N/A)
MNZL · 0.02%
Electronic Arts Inc (285512109)
HLAL · 0.18%
Eli Lilly & Co (532457108)
HLAL, MNZL · 2.68%
Envista Holdings Corp (29415F104)
MNZL · 0.01%
Equity Residential (29476L107)
MNZL · 0.09%
Esab Corp (29605J106)
MNZL · 0.02%
Everpure Inc (74624M102)
MNZL · 0.08%
Expeditors International of Wa (302130109)
HLAL · 0.07%
Ferguson Enterprises Inc (31488V107)
HLAL, MNZL · 0.18%
Floor & Decor Holdings Inc (339750101)
MNZL · 0.02%
Fortune Brands Innovations Inc (34964C106)
MNZL · 0.01%
GXO Logistics Inc (36262G101)
MNZL · 0.02%
Gap Inc/The (364760108)
MNZL · 0.02%
Gates Industrial Corp PLC (N/A)
MNZL · 0.02%
Globant SA (N/A)
MNZL · 0.01%
Hayward Holdings Inc (421298100)
MNZL · 0.01%
Hologic Inc (436440101)
HLAL · 0.06%
Huntsman Corp (447011107)
MNZL · 0.01%
IAC Inc (44891N208)
MNZL · 0.01%
IFF (459506101)
HLAL · 0.08%
Insmed Inc (457669307)
MNZL · 0.10%
JB Hunt Transport Services Inc (445658107)
HLAL, MNZL · 0.06%
Kyndryl Holdings Inc (50155Q100)
MNZL · 0.01%
Lear Corp (521865204)
MNZL · 0.02%
+ 44 more, not shown

Signal-Level Factor Research

Based on 1373 resolved stock signals with a real scoring breakdown on file — low vs high tercile win rate per factor.

liquidity structure
stuck at 0.0 for most signals — not enough spread to compare yet
LOW VARIANCE
vwap
stuck at 7.2 for most signals — not enough spread to compare yet
LOW VARIANCE
momentum
low `10.7%` (n=457) vs high `14.2%` (n=459)
MODERATE
volume
low `12.0%` (n=457) vs high `11.8%` (n=459)
MODERATE
smc
stuck at 0.0 for most signals — not enough spread to compare yet
LOW VARIANCE
trend
low `8.5%` (n=82) vs high `12.0%` (n=83)
WEAK
sentiment
low `20.8%` (n=457) vs high `8.3%` (n=459)
MODERATE
fundamentals
low `12.7%` (n=457) vs high `9.8%` (n=459)
MODERATE
risk liquidity
low `10.3%` (n=457) vs high `16.6%` (n=459)
MODERATE

Feature Redundancy

liquidity_structure and smc — insufficient variance to assess
r=0.922 (artifact)

Research Registry

Every hypothesis this platform tests, registered here before its result is known — a question can't be quietly reworded after the fact to match whatever the data happened to show.

STRONG n=664 vs 1326

Does RSI >= 60 at signal time outperform RSI < 60?

mean -1.84% (n=664) vs -0.84% (n=1326) · p=0.000

MODERATE n=366 vs 1144

Does an SMC grade above 50 (real structural credit, per scoring_engine.py's own fallback rule) outperform 50 or below?

mean -1.57% (n=366) vs -1.25% (n=1144) · p=0.080

WEAK n=65 vs 1096

Does a signal in this week's rotating-in sector outperform one that isn't?

mean -1.06% (n=65) vs -1.01% (n=1096) · p=0.725

Evidence Ledger

The most recent resolved signals feeding every conclusion above — every one WIN/LOSS, nothing excluded or reworded after the fact.

Tell us what's working, what's confusing, or what you want to see next — read by a real person, not a form that goes nowhere.