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
929With a real scoring breakdown on file
Auto-trade decisions
235461073 accepted · 22473 rejected
Executed trades on file
17231723 with a regime snapshot

Data Quality

stock missing exit price
58/1600 resolved stock signals are quarantined (incomplete_exit, legacy, excluded from all stats)
WARN
crypto missing exit price
0/2823 resolved crypto signals have an outcome but no exit_price/pct_gain
OK
outcome pct gain mismatch
0/1542 resolved stock signals have outcome/pct_gain sign mismatches (e.g. outcome=LOSS with a positive pct_gain)
OK
stopped out without verdict
0/427 stopped-out signals have no verdict field - expected for anything logged before fix #193, not a bug
OK
shadow score neutral dilution
428/998 shadow-scored signals have >50% of factors on neutral-credit fallback
WARN
profile cache staleness
Last full refresh 40 days ago (21769 symbols; expected roughly monthly)
OK
coingecko cache health
1798 cached entries, oldest 812.1h old
OK
regime snapshot staleness
Most recent regime snapshot 31.4h old (expected within 48h)
OK

Regime-Conditioned Performance

RANGE BOUND LOW VOL
385 trades · win rate 72.5% · Sharpe 0.43
TRENDING HIGH VOL
3 trades · small sample
TRENDING LOW VOL
1335 trades · win rate 65.5% · Sharpe 0.32

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-23 to 2026-10-04.

23546 decisions logged — 1073 accepted · 22473 rejected
MODERATE
max positions
4205 (18.7% of rejections)
min rr
3833 (17.1% of rejections) · 127/3833 within 10% of clearing
circuit breaker
3278 (14.6% of rejections)
min smc grade
3270 (14.6% of rejections) · 1157/3270 within 10% of clearing
duplicate position
2236 (9.9% of rejections)
smc bearish bias
1952 (8.7% of rejections)
not halal compliant
1859 (8.3% of rejections)
min confluence
650 (2.9% of rejections) · 516/650 within 10% of clearing
portfolio exposure
512 (2.3% of rejections)
compliance unresolved
181 (0.8% of rejections)
min rel vol
161 (0.7% of rejections) · 16/161 within 10% of clearing
news blackout
90 (0.4% of rejections)
stale price invalidates bracket
59 (0.3% of rejections)
min swing confluence
47 (0.2% of rejections) · 29/47 within 10% of clearing
market closed
47 (0.2% of rejections)
unpriceable symbol
32 (0.1% of rejections)
broker rejected
28 (0.1% of rejections)
stock signal barred
23 (0.1% of rejections)
min rr at execution
10 (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-02.

too tight (avg 0.54%)
3172
too wide (avg 6.89%)
635
BREAKOUT
120 too tight · 0 too wide
BULL_FLAG
1 too tight · 41 too wide
CANDLE
1218 too tight · 18 too wide
EMA_PULL
463 too tight · 2 too wide
FIB_BOUNCE
134 too tight · 0 too wide
GAP_GO
10 too tight · 349 too wide
HOD_BREAK
181 too tight · 12 too wide
MOMENTUM
430 too tight · 8 too wide · 221 other
ORB
1 too tight · 1 too wide
PM_HIGH
10 too tight · 68 too wide
SETUP
208 too tight · 0 too wide
VWAP
396 too tight · 136 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.

396 watchlist symbols confirmed held by a real fund · 91 real holdings not matched to the watchlist
as of 2026-09-23
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%
CDW Corp/DE (12514G108)
MNZL · 0.09%
CH Robinson Worldwide Inc (12541W209)
MNZL · 0.07%
CLEAN HARBORS INC COM (184496107)
MNZL · 0.06%
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%
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%
Liberty Broadband Corp (530307305)
MNZL · 0.01%
Liberty Live Holdings Inc (530909308)
MNZL · 0.02%
Liberty Media Corp-Liberty For (531229771)
HLAL · 0.01%
+ 41 more, not shown

Signal-Level Factor Research

Based on 929 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 `14.6%` (n=309) vs high `17.0%` (n=311)
MODERATE
volume
low `14.9%` (n=309) vs high `13.8%` (n=311)
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 `13.9%` (n=309) vs high `8.0%` (n=311)
MODERATE
fundamentals
low `15.5%` (n=309) vs high `13.5%` (n=311)
MODERATE
risk liquidity
low `12.0%` (n=309) vs high `18.6%` (n=311)
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=425 vs 778

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

mean -1.80% (n=425) vs -0.61% (n=778) · p=0.000

WEAK n=230 vs 730

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

mean -1.46% (n=230) vs -1.15% (n=730) · p=0.192

WEAK n=43 vs 674

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

mean -0.96% (n=43) vs -0.92% (n=674) · p=0.816

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.