{"schema_version":"v1","slug":"volatility-breakout-us-sp500","name":"Volatility Breakout (US S&P 500)","name_i18n":{},"verdict":"marginal","asset_class":"equity","categories":["breakout","momentum","volatility"],"hypothesis":"Stocks with rising short-term ATR relative to long-term ATR are experiencing volatility expansion, signaling breakout opportunities. Applied to S&P 500 constituents.","rejection_reason":{"primary":"no_edge","secondary":[],"narrative":"Across 720 grid combinations, median Sharpe=0.25, best=1.21. Primary failure mode: no_edge."},"target_universe":{"description":"S&P 500 constituents, ~503 stocks","symbols":[]},"performance_summary":{"sharpe_median":0.2459,"max_drawdown_pct":-11.1,"win_rate":null,"alpha_annualized_pct":null,"p_value":0.52,"backtest_period":{"start":"2022-02-01","end":"2026-09-01"}},"grid_summary":{"sharpe":{"p25":0.03,"p75":0.48,"best":1.21,"worst":-0.67,"median":0.25},"n_combinations":720},"methodology":{"notes":"{\"walk_forward_definition\": {\"type\": \"single_pass\", \"description\": \"Full period backtest without walk-forward split\", \"verdict_basis\": \"full_period\"}}","signal":null,"benchmark":null,"rebalance":null,"slippage_model":"open-on-open + variable bps fixed","position_sizing":"equal_weight","regime_definition":"GSPC SMA20/SMA60 three-class: UP (close>SMA20 AND SMA20>SMA60), DOWN (close<SMA20 AND SMA20<SMA60), FLAT (else)","transaction_cost_bps":5},"provenance":{"data_source":"kabu STATION REST API + J-Quants daily bars","source_project":"qbuntu-analysis","computed_asof":"2026-09-24T02:22:15","git_sha_z":"1455e77","git_sha_genkidama":"17a7674","python_version":"3.12.10","numpy_version":"2.4.2","pandas_version":"3.0.0","tier":"shallow"},"runs":[{"run_id":"r-volatility-breakout-us-sp500-0000","name":"atr_short=5, atr_long=20, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False","params":{"atr_long":20,"cost_bps":5,"n_stocks":5,"atr_short":5,"regime_gate":false,"holding_days":1},"performance":{"sharpe":-0.05,"max_drawdown_pct":-6.8,"alpha_annualized_pct":-0.2,"p_value":0.92,"regime_breakdown":{"UP":-0.876552,"DOWN":-0.333463,"FLAT":0.890199}},"executed_at":"2026-09-23T16:11:56","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0001","name":"atr_short=5, atr_long=20, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True","params":{"atr_long":20,"cost_bps":5,"n_stocks":5,"atr_short":5,"regime_gate":true,"holding_days":1},"performance":{"sharpe":0.08,"max_drawdown_pct":-5.2,"alpha_annualized_pct":0.3,"p_value":0.87,"regime_breakdown":{"UP":-0.642502,"DOWN":-0.333463,"FLAT":0.890199}},"executed_at":"2026-09-23T16:11:57","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0002","name":"atr_short=5, atr_long=20, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False","params":{"atr_long":20,"cost_bps":10,"n_stocks":5,"atr_short":5,"regime_gate":false,"holding_days":1},"performance":{"sharpe":-0.36,"max_drawdown_pct":-10.1,"alpha_annualized_pct":-1.4,"p_value":0.43,"regime_breakdown":{"UP":-1.231158,"DOWN":-0.698202,"FLAT":0.617786}},"executed_at":"2026-09-23T16:11:57","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0003","name":"atr_short=5, atr_long=20, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True","params":{"atr_long":20,"cost_bps":10,"n_stocks":5,"atr_short":5,"regime_gate":true,"holding_days":1},"performance":{"sharpe":-0.18,"max_drawdown_pct":-5.8,"alpha_annualized_pct":-0.7,"p_value":0.7,"regime_breakdown":{"UP":-0.836228,"DOWN":-0.698202,"FLAT":0.617786}},"executed_at":"2026-09-23T16:11:57","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0008","name":"atr_short=5, atr_long=20, holding_days=1, n_stocks=20, cost_bps=5, regime_gate=False","params":{"atr_long":20,"cost_bps":5,"n_stocks":20,"atr_short":5,"regime_gate":false,"holding_days":1},"performance":{"sharpe":-0.02,"max_drawdown_pct":-4.1,"alpha_annualized_pct":-0.1,"p_value":0.96,"regime_breakdown":{"UP":-0.552739,"DOWN":0.111622,"FLAT":0.70124}},"executed_at":"2026-09-23T16:11:58","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0036","name":"atr_short=5, atr_long=20, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=False","params":{"atr_long":20,"cost_bps":5,"n_stocks":5,"atr_short":5,"regime_gate":false,"holding_days":20},"performance":{"sharpe":-0.43,"max_drawdown_pct":-32.4,"alpha_annualized_pct":-5.9,"p_value":0.35,"regime_breakdown":{"UP":0.148909,"DOWN":-2.456211,"FLAT":-0.61714}},"executed_at":"2026-09-23T16:12:06","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0038","name":"atr_short=5, atr_long=20, holding_days=20, n_stocks=5, cost_bps=10, regime_gate=False","params":{"atr_long":20,"cost_bps":10,"n_stocks":5,"atr_short":5,"regime_gate":false,"holding_days":20},"performance":{"sharpe":-0.52,"max_drawdown_pct":-35.2,"alpha_annualized_pct":-7.1,"p_value":0.26,"regime_breakdown":{"UP":0.055488,"DOWN":-2.625682,"FLAT":-0.689778}},"executed_at":"2026-09-23T16:12:06","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0046","name":"atr_short=5, atr_long=20, holding_days=20, n_stocks=20, cost_bps=10, regime_gate=False","params":{"atr_long":20,"cost_bps":10,"n_stocks":20,"atr_short":5,"regime_gate":false,"holding_days":20},"performance":{"sharpe":-0.67,"max_drawdown_pct":-25.6,"alpha_annualized_pct":-5.5,"p_value":0.15,"regime_breakdown":{"UP":-0.398926,"DOWN":-1.153458,"FLAT":-0.804148}},"executed_at":"2026-09-23T16:12:09","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0072","name":"atr_short=5, atr_long=40, holding_days=10, n_stocks=5, cost_bps=5, regime_gate=False","params":{"atr_long":40,"cost_bps":5,"n_stocks":5,"atr_short":5,"regime_gate":false,"holding_days":10},"performance":{"sharpe":-0.15,"max_drawdown_pct":-15,"alpha_annualized_pct":-1.4,"p_value":0.75,"regime_breakdown":{"UP":0.41761,"DOWN":-1.906061,"FLAT":-0.258256}},"executed_at":"2026-09-23T16:12:16","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0105","name":"atr_short=5, atr_long=60, holding_days=1, n_stocks=20, cost_bps=5, regime_gate=True","params":{"atr_long":60,"cost_bps":5,"n_stocks":20,"atr_short":5,"regime_gate":true,"holding_days":1},"performance":{"sharpe":0.41,"max_drawdown_pct":-3.8,"alpha_annualized_pct":1.1,"p_value":0.38,"regime_breakdown":{"UP":0.177932,"DOWN":0.402194,"FLAT":0.684154}},"executed_at":"2026-09-23T16:12:25","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0138","name":"atr_short=5, atr_long=60, holding_days=20, n_stocks=10, cost_bps=10, regime_gate=False","params":{"atr_long":60,"cost_bps":10,"n_stocks":10,"atr_short":5,"regime_gate":false,"holding_days":20},"performance":{"sharpe":0.05,"max_drawdown_pct":-15.8,"alpha_annualized_pct":0.5,"p_value":0.92,"regime_breakdown":{"UP":0.244763,"DOWN":-0.057732,"FLAT":-0.210147}},"executed_at":"2026-09-23T16:12:34","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0144","name":"atr_short=5, atr_long=120, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False","params":{"atr_long":120,"cost_bps":5,"n_stocks":5,"atr_short":5,"regime_gate":false,"holding_days":1},"performance":{"sharpe":0.04,"max_drawdown_pct":-12.2,"alpha_annualized_pct":0.2,"p_value":0.93,"regime_breakdown":{"UP":-0.018032,"DOWN":-0.134439,"FLAT":0.167642}},"executed_at":"2026-09-23T16:12:35","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0172","name":"atr_short=5, atr_long=120, holding_days=10, n_stocks=10, cost_bps=5, regime_gate=False","params":{"atr_long":120,"cost_bps":5,"n_stocks":10,"atr_short":5,"regime_gate":false,"holding_days":10},"performance":{"sharpe":0.74,"max_drawdown_pct":-9,"alpha_annualized_pct":5.2,"p_value":0.12,"regime_breakdown":{"UP":1.095209,"DOWN":1.270819,"FLAT":-0.214232}},"executed_at":"2026-09-23T16:12:43","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0205","name":"atr_short=10, atr_long=20, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=True","params":{"atr_long":20,"cost_bps":5,"n_stocks":5,"atr_short":10,"regime_gate":true,"holding_days":5},"performance":{"sharpe":0.04,"max_drawdown_pct":-12.3,"alpha_annualized_pct":0.3,"p_value":0.93,"regime_breakdown":{"UP":0.613664,"DOWN":0.096948,"FLAT":-0.771919}},"executed_at":"2026-09-23T16:12:52","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0238","name":"atr_short=10, atr_long=20, holding_days=20, n_stocks=20, cost_bps=10, regime_gate=False","params":{"atr_long":20,"cost_bps":10,"n_stocks":20,"atr_short":10,"regime_gate":false,"holding_days":20},"performance":{"sharpe":-0.23,"max_drawdown_pct":-19.3,"alpha_annualized_pct":-1.6,"p_value":0.62,"regime_breakdown":{"UP":0.577538,"DOWN":-1.719515,"FLAT":-0.647162}},"executed_at":"2026-09-23T16:13:01","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0271","name":"atr_short=10, atr_long=40, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=True","params":{"atr_long":40,"cost_bps":10,"n_stocks":10,"atr_short":10,"regime_gate":true,"holding_days":10},"performance":{"sharpe":-0.32,"max_drawdown_pct":-20.6,"alpha_annualized_pct":-3,"p_value":0.49,"regime_breakdown":{"UP":0.347641,"DOWN":-1.532357,"FLAT":-0.368491}},"executed_at":"2026-09-23T16:13:10","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0304","name":"atr_short=10, atr_long=60, holding_days=5, n_stocks=10, cost_bps=5, regime_gate=False","params":{"atr_long":60,"cost_bps":5,"n_stocks":10,"atr_short":10,"regime_gate":false,"holding_days":5},"performance":{"sharpe":0.1,"max_drawdown_pct":-10.8,"alpha_annualized_pct":0.8,"p_value":0.82,"regime_breakdown":{"UP":0.297337,"DOWN":-0.301213,"FLAT":-0.09483}},"executed_at":"2026-09-23T16:13:19","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0337","name":"atr_short=10, atr_long=120, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True","params":{"atr_long":120,"cost_bps":5,"n_stocks":5,"atr_short":10,"regime_gate":true,"holding_days":1},"performance":{"sharpe":0.27,"max_drawdown_pct":-11.2,"alpha_annualized_pct":1.6,"p_value":0.57,"regime_breakdown":{"UP":0.84013,"DOWN":0.848371,"FLAT":-0.866666}},"executed_at":"2026-09-23T16:13:27","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0370","name":"atr_short=10, atr_long=120, holding_days=10, n_stocks=20, cost_bps=10, regime_gate=False","params":{"atr_long":120,"cost_bps":10,"n_stocks":20,"atr_short":10,"regime_gate":false,"holding_days":10},"performance":{"sharpe":0.09,"max_drawdown_pct":-12.9,"alpha_annualized_pct":0.6,"p_value":0.85,"regime_breakdown":{"UP":0.972657,"DOWN":-0.38455,"FLAT":-0.654961}},"executed_at":"2026-09-23T16:13:36","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0403","name":"atr_short=14, atr_long=20, holding_days=5, n_stocks=10, cost_bps=10, regime_gate=True","params":{"atr_long":20,"cost_bps":10,"n_stocks":10,"atr_short":14,"regime_gate":true,"holding_days":5},"performance":{"sharpe":0.42,"max_drawdown_pct":-7.5,"alpha_annualized_pct":2.3,"p_value":0.36,"regime_breakdown":{"UP":0.236325,"DOWN":1.248432,"FLAT":0.320576}},"executed_at":"2026-09-23T16:13:45","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0436","name":"atr_short=14, atr_long=40, holding_days=1, n_stocks=10, cost_bps=5, regime_gate=False","params":{"atr_long":40,"cost_bps":5,"n_stocks":10,"atr_short":14,"regime_gate":false,"holding_days":1},"performance":{"sharpe":0.55,"max_drawdown_pct":-5.4,"alpha_annualized_pct":1.9,"p_value":0.23,"regime_breakdown":{"UP":0.74523,"DOWN":0.938165,"FLAT":0.042864}},"executed_at":"2026-09-23T16:13:54","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0469","name":"atr_short=14, atr_long=40, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=True","params":{"atr_long":40,"cost_bps":5,"n_stocks":5,"atr_short":14,"regime_gate":true,"holding_days":20},"performance":{"sharpe":0.37,"max_drawdown_pct":-25.5,"alpha_annualized_pct":5.4,"p_value":0.42,"regime_breakdown":{"UP":0.263171,"DOWN":-0.450648,"FLAT":1.277893}},"executed_at":"2026-09-23T16:14:03","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0502","name":"atr_short=14, atr_long=60, holding_days=5, n_stocks=20, cost_bps=10, regime_gate=False","params":{"atr_long":60,"cost_bps":10,"n_stocks":20,"atr_short":14,"regime_gate":false,"holding_days":5},"performance":{"sharpe":0.04,"max_drawdown_pct":-6.9,"alpha_annualized_pct":0.2,"p_value":0.94,"regime_breakdown":{"UP":0.216037,"DOWN":0.927284,"FLAT":-0.896897}},"executed_at":"2026-09-23T16:14:12","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0535","name":"atr_short=14, atr_long=120, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=True","params":{"atr_long":120,"cost_bps":10,"n_stocks":10,"atr_short":14,"regime_gate":true,"holding_days":1},"performance":{"sharpe":0.42,"max_drawdown_pct":-5.2,"alpha_annualized_pct":1.8,"p_value":0.37,"regime_breakdown":{"UP":0.699134,"DOWN":1.801696,"FLAT":-0.590985}},"executed_at":"2026-09-23T16:14:21","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0568","name":"atr_short=14, atr_long=120, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=False","params":{"atr_long":120,"cost_bps":5,"n_stocks":10,"atr_short":14,"regime_gate":false,"holding_days":20},"performance":{"sharpe":0.76,"max_drawdown_pct":-16.5,"alpha_annualized_pct":9.5,"p_value":0.11,"regime_breakdown":{"UP":1.134036,"DOWN":0.797766,"FLAT":0.084959}},"executed_at":"2026-09-23T16:14:29","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0576","name":"atr_short=20, atr_long=40, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False","params":{"atr_long":40,"cost_bps":5,"n_stocks":5,"atr_short":20,"regime_gate":false,"holding_days":1},"performance":{"sharpe":0.85,"max_drawdown_pct":-3.7,"alpha_annualized_pct":3.1,"p_value":0.067,"regime_breakdown":{"UP":1.097643,"DOWN":0.474532,"FLAT":0.637251}},"executed_at":"2026-09-23T16:14:32","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0602","name":"atr_short=20, atr_long=40, holding_days=10, n_stocks=5, cost_bps=10, regime_gate=False","params":{"atr_long":40,"cost_bps":10,"n_stocks":5,"atr_short":20,"regime_gate":false,"holding_days":10},"performance":{"sharpe":0.04,"max_drawdown_pct":-19,"alpha_annualized_pct":0.5,"p_value":0.93,"regime_breakdown":{"UP":0.476142,"DOWN":-1.219416,"FLAT":-0.093731}},"executed_at":"2026-09-23T16:14:39","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0624","name":"atr_short=20, atr_long=60, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False","params":{"atr_long":60,"cost_bps":5,"n_stocks":5,"atr_short":20,"regime_gate":false,"holding_days":1},"performance":{"sharpe":1.21,"max_drawdown_pct":-4.3,"alpha_annualized_pct":5.1,"p_value":0.011,"regime_breakdown":{"UP":1.601587,"DOWN":1.230672,"FLAT":0.476848}},"executed_at":"2026-09-23T16:14:45","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0636","name":"atr_short=20, atr_long=60, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=False","params":{"atr_long":60,"cost_bps":5,"n_stocks":5,"atr_short":20,"regime_gate":false,"holding_days":5},"performance":{"sharpe":0.53,"max_drawdown_pct":-10,"alpha_annualized_pct":5.6,"p_value":0.25,"regime_breakdown":{"UP":1.190976,"DOWN":-2.741273,"FLAT":0.294711}},"executed_at":"2026-09-23T16:14:48","notes":null},{"run_id":"r-volatility-breakout-us-sp500-0669","name":"atr_short=20, atr_long=60, holding_days=20, n_stocks=20, cost_bps=5, regime_gate=True","params":{"atr_long":60,"cost_bps":5,"n_stocks":20,"atr_short":20,"regime_gate":true,"holding_days":20},"performance":{"sharpe":0.32,"max_drawdown_pct":-10.5,"alpha_annualized_pct":2.7,"p_value":0.5,"regime_breakdown":{"UP":1.056619,"DOWN":-1.301905,"FLAT":-0.389435}},"executed_at":"2026-09-23T16:14:57","notes":null}],"facts":[{"fact_id":"volatility-breakout-us-sp500-fact-best-sharpe","strategy_slug":"volatility-breakout-us-sp500","claim":"Best grid Sharpe ratio is 1.21 (p=0.011).","value":1.21,"value_text":null,"unit":"sharpe_ratio","context":"period 2022-02-01–2026-09-01; cost=5bps","supports_verdict":"marginal","source_run_id":"r-volatility-breakout-us-sp500-0624","search_tsv":"'-01':12,15 '-02':11 '-09':14 '0.011':8 '1.21':6 '2022':10 '2026':13 '5bps':17 'best':1 'cost':16 'grid':2 'p':7 'period':9 'ratio':4 'sharp':3","cite_url":"https://qbuntu.ai/cite/volatility-breakout-us-sp500-fact-best-sharpe"},{"fact_id":"volatility-breakout-us-sp500-fact-median-sharpe","strategy_slug":"volatility-breakout-us-sp500","claim":"Median Sharpe across 720 grid runs is 0.25.","value":0.25,"value_text":null,"unit":"sharpe_ratio","context":"Full grid of 720 parameter combinations.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'0.25':8 '720':4,12 'across':3 'combin':14 'full':9 'grid':5,10 'median':1 'paramet':13 'run':6 'sharp':2","cite_url":"https://qbuntu.ai/cite/volatility-breakout-us-sp500-fact-median-sharpe"},{"fact_id":"volatility-breakout-us-sp500-fact-regime-down","strategy_slug":"volatility-breakout-us-sp500","claim":"Median Sharpe in DOWN regime is -0.14 across 720 runs.","value":-0.14,"value_text":null,"unit":"sharpe_ratio","context":"Regime=DOWN, N225 SMA20/SMA60 classification.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'-0.14':7 '720':9 'across':8 'classif':15 'median':1 'n225':13 'regim':5,11 'run':10 'sharp':2 'sma20/sma60':14","cite_url":"https://qbuntu.ai/cite/volatility-breakout-us-sp500-fact-regime-down"},{"fact_id":"volatility-breakout-us-sp500-fact-regime-flat","strategy_slug":"volatility-breakout-us-sp500","claim":"Median Sharpe in FLAT regime is -0.09 across 720 runs.","value":-0.09,"value_text":null,"unit":"sharpe_ratio","context":"Regime=FLAT, N225 SMA20/SMA60 classification.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'-0.09':7 '720':9 'across':8 'classif':15 'flat':4,12 'median':1 'n225':13 'regim':5,11 'run':10 'sharp':2 'sma20/sma60':14","cite_url":"https://qbuntu.ai/cite/volatility-breakout-us-sp500-fact-regime-flat"},{"fact_id":"volatility-breakout-us-sp500-fact-regime-up","strategy_slug":"volatility-breakout-us-sp500","claim":"Median Sharpe in UP regime is 0.60 across 720 runs.","value":0.6,"value_text":null,"unit":"sharpe_ratio","context":"Regime=UP, N225 SMA20/SMA60 classification.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'0.60':7 '720':9 'across':8 'classif':15 'median':1 'n225':13 'regim':5,11 'run':10 'sharp':2 'sma20/sma60':14","cite_url":"https://qbuntu.ai/cite/volatility-breakout-us-sp500-fact-regime-up"}],"related_strategies":[{"related_slug":"volatility-breakout-jp-all","relation":"same_strategy"},{"related_slug":"volatility-breakout-jp-growth","relation":"same_strategy"}],"tags":["volatility","breakout","momentum","us-market","sp500","grid-search"],"_links":{"self":"https://qbuntu.ai/v1/strategies/volatility-breakout-us-sp500","html":"https://qbuntu.ai/strategies/volatility-breakout-us-sp500","markdown":"https://qbuntu.ai/ai/strategies/volatility-breakout-us-sp500.md"}}