{"schema_version":"v1","slug":"mean-reversion-us-sp500","name":"Mean Reversion (US S&P 500)","name_i18n":{},"verdict":"rejected","asset_class":"equity","categories":["cross-sectional","factor","mean-reversion"],"hypothesis":"Stocks deviating from fair value (measured by z-score, RSI, Bollinger, or MRS) revert to the mean. LONG oversold, SHORT overbought. Applied to S&P 500 constituents.","rejection_reason":{"primary":"no_edge","secondary":[],"narrative":"Across 1024 grid combinations, median Sharpe=-0.25, best=1.04. Primary failure mode: no_edge."},"target_universe":{"description":"S&P 500 constituents, ~503 stocks","symbols":[]},"performance_summary":{"sharpe_median":-0.2506,"max_drawdown_pct":-18.1,"win_rate":null,"alpha_annualized_pct":null,"p_value":0.4,"backtest_period":{"start":"2022-02-01","end":"2026-09-01"}},"grid_summary":{"sharpe":{"p25":-0.74,"p75":0.09,"best":1.04,"worst":-1.95,"median":-0.25},"n_combinations":1024},"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-24T21:54:26","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-mean-reversion-us-sp500-0000","name":"indicator=zscore, lookback=10, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"lookback":10,"n_stocks":5,"indicator":"zscore","regime_gate":false,"holding_days":1},"performance":{"sharpe":-0.35,"max_drawdown_pct":-8,"alpha_annualized_pct":-1.3,"p_value":0.45,"regime_breakdown":{"UP":-0.096067,"DOWN":0.298014,"FLAT":-0.923828}},"executed_at":"2026-09-23T15:53:42","notes":null},{"run_id":"r-mean-reversion-us-sp500-0001","name":"indicator=zscore, lookback=10, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"lookback":10,"n_stocks":5,"indicator":"zscore","regime_gate":true,"holding_days":1},"performance":{"sharpe":-0.43,"max_drawdown_pct":-10.6,"alpha_annualized_pct":-1.4,"p_value":0.35,"regime_breakdown":{"UP":-0.224554,"DOWN":0.298014,"FLAT":-0.923828}},"executed_at":"2026-09-23T15:53:42","notes":null},{"run_id":"r-mean-reversion-us-sp500-0002","name":"indicator=zscore, lookback=10, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"lookback":10,"n_stocks":5,"indicator":"zscore","regime_gate":false,"holding_days":1},"performance":{"sharpe":-0.68,"max_drawdown_pct":-11.6,"alpha_annualized_pct":-2.5,"p_value":0.14,"regime_breakdown":{"UP":-0.428545,"DOWN":-0.051653,"FLAT":-1.225913}},"executed_at":"2026-09-23T15:53:42","notes":null},{"run_id":"r-mean-reversion-us-sp500-0003","name":"indicator=zscore, lookback=10, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True","params":{"cost_bps":10,"lookback":10,"n_stocks":5,"indicator":"zscore","regime_gate":true,"holding_days":1},"performance":{"sharpe":-0.71,"max_drawdown_pct":-12.7,"alpha_annualized_pct":-2.4,"p_value":0.13,"regime_breakdown":{"UP":-0.452701,"DOWN":-0.051653,"FLAT":-1.225913}},"executed_at":"2026-09-23T15:53:43","notes":null},{"run_id":"r-mean-reversion-us-sp500-0012","name":"indicator=zscore, lookback=10, holding_days=1, n_stocks=50, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"lookback":10,"n_stocks":50,"indicator":"zscore","regime_gate":false,"holding_days":1},"performance":{"sharpe":-0.94,"max_drawdown_pct":-12.6,"alpha_annualized_pct":-2.6,"p_value":0.044,"regime_breakdown":{"UP":-0.808537,"DOWN":-0.443746,"FLAT":-1.471784}},"executed_at":"2026-09-23T15:53:45","notes":null},{"run_id":"r-mean-reversion-us-sp500-0048","name":"indicator=zscore, lookback=10, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"lookback":10,"n_stocks":5,"indicator":"zscore","regime_gate":false,"holding_days":20},"performance":{"sharpe":0.03,"max_drawdown_pct":-38.6,"alpha_annualized_pct":0.4,"p_value":0.95,"regime_breakdown":{"UP":-0.446598,"DOWN":1.245814,"FLAT":-0.07628}},"executed_at":"2026-09-23T15:53:55","notes":null},{"run_id":"r-mean-reversion-us-sp500-0053","name":"indicator=zscore, lookback=10, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"lookback":10,"n_stocks":10,"indicator":"zscore","regime_gate":true,"holding_days":20},"performance":{"sharpe":0.5,"max_drawdown_pct":-14.8,"alpha_annualized_pct":5.6,"p_value":0.28,"regime_breakdown":{"UP":0.466968,"DOWN":0.755884,"FLAT":0.328515}},"executed_at":"2026-09-23T15:53:56","notes":null},{"run_id":"r-mean-reversion-us-sp500-0101","name":"indicator=zscore, lookback=20, holding_days=10, n_stocks=10, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"lookback":20,"n_stocks":10,"indicator":"zscore","regime_gate":true,"holding_days":10},"performance":{"sharpe":0.01,"max_drawdown_pct":-17.7,"alpha_annualized_pct":0.1,"p_value":0.98,"regime_breakdown":{"UP":0.010985,"DOWN":0.256125,"FLAT":-0.298426}},"executed_at":"2026-09-23T15:54:09","notes":null},{"run_id":"r-mean-reversion-us-sp500-0149","name":"indicator=zscore, lookback=40, holding_days=5, n_stocks=10, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"lookback":40,"n_stocks":10,"indicator":"zscore","regime_gate":true,"holding_days":5},"performance":{"sharpe":-0.63,"max_drawdown_pct":-16,"alpha_annualized_pct":-3.2,"p_value":0.18,"regime_breakdown":{"UP":-0.372096,"DOWN":-0.336182,"FLAT":-1.173279}},"executed_at":"2026-09-23T15:54:22","notes":null},{"run_id":"r-mean-reversion-us-sp500-0192","name":"indicator=zscore, lookback=60, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"lookback":60,"n_stocks":5,"indicator":"zscore","regime_gate":false,"holding_days":1},"performance":{"sharpe":-0.74,"max_drawdown_pct":-15.1,"alpha_annualized_pct":-3,"p_value":0.11,"regime_breakdown":{"UP":-0.658273,"DOWN":0.643125,"FLAT":-1.406493}},"executed_at":"2026-09-23T15:54:34","notes":null},{"run_id":"r-mean-reversion-us-sp500-0198","name":"indicator=zscore, lookback=60, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"lookback":60,"n_stocks":10,"indicator":"zscore","regime_gate":false,"holding_days":1},"performance":{"sharpe":-1.23,"max_drawdown_pct":-19.5,"alpha_annualized_pct":-4.5,"p_value":0.01,"regime_breakdown":{"UP":-1.43589,"DOWN":-0.306155,"FLAT":-1.381907}},"executed_at":"2026-09-23T15:54:35","notes":null},{"run_id":"r-mean-reversion-us-sp500-0246","name":"indicator=zscore, lookback=60, holding_days=20, n_stocks=10, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"lookback":60,"n_stocks":10,"indicator":"zscore","regime_gate":false,"holding_days":20},"performance":{"sharpe":0,"max_drawdown_pct":-26.9,"alpha_annualized_pct":0,"p_value":1,"regime_breakdown":{"UP":-0.519027,"DOWN":1.063748,"FLAT":0.209366}},"executed_at":"2026-09-23T15:54:48","notes":null},{"run_id":"r-mean-reversion-us-sp500-0294","name":"indicator=rsi, lookback=10, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"lookback":10,"n_stocks":10,"indicator":"rsi","regime_gate":false,"holding_days":10},"performance":{"sharpe":-0.29,"max_drawdown_pct":-27.7,"alpha_annualized_pct":-2.5,"p_value":0.53,"regime_breakdown":{"UP":-0.137931,"DOWN":-0.074059,"FLAT":-0.673544}},"executed_at":"2026-09-23T15:55:01","notes":null},{"run_id":"r-mean-reversion-us-sp500-0334","name":"indicator=rsi, lookback=20, holding_days=1, n_stocks=50, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"lookback":20,"n_stocks":50,"indicator":"rsi","regime_gate":false,"holding_days":1},"performance":{"sharpe":-1.95,"max_drawdown_pct":-22.2,"alpha_annualized_pct":-5.5,"p_value":0.00008,"regime_breakdown":{"UP":-2.566112,"DOWN":-1.531843,"FLAT":-1.448736}},"executed_at":"2026-09-23T15:55:12","notes":null},{"run_id":"r-mean-reversion-us-sp500-0343","name":"indicator=rsi, lookback=20, holding_days=5, n_stocks=10, cost_bps=10, regime_gate=True","params":{"cost_bps":10,"lookback":20,"n_stocks":10,"indicator":"rsi","regime_gate":true,"holding_days":5},"performance":{"sharpe":-0.45,"max_drawdown_pct":-21.2,"alpha_annualized_pct":-3,"p_value":0.33,"regime_breakdown":{"UP":-0.464228,"DOWN":-0.04983,"FLAT":-0.616971}},"executed_at":"2026-09-23T15:55:14","notes":null},{"run_id":"r-mean-reversion-us-sp500-0391","name":"indicator=rsi, lookback=40, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=True","params":{"cost_bps":10,"lookback":40,"n_stocks":10,"indicator":"rsi","regime_gate":true,"holding_days":1},"performance":{"sharpe":-1.09,"max_drawdown_pct":-18.6,"alpha_annualized_pct":-3.9,"p_value":0.02,"regime_breakdown":{"UP":-1.473233,"DOWN":-0.868511,"FLAT":-0.819154}},"executed_at":"2026-09-23T15:55:27","notes":null},{"run_id":"r-mean-reversion-us-sp500-0439","name":"indicator=rsi, lookback=40, holding_days=20, n_stocks=10, cost_bps=10, regime_gate=True","params":{"cost_bps":10,"lookback":40,"n_stocks":10,"indicator":"rsi","regime_gate":true,"holding_days":20},"performance":{"sharpe":-0.21,"max_drawdown_pct":-31.6,"alpha_annualized_pct":-3.3,"p_value":0.64,"regime_breakdown":{"UP":-0.735662,"DOWN":-0.223879,"FLAT":0.061062}},"executed_at":"2026-09-23T15:55:40","notes":null},{"run_id":"r-mean-reversion-us-sp500-0487","name":"indicator=rsi, lookback=60, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=True","params":{"cost_bps":10,"lookback":60,"n_stocks":10,"indicator":"rsi","regime_gate":true,"holding_days":10},"performance":{"sharpe":0.24,"max_drawdown_pct":-14.7,"alpha_annualized_pct":2.8,"p_value":0.6,"regime_breakdown":{"UP":-0.240278,"DOWN":1.323145,"FLAT":0.188378}},"executed_at":"2026-09-23T15:55:53","notes":null},{"run_id":"r-mean-reversion-us-sp500-0512","name":"indicator=bollinger_pct, lookback=10, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"lookback":10,"n_stocks":5,"indicator":"bollinger_pct","regime_gate":false,"holding_days":1},"performance":{"sharpe":-0.35,"max_drawdown_pct":-8,"alpha_annualized_pct":-1.3,"p_value":0.45,"regime_breakdown":{"UP":-0.096067,"DOWN":0.298014,"FLAT":-0.923828}},"executed_at":"2026-09-23T15:56:00","notes":null},{"run_id":"r-mean-reversion-us-sp500-0536","name":"indicator=bollinger_pct, lookback=10, holding_days=5, n_stocks=20, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"lookback":10,"n_stocks":20,"indicator":"bollinger_pct","regime_gate":false,"holding_days":5},"performance":{"sharpe":-0.63,"max_drawdown_pct":-16.7,"alpha_annualized_pct":-3.6,"p_value":0.17,"regime_breakdown":{"UP":-0.381069,"DOWN":-0.668253,"FLAT":-1.111682}},"executed_at":"2026-09-23T15:56:06","notes":null},{"run_id":"r-mean-reversion-us-sp500-0584","name":"indicator=bollinger_pct, lookback=20, holding_days=1, n_stocks=20, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"lookback":20,"n_stocks":20,"indicator":"bollinger_pct","regime_gate":false,"holding_days":1},"performance":{"sharpe":-1.11,"max_drawdown_pct":-17.7,"alpha_annualized_pct":-3.9,"p_value":0.018,"regime_breakdown":{"UP":-1.113735,"DOWN":-0.44389,"FLAT":-1.412087}},"executed_at":"2026-09-23T15:56:19","notes":null},{"run_id":"r-mean-reversion-us-sp500-0632","name":"indicator=bollinger_pct, lookback=20, holding_days=20, n_stocks=20, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"lookback":20,"n_stocks":20,"indicator":"bollinger_pct","regime_gate":false,"holding_days":20},"performance":{"sharpe":-0.17,"max_drawdown_pct":-32.4,"alpha_annualized_pct":-2.2,"p_value":0.72,"regime_breakdown":{"UP":-0.306152,"DOWN":0.329743,"FLAT":-0.301367}},"executed_at":"2026-09-23T15:56:32","notes":null},{"run_id":"r-mean-reversion-us-sp500-0680","name":"indicator=bollinger_pct, lookback=40, holding_days=10, n_stocks=20, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"lookback":40,"n_stocks":20,"indicator":"bollinger_pct","regime_gate":false,"holding_days":10},"performance":{"sharpe":-0.09,"max_drawdown_pct":-20.1,"alpha_annualized_pct":-0.8,"p_value":0.85,"regime_breakdown":{"UP":-0.593089,"DOWN":0.641495,"FLAT":0.209699}},"executed_at":"2026-09-23T15:56:45","notes":null},{"run_id":"r-mean-reversion-us-sp500-0728","name":"indicator=bollinger_pct, lookback=60, holding_days=5, n_stocks=20, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"lookback":60,"n_stocks":20,"indicator":"bollinger_pct","regime_gate":false,"holding_days":5},"performance":{"sharpe":-0.5,"max_drawdown_pct":-20.1,"alpha_annualized_pct":-3.4,"p_value":0.28,"regime_breakdown":{"UP":-0.500257,"DOWN":-0.158518,"FLAT":-0.70473}},"executed_at":"2026-09-23T15:56:58","notes":null},{"run_id":"r-mean-reversion-us-sp500-0776","name":"indicator=mrs, lookback=10, holding_days=1, n_stocks=20, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"lookback":10,"n_stocks":20,"indicator":"mrs","regime_gate":false,"holding_days":1},"performance":{"sharpe":0.04,"max_drawdown_pct":-6.2,"alpha_annualized_pct":0.1,"p_value":0.93,"regime_breakdown":{"UP":-0.337685,"DOWN":1.90511,"FLAT":-0.431762}},"executed_at":"2026-09-23T15:57:11","notes":null},{"run_id":"r-mean-reversion-us-sp500-0817","name":"indicator=mrs, lookback=10, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"lookback":10,"n_stocks":5,"indicator":"mrs","regime_gate":true,"holding_days":20},"performance":{"sharpe":1.04,"max_drawdown_pct":-18,"alpha_annualized_pct":15.3,"p_value":0.027,"regime_breakdown":{"UP":0.781441,"DOWN":1.912402,"FLAT":0.958147}},"executed_at":"2026-09-23T15:57:22","notes":null},{"run_id":"r-mean-reversion-us-sp500-0825","name":"indicator=mrs, lookback=10, holding_days=20, n_stocks=20, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"lookback":10,"n_stocks":20,"indicator":"mrs","regime_gate":true,"holding_days":20},"performance":{"sharpe":0.49,"max_drawdown_pct":-15.3,"alpha_annualized_pct":5.1,"p_value":0.29,"regime_breakdown":{"UP":0.80819,"DOWN":0.205547,"FLAT":0.181036}},"executed_at":"2026-09-23T15:57:24","notes":null},{"run_id":"r-mean-reversion-us-sp500-0873","name":"indicator=mrs, lookback=20, holding_days=10, n_stocks=20, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"lookback":20,"n_stocks":20,"indicator":"mrs","regime_gate":true,"holding_days":10},"performance":{"sharpe":0.53,"max_drawdown_pct":-12.1,"alpha_annualized_pct":4.1,"p_value":0.25,"regime_breakdown":{"UP":0.381803,"DOWN":0.54395,"FLAT":0.692907}},"executed_at":"2026-09-23T15:57:37","notes":null},{"run_id":"r-mean-reversion-us-sp500-0921","name":"indicator=mrs, lookback=40, holding_days=5, n_stocks=20, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"lookback":40,"n_stocks":20,"indicator":"mrs","regime_gate":true,"holding_days":5},"performance":{"sharpe":-0.21,"max_drawdown_pct":-6.9,"alpha_annualized_pct":-0.9,"p_value":0.65,"regime_breakdown":{"UP":0.801571,"DOWN":-0.798865,"FLAT":-0.90728}},"executed_at":"2026-09-23T15:57:50","notes":null},{"run_id":"r-mean-reversion-us-sp500-0969","name":"indicator=mrs, lookback=60, holding_days=1, n_stocks=20, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"lookback":60,"n_stocks":20,"indicator":"mrs","regime_gate":true,"holding_days":1},"performance":{"sharpe":-0.55,"max_drawdown_pct":-8.8,"alpha_annualized_pct":-1.8,"p_value":0.23,"regime_breakdown":{"UP":-0.16515,"DOWN":-0.08319,"FLAT":-1.29469}},"executed_at":"2026-09-23T15:58:03","notes":null}],"facts":[{"fact_id":"mean-reversion-us-sp500-fact-best-sharpe","strategy_slug":"mean-reversion-us-sp500","claim":"Best grid Sharpe ratio is 1.04 (p=0.027).","value":1.04,"value_text":null,"unit":"sharpe_ratio","context":"period 2022-02-01–2026-09-01; cost=5bps","supports_verdict":"rejected","source_run_id":"r-mean-reversion-us-sp500-0817","search_tsv":"'-01':12,15 '-02':11 '-09':14 '0.027':8 '1.04':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/mean-reversion-us-sp500-fact-best-sharpe"},{"fact_id":"mean-reversion-us-sp500-fact-median-sharpe","strategy_slug":"mean-reversion-us-sp500","claim":"Median Sharpe across 1024 grid runs is -0.25.","value":-0.25,"value_text":null,"unit":"sharpe_ratio","context":"Full grid of 1024 parameter combinations.","supports_verdict":"rejected","source_run_id":null,"search_tsv":"'-0.25':8 '1024':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/mean-reversion-us-sp500-fact-median-sharpe"},{"fact_id":"mean-reversion-us-sp500-fact-regime-down","strategy_slug":"mean-reversion-us-sp500","claim":"Median Sharpe in DOWN regime is -0.14 across 1024 runs.","value":-0.14,"value_text":null,"unit":"sharpe_ratio","context":"Regime=DOWN, N225 SMA20/SMA60 classification.","supports_verdict":"rejected","source_run_id":null,"search_tsv":"'-0.14':7 '1024':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/mean-reversion-us-sp500-fact-regime-down"},{"fact_id":"mean-reversion-us-sp500-fact-regime-flat","strategy_slug":"mean-reversion-us-sp500","claim":"Median Sharpe in FLAT regime is -0.42 across 1024 runs.","value":-0.42,"value_text":null,"unit":"sharpe_ratio","context":"Regime=FLAT, N225 SMA20/SMA60 classification.","supports_verdict":"rejected","source_run_id":null,"search_tsv":"'-0.42':7 '1024':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/mean-reversion-us-sp500-fact-regime-flat"},{"fact_id":"mean-reversion-us-sp500-fact-regime-up","strategy_slug":"mean-reversion-us-sp500","claim":"Median Sharpe in UP regime is -0.36 across 1024 runs.","value":-0.36,"value_text":null,"unit":"sharpe_ratio","context":"Regime=UP, N225 SMA20/SMA60 classification.","supports_verdict":"rejected","source_run_id":null,"search_tsv":"'-0.36':7 '1024':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/mean-reversion-us-sp500-fact-regime-up"}],"related_strategies":[{"related_slug":"mean-reversion-jp-all","relation":"same_strategy"},{"related_slug":"mean-reversion-jp-growth","relation":"same_strategy"}],"tags":["mean-reversion","cross-sectional","factor","us-market","sp500","grid-search"],"_links":{"self":"https://qbuntu.ai/v1/strategies/mean-reversion-us-sp500","html":"https://qbuntu.ai/strategies/mean-reversion-us-sp500","markdown":"https://qbuntu.ai/ai/strategies/mean-reversion-us-sp500.md"}}