{"schema_version":"v1","slug":"dispersion-jp-all","name":"Cross-Sectional Dispersion Trading (JP All Stocks)","name_i18n":{},"verdict":"rejected","asset_class":"equity","categories":["dispersion","regime","timing"],"hypothesis":"Stivers (2010), Jiang (2010): cross-sectional return dispersion as a market timing signal. Testing on the full Japanese stock universe.","rejection_reason":{"primary":"no_edge","secondary":[],"narrative":"Across 192 grid combinations, median Sharpe=-0.16, best=0.57. Primary failure mode: no_edge."},"target_universe":{"description":"Tokyo Stock Exchange all listed (Prime/Standard/Growth), ~3747 stocks","symbols":[]},"performance_summary":{"sharpe_median":-0.1595,"max_drawdown_pct":-31.3,"win_rate":null,"alpha_annualized_pct":null,"p_value":0.49,"backtest_period":{"start":"2022-03-01","end":"2026-02-02"}},"grid_summary":{"sharpe":{"p25":-0.37,"p75":0.05,"best":0.57,"worst":-0.95,"median":-0.16},"n_combinations":192},"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":"N225 SMA20/SMA60 three-class","transaction_cost_bps":5},"provenance":{"data_source":"kabu STATION REST API + J-Quants daily bars","source_project":"qbuntu-analysis","computed_asof":"2026-07-31T01:32:26","git_sha_z":"18193e9","git_sha_genkidama":"711b855","python_version":"3.10.11","numpy_version":"2.2.6","pandas_version":"2.3.3","tier":"shallow"},"runs":[{"run_id":"r-dispersion-jp-all-0000","name":"dispersion_window=10, holding_days=5, base_signal=momentum_20, n_stocks=5, cost_bps=5","params":{"cost_bps":5,"n_stocks":5,"base_signal":"momentum_20","holding_days":5,"dispersion_window":10},"performance":{"sharpe":-0.5,"max_drawdown_pct":-26.7,"alpha_annualized_pct":-4.3,"p_value":0.32,"regime_breakdown":{"UP":0.29652,"DOWN":-1.838481,"FLAT":-0.537229}},"executed_at":"2026-07-31T01:27:09","notes":null},{"run_id":"r-dispersion-jp-all-0001","name":"dispersion_window=10, holding_days=5, base_signal=momentum_20, n_stocks=5, cost_bps=10","params":{"cost_bps":10,"n_stocks":5,"base_signal":"momentum_20","holding_days":5,"dispersion_window":10},"performance":{"sharpe":-0.64,"max_drawdown_pct":-29.3,"alpha_annualized_pct":-5.5,"p_value":0.2,"regime_breakdown":{"UP":0.113586,"DOWN":-1.962484,"FLAT":-0.670443}},"executed_at":"2026-07-31T01:27:09","notes":null},{"run_id":"r-dispersion-jp-all-0002","name":"dispersion_window=10, holding_days=5, base_signal=momentum_20, n_stocks=10, cost_bps=5","params":{"cost_bps":5,"n_stocks":10,"base_signal":"momentum_20","holding_days":5,"dispersion_window":10},"performance":{"sharpe":0.57,"max_drawdown_pct":-11.1,"alpha_annualized_pct":4.4,"p_value":0.25,"regime_breakdown":{"UP":1.575952,"DOWN":0.178283,"FLAT":0.229897}},"executed_at":"2026-07-31T01:27:09","notes":null},{"run_id":"r-dispersion-jp-all-0003","name":"dispersion_window=10, holding_days=5, base_signal=momentum_20, n_stocks=10, cost_bps=10","params":{"cost_bps":10,"n_stocks":10,"base_signal":"momentum_20","holding_days":5,"dispersion_window":10},"performance":{"sharpe":0.41,"max_drawdown_pct":-12.5,"alpha_annualized_pct":3.1,"p_value":0.41,"regime_breakdown":{"UP":1.446371,"DOWN":0.052846,"FLAT":0.051146}},"executed_at":"2026-07-31T01:27:09","notes":null},{"run_id":"r-dispersion-jp-all-0008","name":"dispersion_window=10, holding_days=5, base_signal=momentum_60, n_stocks=5, cost_bps=5","params":{"cost_bps":5,"n_stocks":5,"base_signal":"momentum_60","holding_days":5,"dispersion_window":10},"performance":{"sharpe":0.03,"max_drawdown_pct":-22.4,"alpha_annualized_pct":0.3,"p_value":0.96,"regime_breakdown":{"UP":0.384842,"DOWN":-1.176633,"FLAT":0.030819}},"executed_at":"2026-07-31T01:27:09","notes":null},{"run_id":"r-dispersion-jp-all-0016","name":"dispersion_window=10, holding_days=5, base_signal=mean_reversion, n_stocks=5, cost_bps=5","params":{"cost_bps":5,"n_stocks":5,"base_signal":"mean_reversion","holding_days":5,"dispersion_window":10},"performance":{"sharpe":-0.34,"max_drawdown_pct":-18.9,"alpha_annualized_pct":-3,"p_value":0.49,"regime_breakdown":{"UP":-0.662215,"DOWN":-0.083044,"FLAT":-0.286954}},"executed_at":"2026-07-31T01:27:10","notes":null},{"run_id":"r-dispersion-jp-all-0019","name":"dispersion_window=10, holding_days=5, base_signal=mean_reversion, n_stocks=10, cost_bps=10","params":{"cost_bps":10,"n_stocks":10,"base_signal":"mean_reversion","holding_days":5,"dispersion_window":10},"performance":{"sharpe":-0.95,"max_drawdown_pct":-31.9,"alpha_annualized_pct":-7.3,"p_value":0.057,"regime_breakdown":{"UP":-2.232974,"DOWN":-1.124372,"FLAT":-0.432398}},"executed_at":"2026-07-31T01:27:10","notes":null},{"run_id":"r-dispersion-jp-all-0026","name":"dispersion_window=10, holding_days=10, base_signal=momentum_20, n_stocks=10, cost_bps=5","params":{"cost_bps":5,"n_stocks":10,"base_signal":"momentum_20","holding_days":10,"dispersion_window":10},"performance":{"sharpe":0.44,"max_drawdown_pct":-21.4,"alpha_annualized_pct":5.4,"p_value":0.38,"regime_breakdown":{"UP":1.753377,"DOWN":0.208688,"FLAT":0.076148}},"executed_at":"2026-07-31T01:27:10","notes":null},{"run_id":"r-dispersion-jp-all-0042","name":"dispersion_window=10, holding_days=10, base_signal=mean_reversion, n_stocks=10, cost_bps=5","params":{"cost_bps":5,"n_stocks":10,"base_signal":"mean_reversion","holding_days":10,"dispersion_window":10},"performance":{"sharpe":-0.78,"max_drawdown_pct":-41.4,"alpha_annualized_pct":-8.7,"p_value":0.12,"regime_breakdown":{"UP":-2.550929,"DOWN":-0.200874,"FLAT":-0.414931}},"executed_at":"2026-07-31T01:27:10","notes":null},{"run_id":"r-dispersion-jp-all-0058","name":"dispersion_window=10, holding_days=20, base_signal=momentum_60, n_stocks=10, cost_bps=5","params":{"cost_bps":5,"n_stocks":10,"base_signal":"momentum_60","holding_days":20,"dispersion_window":10},"performance":{"sharpe":-0.07,"max_drawdown_pct":-26.9,"alpha_annualized_pct":-0.9,"p_value":0.9,"regime_breakdown":{"UP":1.357879,"DOWN":2.28665,"FLAT":-0.694247}},"executed_at":"2026-07-31T01:27:11","notes":null},{"run_id":"r-dispersion-jp-all-0072","name":"dispersion_window=10, holding_days=60, base_signal=momentum_20, n_stocks=5, cost_bps=5","params":{"cost_bps":5,"n_stocks":5,"base_signal":"momentum_20","holding_days":60,"dispersion_window":10},"performance":{"sharpe":-0.2,"max_drawdown_pct":-54.2,"alpha_annualized_pct":-8.7,"p_value":0.51,"regime_breakdown":{"UP":0.751173,"DOWN":2.480353,"FLAT":-0.538902}},"executed_at":"2026-07-31T01:27:11","notes":null},{"run_id":"r-dispersion-jp-all-0075","name":"dispersion_window=10, holding_days=60, base_signal=momentum_20, n_stocks=10, cost_bps=10","params":{"cost_bps":10,"n_stocks":10,"base_signal":"momentum_20","holding_days":60,"dispersion_window":10},"performance":{"sharpe":0.17,"max_drawdown_pct":-23.3,"alpha_annualized_pct":5.9,"p_value":0.57,"regime_breakdown":{"UP":1.67234,"DOWN":3.603455,"FLAT":-0.252053}},"executed_at":"2026-07-31T01:27:12","notes":null},{"run_id":"r-dispersion-jp-all-0091","name":"dispersion_window=10, holding_days=60, base_signal=mean_reversion, n_stocks=10, cost_bps=10","params":{"cost_bps":10,"n_stocks":10,"base_signal":"mean_reversion","holding_days":60,"dispersion_window":10},"performance":{"sharpe":-0.29,"max_drawdown_pct":-43.9,"alpha_annualized_pct":-9.8,"p_value":0.34,"regime_breakdown":{"UP":-0.92095,"DOWN":-10.009795,"FLAT":-0.031743}},"executed_at":"2026-07-31T01:27:12","notes":null},{"run_id":"r-dispersion-jp-all-0107","name":"dispersion_window=20, holding_days=5, base_signal=momentum_60, n_stocks=10, cost_bps=10","params":{"cost_bps":10,"n_stocks":10,"base_signal":"momentum_60","holding_days":5,"dispersion_window":20},"performance":{"sharpe":0.14,"max_drawdown_pct":-17.9,"alpha_annualized_pct":1.2,"p_value":0.78,"regime_breakdown":{"UP":0.481002,"DOWN":-0.431888,"FLAT":0.012714}},"executed_at":"2026-07-31T01:27:13","notes":null},{"run_id":"r-dispersion-jp-all-0123","name":"dispersion_window=20, holding_days=10, base_signal=momentum_20, n_stocks=10, cost_bps=10","params":{"cost_bps":10,"n_stocks":10,"base_signal":"momentum_20","holding_days":10,"dispersion_window":20},"performance":{"sharpe":0.34,"max_drawdown_pct":-22.5,"alpha_annualized_pct":4.2,"p_value":0.49,"regime_breakdown":{"UP":1.654306,"DOWN":0.142689,"FLAT":-0.027778}},"executed_at":"2026-07-31T01:27:13","notes":null},{"run_id":"r-dispersion-jp-all-0139","name":"dispersion_window=20, holding_days=10, base_signal=mean_reversion, n_stocks=10, cost_bps=10","params":{"cost_bps":10,"n_stocks":10,"base_signal":"mean_reversion","holding_days":10,"dispersion_window":20},"performance":{"sharpe":-0.89,"max_drawdown_pct":-43.4,"alpha_annualized_pct":-10,"p_value":0.074,"regime_breakdown":{"UP":-2.673092,"DOWN":-0.265232,"FLAT":-0.528292}},"executed_at":"2026-07-31T01:27:14","notes":null},{"run_id":"r-dispersion-jp-all-0155","name":"dispersion_window=20, holding_days=20, base_signal=momentum_60, n_stocks=10, cost_bps=10","params":{"cost_bps":10,"n_stocks":10,"base_signal":"momentum_60","holding_days":20,"dispersion_window":20},"performance":{"sharpe":-0.16,"max_drawdown_pct":-29.2,"alpha_annualized_pct":-2.1,"p_value":0.76,"regime_breakdown":{"UP":1.276214,"DOWN":2.071034,"FLAT":-0.79055}},"executed_at":"2026-07-31T01:27:14","notes":null},{"run_id":"r-dispersion-jp-all-0171","name":"dispersion_window=20, holding_days=60, base_signal=momentum_20, n_stocks=10, cost_bps=10","params":{"cost_bps":10,"n_stocks":10,"base_signal":"momentum_20","holding_days":60,"dispersion_window":20},"performance":{"sharpe":0.17,"max_drawdown_pct":-23.3,"alpha_annualized_pct":5.9,"p_value":0.57,"regime_breakdown":{"UP":1.67234,"DOWN":3.603455,"FLAT":-0.252053}},"executed_at":"2026-07-31T01:27:15","notes":null},{"run_id":"r-dispersion-jp-all-0187","name":"dispersion_window=20, holding_days=60, base_signal=mean_reversion, n_stocks=10, cost_bps=10","params":{"cost_bps":10,"n_stocks":10,"base_signal":"mean_reversion","holding_days":60,"dispersion_window":20},"performance":{"sharpe":-0.29,"max_drawdown_pct":-43.9,"alpha_annualized_pct":-9.8,"p_value":0.34,"regime_breakdown":{"UP":-0.92095,"DOWN":-10.009795,"FLAT":-0.031743}},"executed_at":"2026-07-31T01:27:15","notes":null},{"run_id":"r-dispersion-jp-all-0203","name":"dispersion_window=40, holding_days=5, base_signal=momentum_60, n_stocks=10, cost_bps=10","params":{"cost_bps":10,"n_stocks":10,"base_signal":"momentum_60","holding_days":5,"dispersion_window":40},"performance":{"sharpe":0.14,"max_drawdown_pct":-17.9,"alpha_annualized_pct":1.2,"p_value":0.78,"regime_breakdown":{"UP":0.481002,"DOWN":-0.431888,"FLAT":0.012714}},"executed_at":"2026-07-31T01:27:16","notes":null},{"run_id":"r-dispersion-jp-all-0219","name":"dispersion_window=40, holding_days=10, base_signal=momentum_20, n_stocks=10, cost_bps=10","params":{"cost_bps":10,"n_stocks":10,"base_signal":"momentum_20","holding_days":10,"dispersion_window":40},"performance":{"sharpe":0.34,"max_drawdown_pct":-22.5,"alpha_annualized_pct":4.2,"p_value":0.49,"regime_breakdown":{"UP":1.654306,"DOWN":0.142689,"FLAT":-0.027778}},"executed_at":"2026-07-31T01:27:16","notes":null},{"run_id":"r-dispersion-jp-all-0235","name":"dispersion_window=40, holding_days=10, base_signal=mean_reversion, n_stocks=10, cost_bps=10","params":{"cost_bps":10,"n_stocks":10,"base_signal":"mean_reversion","holding_days":10,"dispersion_window":40},"performance":{"sharpe":-0.85,"max_drawdown_pct":-43.4,"alpha_annualized_pct":-9.6,"p_value":0.09,"regime_breakdown":{"UP":-2.673092,"DOWN":-0.265232,"FLAT":-0.468988}},"executed_at":"2026-07-31T01:27:17","notes":null},{"run_id":"r-dispersion-jp-all-0251","name":"dispersion_window=40, holding_days=20, base_signal=momentum_60, n_stocks=10, cost_bps=10","params":{"cost_bps":10,"n_stocks":10,"base_signal":"momentum_60","holding_days":20,"dispersion_window":40},"performance":{"sharpe":-0.16,"max_drawdown_pct":-29.2,"alpha_annualized_pct":-2.1,"p_value":0.76,"regime_breakdown":{"UP":1.276214,"DOWN":2.071034,"FLAT":-0.79055}},"executed_at":"2026-07-31T01:27:17","notes":null},{"run_id":"r-dispersion-jp-all-0267","name":"dispersion_window=40, holding_days=60, base_signal=momentum_20, n_stocks=10, cost_bps=10","params":{"cost_bps":10,"n_stocks":10,"base_signal":"momentum_20","holding_days":60,"dispersion_window":40},"performance":{"sharpe":0.17,"max_drawdown_pct":-23.3,"alpha_annualized_pct":5.9,"p_value":0.57,"regime_breakdown":{"UP":1.67234,"DOWN":3.603455,"FLAT":-0.252053}},"executed_at":"2026-07-31T01:27:18","notes":null},{"run_id":"r-dispersion-jp-all-0283","name":"dispersion_window=40, holding_days=60, base_signal=mean_reversion, n_stocks=10, cost_bps=10","params":{"cost_bps":10,"n_stocks":10,"base_signal":"mean_reversion","holding_days":60,"dispersion_window":40},"performance":{"sharpe":-0.26,"max_drawdown_pct":-43.9,"alpha_annualized_pct":-8.7,"p_value":0.4,"regime_breakdown":{"UP":-0.92095,"DOWN":-10.009795,"FLAT":0.016615}},"executed_at":"2026-07-31T01:27:18","notes":null},{"run_id":"r-dispersion-jp-all-0288","name":"dispersion_window=60, holding_days=5, base_signal=momentum_20, n_stocks=5, cost_bps=5","params":{"cost_bps":5,"n_stocks":5,"base_signal":"momentum_20","holding_days":5,"dispersion_window":60},"performance":{"sharpe":-0.5,"max_drawdown_pct":-26.7,"alpha_annualized_pct":-4.3,"p_value":0.32,"regime_breakdown":{"UP":0.29652,"DOWN":-1.838481,"FLAT":-0.537229}},"executed_at":"2026-07-31T01:27:19","notes":null},{"run_id":"r-dispersion-jp-all-0304","name":"dispersion_window=60, holding_days=5, base_signal=mean_reversion, n_stocks=5, cost_bps=5","params":{"cost_bps":5,"n_stocks":5,"base_signal":"mean_reversion","holding_days":5,"dispersion_window":60},"performance":{"sharpe":-0.32,"max_drawdown_pct":-18.9,"alpha_annualized_pct":-2.8,"p_value":0.52,"regime_breakdown":{"UP":-0.662215,"DOWN":-0.083044,"FLAT":-0.25332}},"executed_at":"2026-07-31T01:27:19","notes":null},{"run_id":"r-dispersion-jp-all-0320","name":"dispersion_window=60, holding_days=10, base_signal=momentum_60, n_stocks=5, cost_bps=5","params":{"cost_bps":5,"n_stocks":5,"base_signal":"momentum_60","holding_days":10,"dispersion_window":60},"performance":{"sharpe":0.14,"max_drawdown_pct":-26,"alpha_annualized_pct":2,"p_value":0.79,"regime_breakdown":{"UP":0.668024,"DOWN":2.14001,"FLAT":-0.202479}},"executed_at":"2026-07-31T01:27:20","notes":null},{"run_id":"r-dispersion-jp-all-0336","name":"dispersion_window=60, holding_days=20, base_signal=momentum_20, n_stocks=5, cost_bps=5","params":{"cost_bps":5,"n_stocks":5,"base_signal":"momentum_20","holding_days":20,"dispersion_window":60},"performance":{"sharpe":-0.37,"max_drawdown_pct":-46,"alpha_annualized_pct":-7.4,"p_value":0.46,"regime_breakdown":{"UP":1.18133,"DOWN":-0.149764,"FLAT":-0.898753}},"executed_at":"2026-07-31T01:27:20","notes":null},{"run_id":"r-dispersion-jp-all-0352","name":"dispersion_window=60, holding_days=20, base_signal=mean_reversion, n_stocks=5, cost_bps=5","params":{"cost_bps":5,"n_stocks":5,"base_signal":"mean_reversion","holding_days":20,"dispersion_window":60},"performance":{"sharpe":0.05,"max_drawdown_pct":-32.2,"alpha_annualized_pct":0.8,"p_value":0.92,"regime_breakdown":{"UP":-2.062816,"DOWN":-1.658751,"FLAT":0.709818}},"executed_at":"2026-07-31T01:27:21","notes":null}],"facts":[{"fact_id":"dispersion-jp-all-fact-best-sharpe","strategy_slug":"dispersion-jp-all","claim":"Best grid Sharpe ratio is 0.57 (p=0.25).","value":0.57,"value_text":null,"unit":"sharpe_ratio","context":"period 2022-03-01–2026-02-02; cost=5bps","supports_verdict":"rejected","source_run_id":"r-dispersion-jp-all-0002","search_tsv":"'-01':12 '-02':14,15 '-03':11 '0.25':8 '0.57':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/dispersion-jp-all-fact-best-sharpe"},{"fact_id":"dispersion-jp-all-fact-median-sharpe","strategy_slug":"dispersion-jp-all","claim":"Median Sharpe across 192 grid runs is -0.16.","value":-0.16,"value_text":null,"unit":"sharpe_ratio","context":"Full grid of 192 parameter combinations.","supports_verdict":"rejected","source_run_id":null,"search_tsv":"'-0.16':8 '192':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/dispersion-jp-all-fact-median-sharpe"},{"fact_id":"dispersion-jp-all-fact-regime-down","strategy_slug":"dispersion-jp-all","claim":"Median Sharpe in DOWN regime is -0.18 across 192 runs.","value":-0.18,"value_text":null,"unit":"sharpe_ratio","context":"Regime=DOWN, N225 SMA20/SMA60 classification.","supports_verdict":"rejected","source_run_id":null,"search_tsv":"'-0.18':7 '192':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/dispersion-jp-all-fact-regime-down"},{"fact_id":"dispersion-jp-all-fact-regime-flat","strategy_slug":"dispersion-jp-all","claim":"Median Sharpe in FLAT regime is -0.25 across 192 runs.","value":-0.25,"value_text":null,"unit":"sharpe_ratio","context":"Regime=FLAT, N225 SMA20/SMA60 classification.","supports_verdict":"rejected","source_run_id":null,"search_tsv":"'-0.25':7 '192':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/dispersion-jp-all-fact-regime-flat"},{"fact_id":"dispersion-jp-all-fact-regime-up","strategy_slug":"dispersion-jp-all","claim":"Median Sharpe in UP regime is 0.43 across 192 runs.","value":0.43,"value_text":null,"unit":"sharpe_ratio","context":"Regime=UP, N225 SMA20/SMA60 classification.","supports_verdict":"rejected","source_run_id":null,"search_tsv":"'0.43':7 '192':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/dispersion-jp-all-fact-regime-up"}],"related_strategies":[{"related_slug":"dispersion-jp-growth","relation":"same_strategy"}],"tags":["dispersion","timing","regime","all-market","grid-search"],"_links":{"self":"https://qbuntu.ai/v1/strategies/dispersion-jp-all","html":"https://qbuntu.ai/strategies/dispersion-jp-all","markdown":"https://qbuntu.ai/ai/strategies/dispersion-jp-all.md"}}