Ran node /app/agent/dist/backtest.js --symbols NVT,HUBB --strategy breakout --lookback20 --days2000 --stop-pct8 --target-pct24. Local engine audit: IEX daily, current-close signal/entry, signal exit, fixed8/24 brackets, no fees/slippage, no train/holdout; therefore use only as screen, not live edge. NVT return-7.3167%,DD33.1769%,win35.0427%,N117; HUBB-35.6065%,DD41.8128%,win32.1739%,N115. Buyhold475.656/136.974%. Does not contradict independent SIP next-open fixed-ATR60session strategy3368–71: entry/exit/feed/costs differ. Source https://runway.adityaperswal.workers.dev/data/stock-bars?feed=iex&timeframe=1Day ; corrected costed training/heldout stats are separately recorded. Reject using CLI screen alone for an order.
return-7.32
drawdown33.18
win rate35.04
sample117
HUBB_return-35.61
HUBB_drawdown41.81
HUBB_win32.17
HUBB_n115
R91900 HUBB frozen L20/2ATR long-only holdout with cost stress
BacktestsrejectSupply chainHUBB2026-09-19 00:10
Hypothesis: capacity-constrained electrical suppliers with cash growth can benefit from a closing breakout. Fixed baseline before calculation: close above prior20 closing high and SMA50, next-session open; stop2x prior20 arithmetic ATR, target6xATR, maximum60sessions; no intrabar target-before-stop assumption. Separate periods start flat, training2018–2024 and holdout2025–Sep18,2026. Entry-day lows checked; gap stops fill at open, intraday stops at level; fees1bp/slippage5bp eachside, stress15bp. vectorbt longonly portfolio; manual product of trade returns reconciles within1e-8. Initial default-direction run accidentally allowed shorts; discarded before any recorded result/order; only corrected results saved. {"symbol":"HUBB","lookback":20,"ATR_multiple":2,"period":"holdout","slippage_bps":5,"return_pct":-21.13292453225124,"drawdown_pct":30.493533223875357,"win_pct":18.181818181818183,"n":11,"mean_trade_pct":-1.758224422557041,"targets":1} Stress {"symbol":"HUBB","lookback":20,"ATR_multiple":2,"period":"holdout","slippage_bps":15,"return_pct":-22.84905539539477,"drawdown_pct":31.801758858962316,"win_pct":18.181818181818183,"n":11,"mean_trade_pct":-1.9545118335165357,"targets":1} Source https://runway.adityaperswal.workers.dev/data/stock-bars?timeframe=1Day&feed=sip&adjustment=all . Daily proxy omits 15-minute enforcement, discretionary +2R ratchet and afterhours gaps; cannot treat it as validated live-manager expectancy. Adjacent L10/20/40 x ATR2/3 diagnostics recorded, no parameter chosen using holdout. NVT current signal false; HUBB belowSMA50. Historical fundamental filter unavailable, survivorship/selection risk and few recent trades remain. Results support NVT further prospective validation, not an order tonight.
return-21.13
drawdown30.49
win rate18.18
sample11
mean_trade_pct-1.76
targets1
stress_return-22.85
stress_drawdown31.8
R91900 HUBB frozen L20/2ATR long-only train with cost stress
BacktestsrejectSupply chainHUBB2026-09-19 00:10
Hypothesis: capacity-constrained electrical suppliers with cash growth can benefit from a closing breakout. Fixed baseline before calculation: close above prior20 closing high and SMA50, next-session open; stop2x prior20 arithmetic ATR, target6xATR, maximum60sessions; no intrabar target-before-stop assumption. Separate periods start flat, training2018–2024 and holdout2025–Sep18,2026. Entry-day lows checked; gap stops fill at open, intraday stops at level; fees1bp/slippage5bp eachside, stress15bp. vectorbt longonly portfolio; manual product of trade returns reconciles within1e-8. Initial default-direction run accidentally allowed shorts; discarded before any recorded result/order; only corrected results saved. {"symbol":"HUBB","lookback":20,"ATR_multiple":2,"period":"train","slippage_bps":5,"return_pct":29.622942449060268,"drawdown_pct":32.259413005863905,"win_pct":34.883720930232556,"n":43,"mean_trade_pct":0.9504845423487236,"targets":11} Stress {"symbol":"HUBB","lookback":20,"ATR_multiple":2,"period":"train","slippage_bps":15,"return_pct":18.94125314366264,"drawdown_pct":33.000543941158,"win_pct":34.883720930232556,"n":43,"mean_trade_pct":0.7487851214103924,"targets":11} Source https://runway.adityaperswal.workers.dev/data/stock-bars?timeframe=1Day&feed=sip&adjustment=all . Daily proxy omits 15-minute enforcement, discretionary +2R ratchet and afterhours gaps; cannot treat it as validated live-manager expectancy. Adjacent L10/20/40 x ATR2/3 diagnostics recorded, no parameter chosen using holdout. NVT current signal false; HUBB belowSMA50. Historical fundamental filter unavailable, survivorship/selection risk and few recent trades remain. Results support NVT further prospective validation, not an order tonight.
return29.62
drawdown32.26
win rate34.88
sample43
mean_trade_pct0.95
targets11
stress_return18.94
stress_drawdown33
R91900 NVT frozen L20/2ATR long-only holdout with cost stress
BacktestswatchSupply chainNVT2026-09-19 00:10
Hypothesis: capacity-constrained electrical suppliers with cash growth can benefit from a closing breakout. Fixed baseline before calculation: close above prior20 closing high and SMA50, next-session open; stop2x prior20 arithmetic ATR, target6xATR, maximum60sessions; no intrabar target-before-stop assumption. Separate periods start flat, training2018–2024 and holdout2025–Sep18,2026. Entry-day lows checked; gap stops fill at open, intraday stops at level; fees1bp/slippage5bp eachside, stress15bp. vectorbt longonly portfolio; manual product of trade returns reconciles within1e-8. Initial default-direction run accidentally allowed shorts; discarded before any recorded result/order; only corrected results saved. {"symbol":"NVT","lookback":20,"ATR_multiple":2,"period":"holdout","slippage_bps":5,"return_pct":38.01431920685477,"drawdown_pct":30.443203166088118,"win_pct":33.33333333333333,"n":12,"mean_trade_pct":3.7722441127324444,"targets":3} Stress {"symbol":"NVT","lookback":20,"ATR_multiple":2,"period":"holdout","slippage_bps":15,"return_pct":34.74140408033717,"drawdown_pct":30.859294874456864,"win_pct":33.33333333333333,"n":12,"mean_trade_pct":3.5649068063104035,"targets":3} Source https://runway.adityaperswal.workers.dev/data/stock-bars?timeframe=1Day&feed=sip&adjustment=all . Daily proxy omits 15-minute enforcement, discretionary +2R ratchet and afterhours gaps; cannot treat it as validated live-manager expectancy. Adjacent L10/20/40 x ATR2/3 diagnostics recorded, no parameter chosen using holdout. NVT current signal false; HUBB belowSMA50. Historical fundamental filter unavailable, survivorship/selection risk and few recent trades remain. Results support NVT further prospective validation, not an order tonight.
return38.01
drawdown30.44
win rate33.33
sample12
mean_trade_pct3.77
targets3
stress_return34.74
stress_drawdown30.86
R91900 NVT frozen L20/2ATR long-only train with cost stress
BacktestswatchSupply chainNVT2026-09-19 00:10
Hypothesis: capacity-constrained electrical suppliers with cash growth can benefit from a closing breakout. Fixed baseline before calculation: close above prior20 closing high and SMA50, next-session open; stop2x prior20 arithmetic ATR, target6xATR, maximum60sessions; no intrabar target-before-stop assumption. Separate periods start flat, training2018–2024 and holdout2025–Sep18,2026. Entry-day lows checked; gap stops fill at open, intraday stops at level; fees1bp/slippage5bp eachside, stress15bp. vectorbt longonly portfolio; manual product of trade returns reconciles within1e-8. Initial default-direction run accidentally allowed shorts; discarded before any recorded result/order; only corrected results saved. {"symbol":"NVT","lookback":20,"ATR_multiple":2,"period":"train","slippage_bps":5,"return_pct":147.57958759279143,"drawdown_pct":23.404508338535944,"win_pct":44.44444444444444,"n":36,"mean_trade_pct":3.036020094846493,"targets":12} Stress {"symbol":"NVT","lookback":20,"ATR_multiple":2,"period":"train","slippage_bps":15,"return_pct":130.38043745758864,"drawdown_pct":23.862705817854334,"win_pct":44.44444444444444,"n":36,"mean_trade_pct":2.83015376658531,"targets":12} Source https://runway.adityaperswal.workers.dev/data/stock-bars?timeframe=1Day&feed=sip&adjustment=all . Daily proxy omits 15-minute enforcement, discretionary +2R ratchet and afterhours gaps; cannot treat it as validated live-manager expectancy. Adjacent L10/20/40 x ATR2/3 diagnostics recorded, no parameter chosen using holdout. NVT current signal false; HUBB belowSMA50. Historical fundamental filter unavailable, survivorship/selection risk and few recent trades remain. Results support NVT further prospective validation, not an order tonight.
return147.58
drawdown23.4
win rate44.44
sample36
mean_trade_pct3.04
targets12
stress_return130.38
stress_drawdown23.86
R91806 CLI MU breakout diagnostic, not execution validation
Required CLI: node /app/agent/dist/backtest.js --symbols TEN,PSIX,AA,CENX,ALM,MU --strategy breakout --lookback20 --days1460 --stop-pct8 --target-pct24 (actual invocation uses spaced --lookback 20). Source https://runway.adityaperswal.workers.dev/data/stock-bars . Engine source inspection: IEX, same-close signals/entries, fixed brackets, no commissions/slippage, no holdout, and no adverse opening-gap execution. Therefore diagnostic only; independent costed calendar-split vectorbt analyses3310-3321 supersede for inference. These results are a different strategy and feed, so neither disagreement nor high return validates current eligibility. Full metrics:{"symbol":"MU","bars":1003,"returnPct":33.273060525293154,"buyAndHoldPct":1775.4463428681127,"maxDrawdownPct":36.24458031131956,"winRate":41.66666666666667,"avgTradePct":0.47232312281293787}
return33.27
drawdown36.24
win rate41.67
sample84
bars1003
buyhold_pct1775.45
avg_trade_pct0.47
R91806 CLI ALM breakout diagnostic, not execution validation
Required CLI: node /app/agent/dist/backtest.js --symbols TEN,PSIX,AA,CENX,ALM,MU --strategy breakout --lookback20 --days1460 --stop-pct8 --target-pct24 (actual invocation uses spaced --lookback 20). Source https://runway.adityaperswal.workers.dev/data/stock-bars . Engine source inspection: IEX, same-close signals/entries, fixed brackets, no commissions/slippage, no holdout, and no adverse opening-gap execution. Therefore diagnostic only; independent costed calendar-split vectorbt analyses3310-3321 supersede for inference. These results are a different strategy and feed, so neither disagreement nor high return validates current eligibility. Full metrics:{"symbol":"ALM","bars":297,"returnPct":124.51031088911115,"buyAndHoldPct":190.14373716632446,"maxDrawdownPct":18.106251492680077,"winRate":50,"avgTradePct":4.21481208976961}
return124.51
drawdown18.11
win rate50
sample22
bars297
buyhold_pct190.14
avg_trade_pct4.21
R91806 CLI CENX breakout diagnostic, not execution validation
Required CLI: node /app/agent/dist/backtest.js --symbols TEN,PSIX,AA,CENX,ALM,MU --strategy breakout --lookback20 --days1460 --stop-pct8 --target-pct24 (actual invocation uses spaced --lookback 20). Source https://runway.adityaperswal.workers.dev/data/stock-bars . Engine source inspection: IEX, same-close signals/entries, fixed brackets, no commissions/slippage, no holdout, and no adverse opening-gap execution. Therefore diagnostic only; independent costed calendar-split vectorbt analyses3310-3321 supersede for inference. These results are a different strategy and feed, so neither disagreement nor high return validates current eligibility. Full metrics:{"symbol":"CENX","bars":1003,"returnPct":30.783852368281472,"buyAndHoldPct":433.07189542483655,"maxDrawdownPct":34.92360735923026,"winRate":32.5,"avgTradePct":0.525451745267276}
return30.78
drawdown34.92
win rate32.5
sample80
bars1003
buyhold_pct433.07
avg_trade_pct0.53
R91806 CLI AA breakout diagnostic, not execution validation
Required CLI: node /app/agent/dist/backtest.js --symbols TEN,PSIX,AA,CENX,ALM,MU --strategy breakout --lookback20 --days1460 --stop-pct8 --target-pct24 (actual invocation uses spaced --lookback 20). Source https://runway.adityaperswal.workers.dev/data/stock-bars . Engine source inspection: IEX, same-close signals/entries, fixed brackets, no commissions/slippage, no holdout, and no adverse opening-gap execution. Therefore diagnostic only; independent costed calendar-split vectorbt analyses3310-3321 supersede for inference. These results are a different strategy and feed, so neither disagreement nor high return validates current eligibility. Full metrics:{"symbol":"AA","bars":1003,"returnPct":-25.392344990122197,"buyAndHoldPct":5.347533632286994,"maxDrawdownPct":42.471162084949704,"winRate":32.857142857142854,"avgTradePct":-0.34057498169084205}
return-25.39
drawdown42.47
win rate32.86
sample70
bars1003
buyhold_pct5.35
avg_trade_pct-0.34
R91806 CLI PSIX breakout diagnostic, not execution validation
Required CLI: node /app/agent/dist/backtest.js --symbols TEN,PSIX,AA,CENX,ALM,MU --strategy breakout --lookback20 --days1460 --stop-pct8 --target-pct24 (actual invocation uses spaced --lookback 20). Source https://runway.adityaperswal.workers.dev/data/stock-bars . Engine source inspection: IEX, same-close signals/entries, fixed brackets, no commissions/slippage, no holdout, and no adverse opening-gap execution. Therefore diagnostic only; independent costed calendar-split vectorbt analyses3310-3321 supersede for inference. These results are a different strategy and feed, so neither disagreement nor high return validates current eligibility. Full metrics:{"symbol":"PSIX","bars":432,"returnPct":42.32466690454897,"buyAndHoldPct":51.500000000000014,"maxDrawdownPct":15.0166294688044,"winRate":41.935483870967744,"avgTradePct":1.3974287736690292}
return42.32
drawdown15.02
win rate41.94
sample31
bars432
buyhold_pct51.5
avg_trade_pct1.4
R91806 CLI TEN breakout diagnostic, not execution validation
Required CLI: node /app/agent/dist/backtest.js --symbols TEN,PSIX,AA,CENX,ALM,MU --strategy breakout --lookback20 --days1460 --stop-pct8 --target-pct24 (actual invocation uses spaced --lookback 20). Source https://runway.adityaperswal.workers.dev/data/stock-bars . Engine source inspection: IEX, same-close signals/entries, fixed brackets, no commissions/slippage, no holdout, and no adverse opening-gap execution. Therefore diagnostic only; independent costed calendar-split vectorbt analyses3310-3321 supersede for inference. These results are a different strategy and feed, so neither disagreement nor high return validates current eligibility. Full metrics:{"symbol":"TEN","bars":1001,"returnPct":23.779307240557834,"buyAndHoldPct":178.24367088607596,"maxDrawdownPct":19.727161495833574,"winRate":37.333333333333336,"avgTradePct":0.39570689620069754}
return23.78
drawdown19.73
win rate37.33
sample75
bars1001
buyhold_pct178.24
avg_trade_pct0.4
R91806 SPY: costed ATR breakout with calendar holdout
BacktestswatchSupply chainSPY2026-09-18 06:16
1. Preregistered note3573, detailed methods3577. Daily SIP/all through Sep17; 2016-2023 train (AA starts Nov1 2016), 2024-25 calendar holdout, 2026 separate known-period diagnostic. Source https://runway.adityaperswal.workers.dev/data/stock-bars . 2. Next-open prior20-close breakout AND SMA50, prior20 arithmetic ATR, E-2ATR/E+6ATR brackets, 60-session max; entry-day stops and adverse opening gaps included, target opening priority, ambiguous intraday stop first. Vectorbt $10000 reinvested fractional proxy, 1bp fee+5bp slip per side; stress15bp slip. Fixed brackets omit +2R management and actual 15min/overnight execution. 3. train: marked 110.5027%, closed compound 108.0478%, DD 15.8699%, win 50.00%, N=42, open=1, targets=12. holdout: marked 25.6958%, closed compound 24.8288%, DD 6.4636%, win 45.45%, N=11, open=1, targets=3. forward2026: marked 0.5309%, closed compound 0.3321%, DD 8.4508%, win 20.00%, N=5, open=1, targets=1. Stress holdout: holdout: marked 22.8380%, closed compound 22.1126%, DD 6.8370%, win 45.45%, N=11, open=1, targets=3. 4. L10/40 and other trend filters recorded as sensitivities, not selected by holdout. Current survivor selection, retrospective adjustments, small N, prior viewing of history and no historical primary-event labeling mean this is a technical overlay experiment, not proof of bottleneck alpha. Marked return includes open paper; closed statistics do not. Conclusion: Benchmark only; outside Supply entry mandate.
return25.7
drawdown6.46
win rate45.45
sample11
holdout_closed_pct24.83
holdout_stress_pct22.84
train_return_pct110.5
train_sample42
forward2026_return_pct0.53
forward2026_closed_pct0.33
forward2026_sample5
open_holdout1
R91806 MU: costed ATR breakout with calendar holdout
BacktestswatchSupply chainMU2026-09-18 06:16
1. Preregistered note3573, detailed methods3577. Daily SIP/all through Sep17; 2016-2023 train (AA starts Nov1 2016), 2024-25 calendar holdout, 2026 separate known-period diagnostic. Source https://runway.adityaperswal.workers.dev/data/stock-bars . 2. Next-open prior20-close breakout AND SMA50, prior20 arithmetic ATR, E-2ATR/E+6ATR brackets, 60-session max; entry-day stops and adverse opening gaps included, target opening priority, ambiguous intraday stop first. Vectorbt $10000 reinvested fractional proxy, 1bp fee+5bp slip per side; stress15bp slip. Fixed brackets omit +2R management and actual 15min/overnight execution. 3. train: marked 14.8198%, closed compound 15.8252%, DD 69.0629%, win 33.33%, N=51, open=1, targets=14. holdout: marked 32.4452%, closed compound 28.6361%, DD 56.5251%, win 41.18%, N=17, open=1, targets=6. forward2026: marked 57.9976%, closed compound 54.7930%, DD 36.9163%, win 50.00%, N=6, open=1, targets=3. Stress holdout: holdout: marked 27.8900%, closed compound 24.3360%, DD 57.0437%, win 41.18%, N=17, open=1, targets=6. 4. L10/40 and other trend filters recorded as sensitivities, not selected by holdout. Current survivor selection, retrospective adjustments, small N, prior viewing of history and no historical primary-event labeling mean this is a technical overlay experiment, not proof of bottleneck alpha. Marked return includes open paper; closed statistics do not. Conclusion: Retain as research candidate; historical positivity alone does not establish current signal, valuation or executable payoff.
return32.45
drawdown56.53
win rate41.18
sample17
holdout_closed_pct28.64
holdout_stress_pct27.89
train_return_pct14.82
train_sample51
forward2026_return_pct58
forward2026_closed_pct54.79
forward2026_sample6
open_holdout1
R91806 FTK: costed ATR breakout with calendar holdout
BacktestsrejectSupply chainFTK2026-09-18 06:16
1. Preregistered note3573, detailed methods3577. Daily SIP/all through Sep17; 2016-2023 train (AA starts Nov1 2016), 2024-25 calendar holdout, 2026 separate known-period diagnostic. Source https://runway.adityaperswal.workers.dev/data/stock-bars . 2. Next-open prior20-close breakout AND SMA50, prior20 arithmetic ATR, E-2ATR/E+6ATR brackets, 60-session max; entry-day stops and adverse opening gaps included, target opening priority, ambiguous intraday stop first. Vectorbt $10000 reinvested fractional proxy, 1bp fee+5bp slip per side; stress15bp slip. Fixed brackets omit +2R management and actual 15min/overnight execution. 3. train: marked -89.0755%, closed compound -89.0755%, DD 94.3601%, win 16.67%, N=36, open=0, targets=4. holdout: marked -27.3629%, closed compound -30.9049%, DD 45.5460%, win 26.32%, N=19, open=1, targets=5. forward2026: marked -29.2466%, closed compound -29.2466%, DD 32.3656%, win 16.67%, N=6, open=0, targets=1. Stress holdout: holdout: marked -30.1412%, closed compound -33.4812%, DD 46.7841%, win 26.32%, N=19, open=1, targets=5. 4. L10/40 and other trend filters recorded as sensitivities, not selected by holdout. Current survivor selection, retrospective adjustments, small N, prior viewing of history and no historical primary-event labeling mean this is a technical overlay experiment, not proof of bottleneck alpha. Marked return includes open paper; closed statistics do not. Conclusion: Baseline lacks consistent train/holdout support; reject as standalone live rule.
return-27.36
drawdown45.55
win rate26.32
sample19
holdout_closed_pct-30.9
holdout_stress_pct-30.14
train_return_pct-89.08
train_sample36
forward2026_return_pct-29.25
forward2026_closed_pct-29.25
forward2026_sample6
open_holdout1
R91806 CENX: costed ATR breakout with calendar holdout
BacktestswatchSupply chainCENX2026-09-18 06:16
1. Preregistered note3573, detailed methods3577. Daily SIP/all through Sep17; 2016-2023 train (AA starts Nov1 2016), 2024-25 calendar holdout, 2026 separate known-period diagnostic. Source https://runway.adityaperswal.workers.dev/data/stock-bars . 2. Next-open prior20-close breakout AND SMA50, prior20 arithmetic ATR, E-2ATR/E+6ATR brackets, 60-session max; entry-day stops and adverse opening gaps included, target opening priority, ambiguous intraday stop first. Vectorbt $10000 reinvested fractional proxy, 1bp fee+5bp slip per side; stress15bp slip. Fixed brackets omit +2R management and actual 15min/overnight execution. 3. train: marked 106.4773%, closed compound 118.1736%, DD 69.9238%, win 33.33%, N=42, open=1, targets=13. holdout: marked 55.3394%, closed compound 29.6065%, DD 51.1477%, win 38.46%, N=13, open=1, targets=5. forward2026: marked -28.4114%, closed compound -28.4114%, DD 45.7865%, win 20.00%, N=5, open=0, targets=1. Stress holdout: holdout: marked 51.2015%, closed compound 26.2802%, DD 51.9231%, win 38.46%, N=13, open=1, targets=5. 4. L10/40 and other trend filters recorded as sensitivities, not selected by holdout. Current survivor selection, retrospective adjustments, small N, prior viewing of history and no historical primary-event labeling mean this is a technical overlay experiment, not proof of bottleneck alpha. Marked return includes open paper; closed statistics do not. Conclusion: Retain as research candidate; historical positivity alone does not establish current signal, valuation or executable payoff.
return55.34
drawdown51.15
win rate38.46
sample13
holdout_closed_pct29.61
holdout_stress_pct51.2
train_return_pct106.48
train_sample42
forward2026_return_pct-28.41
forward2026_closed_pct-28.41
forward2026_sample5
open_holdout1
R91806 AA: costed ATR breakout with calendar holdout
BacktestswatchSupply chainAA2026-09-18 06:16
1. Preregistered note3573, detailed methods3577. Daily SIP/all through Sep17; 2016-2023 train (AA starts Nov1 2016), 2024-25 calendar holdout, 2026 separate known-period diagnostic. Source https://runway.adityaperswal.workers.dev/data/stock-bars . 2. Next-open prior20-close breakout AND SMA50, prior20 arithmetic ATR, E-2ATR/E+6ATR brackets, 60-session max; entry-day stops and adverse opening gaps included, target opening priority, ambiguous intraday stop first. Vectorbt $10000 reinvested fractional proxy, 1bp fee+5bp slip per side; stress15bp slip. Fixed brackets omit +2R management and actual 15min/overnight execution. 3. train: marked 132.3927%, closed compound 104.7072%, DD 59.6778%, win 35.14%, N=37, open=1, targets=12. holdout: marked 48.8489%, closed compound 32.0076%, DD 44.8167%, win 36.36%, N=11, open=1, targets=4. forward2026: marked -4.7619%, closed compound -4.7619%, DD 21.9454%, win 33.33%, N=3, open=0, targets=0. Stress holdout: holdout: marked 45.4646%, closed compound 29.1352%, DD 45.4750%, win 36.36%, N=11, open=1, targets=4. 4. L10/40 and other trend filters recorded as sensitivities, not selected by holdout. Current survivor selection, retrospective adjustments, small N, prior viewing of history and no historical primary-event labeling mean this is a technical overlay experiment, not proof of bottleneck alpha. Marked return includes open paper; closed statistics do not. Conclusion: Retain as research candidate; historical positivity alone does not establish current signal, valuation or executable payoff.
return48.85
drawdown44.82
win rate36.36
sample11
holdout_closed_pct32.01
holdout_stress_pct45.46
train_return_pct132.39
train_sample37
forward2026_return_pct-4.76
forward2026_closed_pct-4.76
forward2026_sample3
open_holdout1
R91806 ALM: costed ATR breakout with calendar holdout