Early access · In development From trading idea to
From trading idea to
trading live.
Build trading strategies with an AI partner. GPU-accelerated, local, off the cloud.
Define the hypothesis. Set the rules.
Structured research starts with a structured question. Define your hypothesis, set acceptance criteria, and lock in your holdout before testing.
Every strategy must earn it. No shortcuts.
Curve-fitting is the silent killer of trading strategies. A structured validation pipeline catches it before you do.
01
Idea
A hypothesis, a pattern, or code pasted from an LLM — turned into something testable.
02
In-Sample Optimisation
Every parameter combination searched, ranked, and stress-tested on historical data.
03
Out-of-Sample Testing
If it only works in-sample, it's probably curve-fit. Out-of-sample tests it on data it's never seen.
04
Holdout Validation
A sealed slice of data, reserved from the start. Strong holdout performance strengthens confidence that the edge is real.
Every indicator you need. Every strategy you write.
A library of 150 built-in indicators shipped in. Your own strategies accumulate alongside them — tagged, versioned, dependency-mapped, local.
Library
▦All assets237
★Favorites12
◷Recent8
Types
◆Strategies27
▲Indicators168
150 built-in · 18 custom
●Primitives42
Your Tags
#trend-following14
#mean-reversion8
#production5
#sandbox11
+New tag…
Provenance
✎Yours87
⚙Built-in150
★ Favorites#trend-following+ filtersort: recent ↓
Your work87 ASSETS
NameTypeVerTagsModified
MomentumCrossStrategyv1.122 min★⋯
MeanRevSPYStrategyv0.81 h★⋯
CustomVWAPIndicatorv1.03 h★⋯
CrossoverGatePrimitivev2.11 d★⋯
TrendBreakoutStrategyv2.42 d★⋯
PairsArb_ES_NQStrategyv0.34 d★⋯
Built-in150 ASSETS · A–Z
ADXIndicator——★⋯
AroonIndicator——★⋯
ATRIndicator——★⋯
Awesome OscillatorIndicator——★⋯
Bollinger BandsIndicator——★⋯
CCIIndicator——★⋯
Chaikin Money FlowIndicator——★⋯
Donchian ChannelsIndicator——★⋯
EMAIndicator——★⋯
Fisher TransformIndicator——★⋯
Heikin AshiIndicator——★⋯
Ichimoku CloudIndicator——★⋯
Keltner ChannelsIndicator——★⋯
MACDIndicator——★⋯
MomentumIndicator——★⋯
Money Flow IndexIndicator——★⋯
OBVIndicator——★⋯
Parabolic SARIndicator——★⋯
RSIIndicator——★⋯
SMAIndicator——★⋯
StochasticIndicator——★⋯
StopLossTrailPrimitive——★⋯
SuperTrendIndicator——★⋯
VWAPIndicator——★⋯
Williams %RIndicator——★⋯
Strategy · Yours · v1.12 ★
MomentumCross
Open in Forge ⌘O
Duplicate · Rename · Export · Relationships
Buys when short-term momentum confirms a new uptrend and the momentum oscillator agrees. Holds as long as both stay aligned; exits when trend weakens or momentum rolls over.
Rules · in plain English
EntrySMA(25) crosses above SMA(50), and RSI(14) is above 50.ExitSMA(25) crosses below SMA(50), or RSI falls below 40.InstrNVDA · MSFT · AMZN · daily bars
Depends on · 4 pieces
▲›
RSIBUILT-IN
Momentum filter
▲›
SMABUILT-IN
Crossover trigger
●›
CrossoverGateYOURS
Fires once per cross
~/alphafind/library/strategies/MomentumCross.pyindexed in 12ms·offline
Work the way you think.
Forge keeps up.
Forge keeps up.
Code it, build it visually, or have AI write it for you. Same engine either way. Bar-by-bar backtests in seconds.
Python 3.12
1@strategy
2class MomentumCross(Strategy):
3 """Dual-SMA crossover with RSI confirmation."""
4 fast = param(10, 5..30)
5 slow = param(20, 10..50)
6 rsi_len = param(14, 7..28)
7 rsi_min = param(65, 30..80)
8
9 def on_bar(self, bar):
10 sf, ss, r = SMA(self.fast), SMA(self.slow), RSI(self.rsi_len)
11 if sf > ss and r > self.rsi_min:
12 self.enter_long()
13 elif sf < ss or r < self.rsi_min:
14 self.exit_position()
15
16 def on_fill(self, fill):
17 log(f"{fill.side} @ {fill.price:.2f}")
18
19 def metadata(self):
20 return {"name": "MomentumCross",
21 "version": "1.0.2"}
Visual builder
Source
Indicator
Filter
Gate
Combiner
Action
NVDA · 1D
Gate proximity
RSI(14)
Equity
No lag. No web engine. Your GPU, unleashed.
A library of 150+ indicators and 70 drawing tools, rendered natively on your GPU. Hits 120 fps on capable hardware.
Your metrics, your graphs.
Your report, your way.
Your report, your way.
Drag in the charts you want. Pin the metrics you actually use. Save the layout once — every run fills it in for you.
Hypothesis H-2026-Q1-ER-MOM
Page 1 / 4
Momentum Breakout v7
Earnings-driven momentum · walk-forward validated
Verdict
Promote → Live Paper Trade
Symbol
AAPL
Timeframe
15m
Bars
175,248
Ticks modelled
41.2M
Quality
99.9%
Spread
2 pts
Start balance
$100,000.00
End balance
$167,205.42
Parameters · strategy inputs 18
Entry5 · signal & confirmation
fast_ema_period12bars
slow_ema_period26bars
signal_threshold_sigma0.35σ
confirmation_bars2
volume_filter_mult1.50× avg
Exit4 · targets & stops
take_profit_atr2.40× ATR
stop_loss_atr1.00× ATR
trailing_stop_atr0.80× ATR
max_hold_minutes360min
Risk3 · position sizing
risk_per_trade_pct1.00%
max_concurrent_positions1
max_daily_loss_pct3.00%
Filters3 · session & regime
session_window09:30→16:00ET
atr_floor0.80ATR(14)
spread_cap_pts3pts
Walk-forward3 · from hypothesis journal
is_window_days250d
oos_window_days60d
selection_rulesharpe_oos>1.40
Run provenance
In-Sample · 2018-01 → 2021-124y · n=620
Sharpe
1.92
Net profit
+34.5%
Max DD
-6.2%
PF
2.41
Win rate
61%
RF
5.57
Out-of-Sample · 2022-01 → 2023-122y · n=385
Sharpe
1.61
Net profit
+18.4%
Max DD
-8.4%
PF
1.88
Win rate
57%
RF
2.19
Holdout · 2024-01 → 2024-121y · n=235
Sharpe
1.58
Net profit
+12.1%
Max DD
-7.1%
PF
1.81
Win rate
55%
RF
1.70
Balance · Equity · Drawdown
BalanceEquityLinear regressionDrawdown %
$170k$150k$130k$110k$100k
In-Sample · 4y
Out-of-Sample · 2y
Holdout · 1y
0%-5%-10%
2018201920202021202220232024
Performance metrics · full breakdown
| Metric | In-Sample | Out-of-Sample | Holdout | Overall |
| Performance | ||||
| Start Balance USD | 100,000.00 | 134,520.18 | 152,932.95 | 100,000.00 |
| End Balance USD | 134,520.18 | 152,932.95 | 165,025.39 | 167,205.42 |
| Total Net Profit USD | +34,520.18 | +18,412.77 | +12,092.44 | +67,205.42 |
| Gross Profit USD | 58,917.31 | 34,845.62 | 22,784.09 | 116,547.02 |
| Gross Loss USD | -24,397.13 | -16,432.85 | -10,691.65 | -49,341.60 |
| Profit Factor | 2.41 | 2.12 | 2.13 | 2.36 |
| Recovery Factor | 5.57 | 2.19 | 1.70 | 4.18 |
| Expected Payoff USD | 55.68 | 47.83 | 51.46 | 54.20 |
| AHPR | 1.00087 | 1.00072 | 1.00075 | 1.00081 |
| GHPR | 1.00084 | 1.00067 | 1.00070 | 1.00077 |
| Risk | ||||
| Sharpe Ratio | 1.92 | 1.61 | 1.58 | 1.74 |
| Balance DD Absolute USD | 2,184.10 | 4,812.66 | 3,921.00 | 4,812.66 |
| Balance DD Maximal % | -6.20 | -8.40 | -7.10 | -8.40 |
| Balance DD Relative % | -5.85 | -7.92 | -6.64 | -7.92 |
| Equity DD Maximal % | -6.48 | -9.12 | -7.55 | -9.12 |
| LR Correlation | 0.976 | 0.948 | 0.961 | 0.968 |
| LR Standard Error USD | 1,241 | 1,812 | 1,045 | 1,512 |
| Z-Score | -1.82 (trend) | -0.94 | -1.21 | -1.52 |
| Trades | ||||
| Total Trades | 620 | 385 | 235 | 1,240 |
| Short · won % | 312 · 58% | 184 · 54% | 112 · 52% | 608 · 56% |
| Long · won % | 308 · 64% | 201 · 60% | 123 · 58% | 632 · 62% |
| Profit Trades % total | 378 · 60.9% | 218 · 56.6% | 129 · 54.9% | 725 · 58.5% |
| Loss Trades % total | 242 · 39.1% | 167 · 43.4% | 106 · 45.1% | 515 · 41.5% |
| Largest profit trade | +812.40 | +624.77 | +498.12 | +812.40 |
| Largest loss trade | -384.10 | -512.66 | -421.88 | -512.66 |
| Avg profit trade | 155.86 | 159.84 | 176.63 | 160.75 |
| Avg loss trade | -100.82 | -98.40 | -100.87 | -99.81 |
| Max consecutive wins count · $ | 11 · 2,104 | 8 · 1,478 | 7 · 1,312 | 11 · 2,104 |
| Max consecutive losses count · $ | 4 · -812 | 5 · -1,024 | 4 · -744 | 5 · -1,024 |
| Avg consecutive wins / losses | 2.8 / 1.7 | 2.4 / 1.9 | 2.3 / 1.9 | 2.6 / 1.8 |
| Position · correlations & holding | ||||
| Correlation (Profits, MFE) | 0.72 | 0.68 | 0.65 | 0.70 |
| Correlation (Profits, MAE) | -0.54 | -0.51 | -0.48 | -0.52 |
| Correlation (MFE, MAE) | -0.31 | -0.29 | -0.27 | -0.30 |
| Min holding time | 00:15 | 00:15 | 00:15 | 00:15 |
| Max holding time | 04:30 | 05:15 | 04:45 | 05:15 |
| Avg holding time | 01:42 | 01:38 | 01:51 | 01:44 |
Behaviour · distributions & per-trade shape
Where the strategy earns, how risk is priced per trade, and how streaks cluster. Axes in $USD. Partition colours match the summary page.
Net profit by hour of day
Eastern · 24 one-hour bins
+$5k+$2.5k$0-$2.5k-$5k
0006121824
Hour · ET
Net profit by weekday
Monday through Friday · session profit
+$5k+$2.5k$0-$2.5k-$5k
MONTUEWEDTHUFRI
Weekday
Net profit by month
Jan → Dec · calendar seasonality
+$5k+$2.5k$0-$2.5k-$5k
JFMAMJJASOND
Month
MFE vs MAE · per-trade excursion
Max favourable × max adverse move · point size ∝ |P/L| · n=1,240
ISOOSHoldoutLossMFE = MAE
$0$200$400$600$800
MFE = MAE · break-even frontier
$0$100$200$300$400$500
MAE · $USD (max adverse excursion)
Consecutive streak distribution
How often wins and losses cluster · 1,266 streaks identified across n=1,240 trades
Winning streaksLosing streaks
Winning streaks751 total · longest 11 wins · $2,104 max run P/L
Losing streaks515 total · longest 5 losses · −$1,024 max run P/L
0100200300400
Count of streaks
Trade Journal · chronological log
Every trade this run produced. Exportable to CSV or the native
.afr format for downstream journal analysis. Partition tag reflects the window each trade fell into.Trade log · last 35 of 1,240
| # | Open | Close | Dir | Size | Entry | Exit | Hold | MFE | MAE | P/L $ | P/L % | Part |
| 1206 | 2024-11-11 10:30 | 2024-11-11 12:00 | LONG | 500 | 229.62 | 231.84 | 01:30 | +1,280 | -94 | +1,110 | +0.87 | H |
| 1207 | 2024-11-12 14:00 | 2024-11-12 15:15 | SHORT | 500 | 232.88 | 232.92 | 01:15 | +340 | -260 | -20 | -0.02 | H |
| 1208 | 2024-11-13 09:30 | 2024-11-13 11:00 | LONG | 500 | 231.06 | 233.22 | 01:30 | +1,280 | -68 | +1,080 | +0.85 | H |
| 1209 | 2024-11-14 10:45 | 2024-11-14 12:00 | LONG | 500 | 233.84 | 234.18 | 01:15 | +480 | -220 | +170 | +0.13 | H |
| 1210 | 2024-11-15 13:30 | 2024-11-15 14:45 | SHORT | 500 | 234.92 | 234.04 | 01:15 | +620 | -118 | +440 | +0.35 | H |
| 1211 | 2024-11-18 10:00 | 2024-11-18 12:00 | LONG | 500 | 233.42 | 235.88 | 02:00 | +1,420 | -46 | +1,230 | +0.98 | H |
| 1212 | 2024-11-19 09:30 | 2024-11-19 10:45 | SHORT | 500 | 236.22 | 236.42 | 01:15 | +220 | -320 | -100 | -0.08 | H |
| 1213 | 2024-11-20 10:15 | 2024-11-20 11:45 | LONG | 500 | 235.68 | 237.40 | 01:30 | +1,020 | -88 | +860 | +0.68 | H |
| 1214 | 2024-11-21 13:00 | 2024-11-21 14:30 | LONG | 500 | 237.84 | 239.22 | 01:30 | +860 | -72 | +690 | +0.55 | H |
| 1215 | 2024-11-22 09:45 | 2024-11-22 11:00 | SHORT | 500 | 240.18 | 239.32 | 01:15 | +580 | -132 | +430 | +0.34 | H |
| 1216 | 2024-11-25 10:30 | 2024-11-25 12:00 | LONG | 500 | 238.92 | 238.14 | 01:30 | +320 | -640 | -390 | -0.31 | H |
| 1217 | 2024-11-26 10:00 | 2024-11-26 11:45 | LONG | 500 | 240.34 | 242.18 | 01:45 | +1,180 | -62 | +920 | +0.73 | H |
| 1218 | 2024-11-27 13:30 | 2024-11-27 15:00 | LONG | 500 | 242.62 | 243.88 | 01:30 | +780 | -80 | +630 | +0.50 | H |
| 1219 | 2024-11-29 10:15 | 2024-11-29 11:30 | SHORT | 500 | 244.44 | 243.62 | 01:15 | +520 | -98 | +410 | +0.33 | H |
| 1220 | 2024-12-02 10:00 | 2024-12-02 11:45 | LONG | 500 | 243.18 | 245.44 | 01:45 | +1,340 | -50 | +1,130 | +0.89 | H |
| 1221 | 2024-12-03 09:30 | 2024-12-03 11:00 | SHORT | 500 | 245.82 | 245.94 | 01:30 | +260 | -280 | -60 | -0.05 | H |
| 1222 | 2024-12-04 10:45 | 2024-12-04 12:15 | LONG | 500 | 244.72 | 246.88 | 01:30 | +1,260 | -66 | +1,080 | +0.85 | H |
| 1223 | 2024-12-05 13:15 | 2024-12-05 14:30 | LONG | 500 | 247.18 | 247.52 | 01:15 | +520 | -190 | +170 | +0.14 | H |
| 1224 | 2024-12-06 10:00 | 2024-12-06 11:30 | SHORT | 500 | 248.40 | 247.56 | 01:30 | +640 | -110 | +420 | +0.33 | H |
| 1225 | 2024-12-09 10:30 | 2024-12-09 12:00 | LONG | 500 | 246.84 | 249.12 | 01:30 | +1,380 | -54 | +1,140 | +0.92 | H |
| 1226 | 2024-12-10 09:30 | 2024-12-10 11:00 | SHORT | 500 | 249.88 | 248.94 | 01:30 | +580 | -128 | +470 | +0.38 | H |
| 1227 | 2024-12-11 14:00 | 2024-12-11 15:15 | LONG | 500 | 248.22 | 247.88 | 01:15 | +310 | -440 | -170 | -0.14 | H |
| 1228 | 2024-12-17 10:15 | 2024-12-17 12:00 | LONG | 500 | 249.14 | 250.82 | 01:45 | +1,040 | -72 | +840 | +0.67 | H |
| 1229 | 2024-12-18 10:15 | 2024-12-18 12:00 | LONG | 500 | 249.82 | 251.98 | 01:45 | +1,280 | -124 | +1,080 | +0.87 | H |
| 1230 | 2024-12-19 09:30 | 2024-12-19 10:15 | SHORT | 500 | 252.10 | 251.24 | 00:45 | +520 | -180 | +430 | +0.34 | H |
| 1231 | 2024-12-19 14:00 | 2024-12-19 15:30 | LONG | 500 | 250.88 | 249.42 | 01:30 | +210 | -840 | -730 | -0.58 | H |
| 1232 | 2024-12-20 10:45 | 2024-12-20 12:30 | LONG | 500 | 248.92 | 251.18 | 01:45 | +1,410 | -62 | +1,130 | +0.91 | H |
| 1233 | 2024-12-23 09:45 | 2024-12-23 11:00 | SHORT | 500 | 253.22 | 252.14 | 01:15 | +640 | -110 | +540 | +0.43 | H |
| 1234 | 2024-12-24 10:00 | 2024-12-24 11:15 | LONG | 500 | 254.18 | 255.62 | 01:15 | +860 | -84 | +720 | +0.57 | H |
| 1235 | 2024-12-26 14:30 | 2024-12-26 16:00 | LONG | 500 | 256.40 | 258.04 | 01:30 | +950 | -120 | +820 | +0.64 | H |
| 1236 | 2024-12-27 09:30 | 2024-12-27 10:45 | SHORT | 500 | 258.88 | 258.92 | 01:15 | +320 | -240 | -20 | -0.02 | H |
| 1237 | 2024-12-27 13:15 | 2024-12-27 15:00 | LONG | 500 | 257.92 | 259.88 | 01:45 | +1,180 | -96 | +980 | +0.76 | H |
| 1238 | 2024-12-30 10:00 | 2024-12-30 11:30 | LONG | 500 | 260.14 | 260.44 | 01:30 | +460 | -280 | +150 | +0.12 | H |
| 1239 | 2024-12-30 14:45 | 2024-12-30 16:00 | SHORT | 500 | 261.22 | 260.18 | 01:15 | +720 | -85 | +520 | +0.41 | H |
| 1240 | 2024-12-31 10:30 | 2024-12-31 12:15 | LONG | 500 | 259.44 | 261.62 | 01:45 | +1,320 | -48 | +1,090 | +0.85 | H |
Every method you need.
Already wired in.
Already wired in.
From grid search to walk-forward validation, AlphaFind gives you the full research stack in one engine.
Search
Grid Search
Exhaustive parameter sweep
Quasi-Random Sampling
Sobol · LHS · space-filling
Bayesian
Gaussian process surrogate
Simulated Annealing
Escapes local optima
Evolutionary
NSGA-II
Multi-objective Pareto search
Differential Evolution
Mutation-based optimization
Particle Swarm
Swarm convergence search
CMA-ES
Adaptive covariance strategy
Validation & Stress Testing
Walk-Forward
Anchored IS · rolling OOS
K-Fold CV
Stratified · repeated · grouped
CPCV
Combinatorial purged CV
Monte Carlo
10,000 bootstrap paths · 95% CI
Be there the moment we open the doors.
Join the waitlist. We’ll email you the day AlphaFind goes live.