{"schema_version":"v1","slug":"short-term-reversal-us-sp500","name":"Short-Term Reversal (US S&P 500)","name_i18n":{},"verdict":"marginal","asset_class":"equity","categories":["cross-sectional","factor","reversal"],"hypothesis":"Jegadeesh (1990): stocks that dropped most over past N days tend to bounce back (and vice versa). LONG worst performers, SHORT best. Applied to S&P 500 constituents.","rejection_reason":{"primary":"regime_dependent","secondary":[],"narrative":"Across 320 grid combinations, median Sharpe=0.09, best=1.66. Primary failure mode: regime_dependent."},"target_universe":{"description":"S&P 500 constituents, ~503 stocks","symbols":[]},"performance_summary":{"sharpe_median":0.0863,"max_drawdown_pct":-25.6,"win_rate":null,"alpha_annualized_pct":null,"p_value":0.42,"backtest_period":{"start":"2022-01-18","end":"2026-09-14"}},"grid_summary":{"sharpe":{"p25":-0.32,"p75":0.46,"best":1.66,"worst":-1.13,"median":0.09},"n_combinations":320},"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-short-term-reversal-us-sp500-0000","name":"reversal_days=1, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_stocks":5,"regime_gate":false,"holding_days":1,"reversal_days":1},"performance":{"sharpe":-0.04,"max_drawdown_pct":-35.5,"alpha_annualized_pct":-0.6,"p_value":0.93,"regime_breakdown":{"UP":-0.81665,"DOWN":0.766591,"FLAT":0.40107}},"executed_at":"2026-09-23T16:03:18","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0001","name":"reversal_days=1, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"n_stocks":5,"regime_gate":true,"holding_days":1,"reversal_days":1},"performance":{"sharpe":0.53,"max_drawdown_pct":-25.4,"alpha_annualized_pct":7.2,"p_value":0.25,"regime_breakdown":{"UP":0.562844,"DOWN":0.766591,"FLAT":0.40107}},"executed_at":"2026-09-23T16:03:20","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0002","name":"reversal_days=1, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_stocks":5,"regime_gate":false,"holding_days":1,"reversal_days":1},"performance":{"sharpe":-0.4,"max_drawdown_pct":-46.1,"alpha_annualized_pct":-5.9,"p_value":0.38,"regime_breakdown":{"UP":-1.225266,"DOWN":0.483525,"FLAT":0.034713}},"executed_at":"2026-09-23T16:03:21","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0003","name":"reversal_days=1, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True","params":{"cost_bps":10,"n_stocks":5,"regime_gate":true,"holding_days":1,"reversal_days":1},"performance":{"sharpe":0.23,"max_drawdown_pct":-28.4,"alpha_annualized_pct":3.1,"p_value":0.62,"regime_breakdown":{"UP":0.315772,"DOWN":0.483525,"FLAT":0.034713}},"executed_at":"2026-09-23T16:03:22","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0012","name":"reversal_days=1, holding_days=1, n_stocks=50, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_stocks":50,"regime_gate":false,"holding_days":1,"reversal_days":1},"performance":{"sharpe":-0.19,"max_drawdown_pct":-16.1,"alpha_annualized_pct":-1.3,"p_value":0.68,"regime_breakdown":{"UP":-0.543553,"DOWN":0.762402,"FLAT":-0.448169}},"executed_at":"2026-09-23T16:03:33","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0018","name":"reversal_days=1, holding_days=3, n_stocks=5, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_stocks":5,"regime_gate":false,"holding_days":3,"reversal_days":1},"performance":{"sharpe":0.06,"max_drawdown_pct":-40.5,"alpha_annualized_pct":1.2,"p_value":0.89,"regime_breakdown":{"UP":-0.866333,"DOWN":1.026522,"FLAT":0.438788}},"executed_at":"2026-09-23T16:03:41","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0032","name":"reversal_days=1, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_stocks":5,"regime_gate":false,"holding_days":5,"reversal_days":1},"performance":{"sharpe":0.19,"max_drawdown_pct":-45.2,"alpha_annualized_pct":4.1,"p_value":0.68,"regime_breakdown":{"UP":-0.55682,"DOWN":1.226608,"FLAT":0.431915}},"executed_at":"2026-09-23T16:03:57","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0046","name":"reversal_days=1, holding_days=5, n_stocks=50, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_stocks":50,"regime_gate":false,"holding_days":5,"reversal_days":1},"performance":{"sharpe":-0.16,"max_drawdown_pct":-28.2,"alpha_annualized_pct":-1.7,"p_value":0.73,"regime_breakdown":{"UP":-0.617527,"DOWN":1.508726,"FLAT":-0.611062}},"executed_at":"2026-09-23T16:04:14","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0048","name":"reversal_days=1, holding_days=10, n_stocks=5, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_stocks":5,"regime_gate":false,"holding_days":10,"reversal_days":1},"performance":{"sharpe":-0.62,"max_drawdown_pct":-49.7,"alpha_annualized_pct":-10.5,"p_value":0.18,"regime_breakdown":{"UP":-0.327201,"DOWN":-0.58463,"FLAT":-1.317689}},"executed_at":"2026-09-23T16:04:15","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0061","name":"reversal_days=1, holding_days=10, n_stocks=50, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"n_stocks":50,"regime_gate":true,"holding_days":10,"reversal_days":1},"performance":{"sharpe":-0.01,"max_drawdown_pct":-21.3,"alpha_annualized_pct":-0.1,"p_value":0.98,"regime_breakdown":{"UP":0.604507,"DOWN":-0.955745,"FLAT":0.017917}},"executed_at":"2026-09-23T16:04:19","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0075","name":"reversal_days=2, holding_days=1, n_stocks=20, cost_bps=10, regime_gate=True","params":{"cost_bps":10,"n_stocks":20,"regime_gate":true,"holding_days":1,"reversal_days":2},"performance":{"sharpe":0.22,"max_drawdown_pct":-12,"alpha_annualized_pct":2.1,"p_value":0.63,"regime_breakdown":{"UP":0.433426,"DOWN":1.030384,"FLAT":-0.418787}},"executed_at":"2026-09-23T16:04:34","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0089","name":"reversal_days=2, holding_days=3, n_stocks=20, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"n_stocks":20,"regime_gate":true,"holding_days":3,"reversal_days":2},"performance":{"sharpe":1.03,"max_drawdown_pct":-10.1,"alpha_annualized_pct":13.1,"p_value":0.026,"regime_breakdown":{"UP":1.576476,"DOWN":0.919225,"FLAT":0.697548}},"executed_at":"2026-09-23T16:04:50","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0101","name":"reversal_days=2, holding_days=5, n_stocks=10, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"n_stocks":10,"regime_gate":true,"holding_days":5,"reversal_days":2},"performance":{"sharpe":1.66,"max_drawdown_pct":-11.2,"alpha_annualized_pct":27.7,"p_value":0.00039,"regime_breakdown":{"UP":1.857808,"DOWN":2.039549,"FLAT":1.346313}},"executed_at":"2026-09-23T16:05:05","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0104","name":"reversal_days=2, holding_days=5, n_stocks=20, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_stocks":20,"regime_gate":false,"holding_days":5,"reversal_days":2},"performance":{"sharpe":0.67,"max_drawdown_pct":-14.2,"alpha_annualized_pct":9.8,"p_value":0.15,"regime_breakdown":{"UP":0.215233,"DOWN":1.657072,"FLAT":0.661736}},"executed_at":"2026-09-23T16:05:08","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0118","name":"reversal_days=2, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_stocks":10,"regime_gate":false,"holding_days":10,"reversal_days":2},"performance":{"sharpe":-0.4,"max_drawdown_pct":-35.5,"alpha_annualized_pct":-6.1,"p_value":0.39,"regime_breakdown":{"UP":-0.268435,"DOWN":-0.625775,"FLAT":-0.431236}},"executed_at":"2026-09-23T16:05:18","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0132","name":"reversal_days=3, holding_days=1, n_stocks=10, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_stocks":10,"regime_gate":false,"holding_days":1,"reversal_days":3},"performance":{"sharpe":0.11,"max_drawdown_pct":-25.3,"alpha_annualized_pct":1.4,"p_value":0.81,"regime_breakdown":{"UP":-1.5007,"DOWN":2.308978,"FLAT":0.474649}},"executed_at":"2026-09-23T16:05:27","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0146","name":"reversal_days=3, holding_days=3, n_stocks=5, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_stocks":5,"regime_gate":false,"holding_days":3,"reversal_days":3},"performance":{"sharpe":0.13,"max_drawdown_pct":-39.2,"alpha_annualized_pct":2.6,"p_value":0.77,"regime_breakdown":{"UP":-0.987478,"DOWN":1.842054,"FLAT":0.510324}},"executed_at":"2026-09-23T16:05:43","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0160","name":"reversal_days=3, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_stocks":5,"regime_gate":false,"holding_days":5,"reversal_days":3},"performance":{"sharpe":0.3,"max_drawdown_pct":-34.5,"alpha_annualized_pct":7.4,"p_value":0.51,"regime_breakdown":{"UP":-0.529233,"DOWN":2.623721,"FLAT":0.156009}},"executed_at":"2026-09-23T16:06:02","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0174","name":"reversal_days=3, holding_days=5, n_stocks=50, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_stocks":50,"regime_gate":false,"holding_days":5,"reversal_days":3},"performance":{"sharpe":0.12,"max_drawdown_pct":-17,"alpha_annualized_pct":1.4,"p_value":0.79,"regime_breakdown":{"UP":-0.677277,"DOWN":1.74657,"FLAT":0.051228}},"executed_at":"2026-09-23T16:06:22","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0188","name":"reversal_days=3, holding_days=10, n_stocks=50, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_stocks":50,"regime_gate":false,"holding_days":10,"reversal_days":3},"performance":{"sharpe":0.12,"max_drawdown_pct":-21.5,"alpha_annualized_pct":1,"p_value":0.79,"regime_breakdown":{"UP":0.185135,"DOWN":-0.540217,"FLAT":0.931611}},"executed_at":"2026-09-23T16:06:27","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0202","name":"reversal_days=5, holding_days=1, n_stocks=20, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_stocks":20,"regime_gate":false,"holding_days":1,"reversal_days":5},"performance":{"sharpe":-0.58,"max_drawdown_pct":-34.5,"alpha_annualized_pct":-5.2,"p_value":0.21,"regime_breakdown":{"UP":-2.178365,"DOWN":0.802614,"FLAT":0.054895}},"executed_at":"2026-09-23T16:06:41","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0216","name":"reversal_days=5, holding_days=3, n_stocks=20, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_stocks":20,"regime_gate":false,"holding_days":3,"reversal_days":5},"performance":{"sharpe":-0.46,"max_drawdown_pct":-40.5,"alpha_annualized_pct":-6,"p_value":0.32,"regime_breakdown":{"UP":-1.569209,"DOWN":0.050561,"FLAT":0.370407}},"executed_at":"2026-09-23T16:06:58","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0222","name":"reversal_days=5, holding_days=3, n_stocks=50, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_stocks":50,"regime_gate":false,"holding_days":3,"reversal_days":5},"performance":{"sharpe":-1.13,"max_drawdown_pct":-45.8,"alpha_annualized_pct":-11,"p_value":0.015,"regime_breakdown":{"UP":-1.918276,"DOWN":-0.753166,"FLAT":-0.585154}},"executed_at":"2026-09-23T16:07:05","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0231","name":"reversal_days=5, holding_days=5, n_stocks=10, cost_bps=10, regime_gate=True","params":{"cost_bps":10,"n_stocks":10,"regime_gate":true,"holding_days":5,"reversal_days":5},"performance":{"sharpe":0.07,"max_drawdown_pct":-38,"alpha_annualized_pct":1.1,"p_value":0.88,"regime_breakdown":{"UP":0.318558,"DOWN":0.478305,"FLAT":-0.330409}},"executed_at":"2026-09-23T16:07:16","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0245","name":"reversal_days=5, holding_days=10, n_stocks=10, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"n_stocks":10,"regime_gate":true,"holding_days":10,"reversal_days":5},"performance":{"sharpe":0.81,"max_drawdown_pct":-11.9,"alpha_annualized_pct":7,"p_value":0.08,"regime_breakdown":{"UP":1.211545,"DOWN":1.061127,"FLAT":0.208028}},"executed_at":"2026-09-23T16:07:27","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0256","name":"reversal_days=10, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_stocks":5,"regime_gate":false,"holding_days":1,"reversal_days":10},"performance":{"sharpe":-0.62,"max_drawdown_pct":-53.7,"alpha_annualized_pct":-9.5,"p_value":0.18,"regime_breakdown":{"UP":-2.882485,"DOWN":1.67856,"FLAT":0.263593}},"executed_at":"2026-09-23T16:07:31","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0260","name":"reversal_days=10, holding_days=1, n_stocks=10, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_stocks":10,"regime_gate":false,"holding_days":1,"reversal_days":10},"performance":{"sharpe":-0.44,"max_drawdown_pct":-41.4,"alpha_annualized_pct":-5.2,"p_value":0.34,"regime_breakdown":{"UP":-2.374471,"DOWN":2.011397,"FLAT":0.018857}},"executed_at":"2026-09-23T16:07:36","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0274","name":"reversal_days=10, holding_days=3, n_stocks=5, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_stocks":5,"regime_gate":false,"holding_days":3,"reversal_days":10},"performance":{"sharpe":-0.56,"max_drawdown_pct":-64.4,"alpha_annualized_pct":-12.9,"p_value":0.22,"regime_breakdown":{"UP":-1.867513,"DOWN":0.973037,"FLAT":0.186439}},"executed_at":"2026-09-23T16:07:52","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0288","name":"reversal_days=10, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_stocks":5,"regime_gate":false,"holding_days":5,"reversal_days":10},"performance":{"sharpe":-0.73,"max_drawdown_pct":-78.8,"alpha_annualized_pct":-19.7,"p_value":0.11,"regime_breakdown":{"UP":-2.013195,"DOWN":0.803187,"FLAT":0.288301}},"executed_at":"2026-09-23T16:08:09","notes":null},{"run_id":"r-short-term-reversal-us-sp500-0302","name":"reversal_days=10, holding_days=5, n_stocks=50, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_stocks":50,"regime_gate":false,"holding_days":5,"reversal_days":10},"performance":{"sharpe":-0.85,"max_drawdown_pct":-49.3,"alpha_annualized_pct":-10,"p_value":0.066,"regime_breakdown":{"UP":-2.673476,"DOWN":0.716874,"FLAT":0.029103}},"executed_at":"2026-09-23T16:08:26","notes":null}],"facts":[{"fact_id":"short-term-reversal-us-sp500-fact-best-sharpe","strategy_slug":"short-term-reversal-us-sp500","claim":"Best grid Sharpe ratio is 1.66 (p=0.00039).","value":1.66,"value_text":null,"unit":"sharpe_ratio","context":"period 2022-01-18–2026-09-14; cost=5bps","supports_verdict":"marginal","source_run_id":"r-short-term-reversal-us-sp500-0101","search_tsv":"'-01':11 '-09':14 '-14':15 '-18':12 '0.00039':8 '1.66':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/short-term-reversal-us-sp500-fact-best-sharpe"},{"fact_id":"short-term-reversal-us-sp500-fact-median-sharpe","strategy_slug":"short-term-reversal-us-sp500","claim":"Median Sharpe across 320 grid runs is 0.09.","value":0.09,"value_text":null,"unit":"sharpe_ratio","context":"Full grid of 320 parameter combinations.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'0.09':8 '320':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/short-term-reversal-us-sp500-fact-median-sharpe"},{"fact_id":"short-term-reversal-us-sp500-fact-regime-down","strategy_slug":"short-term-reversal-us-sp500","claim":"Median Sharpe in DOWN regime is 0.81 across 320 runs.","value":0.81,"value_text":null,"unit":"sharpe_ratio","context":"Regime=DOWN, N225 SMA20/SMA60 classification.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'0.81':7 '320':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/short-term-reversal-us-sp500-fact-regime-down"},{"fact_id":"short-term-reversal-us-sp500-fact-regime-flat","strategy_slug":"short-term-reversal-us-sp500","claim":"Median Sharpe in FLAT regime is 0.02 across 320 runs.","value":0.02,"value_text":null,"unit":"sharpe_ratio","context":"Regime=FLAT, N225 SMA20/SMA60 classification.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'0.02':7 '320':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/short-term-reversal-us-sp500-fact-regime-flat"},{"fact_id":"short-term-reversal-us-sp500-fact-regime-up","strategy_slug":"short-term-reversal-us-sp500","claim":"Median Sharpe in UP regime is 0.01 across 320 runs.","value":0.01,"value_text":null,"unit":"sharpe_ratio","context":"Regime=UP, N225 SMA20/SMA60 classification.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'0.01':7 '320':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/short-term-reversal-us-sp500-fact-regime-up"}],"related_strategies":[{"related_slug":"short-term-reversal-jp-all","relation":"same_strategy"},{"related_slug":"short-term-reversal-jp-growth","relation":"same_strategy"}],"tags":["reversal","cross-sectional","factor","us-market","sp500","grid-search"],"_links":{"self":"https://qbuntu.ai/v1/strategies/short-term-reversal-us-sp500","html":"https://qbuntu.ai/strategies/short-term-reversal-us-sp500","markdown":"https://qbuntu.ai/ai/strategies/short-term-reversal-us-sp500.md"}}