{"schema_version":"v1","slug":"sector-rotation-jp-all","name":"Sector Rotation / Sector Momentum (JP All Stocks)","name_i18n":{},"verdict":"marginal","asset_class":"equity","categories":["cross-sectional","momentum","sector-rotation"],"hypothesis":"Cross-sectional sector momentum: group stocks by TSE ticker-code sector. Testing on the full Japanese stock universe.","rejection_reason":{"primary":"no_edge","secondary":[],"narrative":"Across 384 grid combinations, median Sharpe=0.08, best=0.94. Primary failure mode: no_edge."},"target_universe":{"description":"Tokyo Stock Exchange all listed (Prime/Standard/Growth), ~3747 stocks","symbols":[]},"performance_summary":{"sharpe_median":0.0758,"max_drawdown_pct":-16.7,"win_rate":null,"alpha_annualized_pct":null,"p_value":0.57,"backtest_period":{"start":"2022-03-01","end":"2026-05-01"}},"grid_summary":{"sharpe":{"p25":-0.2,"p75":0.3,"best":0.94,"worst":-0.94,"median":0.08},"n_combinations":384},"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-29T01:08:34","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-sector-rotation-jp-all-0000","name":"formation_days=20, holding_days=5, n_sectors=2, weighting=equal_sector, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_sectors":2,"weighting":"equal_sector","regime_gate":false,"holding_days":5,"formation_days":20},"performance":{"sharpe":-0.37,"max_drawdown_pct":-14.8,"alpha_annualized_pct":-3,"p_value":0.45,"regime_breakdown":{"UP":-0.38197,"DOWN":-0.49811,"FLAT":-0.34305}},"executed_at":"2026-07-29T01:01:59","notes":null},{"run_id":"r-sector-rotation-jp-all-0001","name":"formation_days=20, holding_days=5, n_sectors=2, weighting=equal_sector, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"n_sectors":2,"weighting":"equal_sector","regime_gate":true,"holding_days":5,"formation_days":20},"performance":{"sharpe":-0.21,"max_drawdown_pct":-11.7,"alpha_annualized_pct":-1.8,"p_value":0.67,"regime_breakdown":{"UP":0.266479,"DOWN":-0.49811,"FLAT":-0.34305}},"executed_at":"2026-07-29T01:01:59","notes":null},{"run_id":"r-sector-rotation-jp-all-0002","name":"formation_days=20, holding_days=5, n_sectors=2, weighting=equal_sector, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_sectors":2,"weighting":"equal_sector","regime_gate":false,"holding_days":5,"formation_days":20},"performance":{"sharpe":-0.51,"max_drawdown_pct":-17.5,"alpha_annualized_pct":-4.2,"p_value":0.3,"regime_breakdown":{"UP":-0.533928,"DOWN":-0.645495,"FLAT":-0.482275}},"executed_at":"2026-07-29T01:01:59","notes":null},{"run_id":"r-sector-rotation-jp-all-0003","name":"formation_days=20, holding_days=5, n_sectors=2, weighting=equal_sector, cost_bps=10, regime_gate=True","params":{"cost_bps":10,"n_sectors":2,"weighting":"equal_sector","regime_gate":true,"holding_days":5,"formation_days":20},"performance":{"sharpe":-0.33,"max_drawdown_pct":-13,"alpha_annualized_pct":-2.8,"p_value":0.49,"regime_breakdown":{"UP":0.196704,"DOWN":-0.645495,"FLAT":-0.482275}},"executed_at":"2026-07-29T01:01:59","notes":null},{"run_id":"r-sector-rotation-jp-all-0004","name":"formation_days=20, holding_days=5, n_sectors=2, weighting=equal_stock, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_sectors":2,"weighting":"equal_stock","regime_gate":false,"holding_days":5,"formation_days":20},"performance":{"sharpe":-0.24,"max_drawdown_pct":-11.4,"alpha_annualized_pct":-1.7,"p_value":0.62,"regime_breakdown":{"UP":-0.307912,"DOWN":-0.359962,"FLAT":-0.19191}},"executed_at":"2026-07-29T01:01:59","notes":null},{"run_id":"r-sector-rotation-jp-all-0008","name":"formation_days=20, holding_days=5, n_sectors=2, weighting=cap_weight, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_sectors":2,"weighting":"cap_weight","regime_gate":false,"holding_days":5,"formation_days":20},"performance":{"sharpe":-0.19,"max_drawdown_pct":-12.4,"alpha_annualized_pct":-1.4,"p_value":0.69,"regime_breakdown":{"UP":-0.64127,"DOWN":0.143498,"FLAT":-0.059736}},"executed_at":"2026-07-29T01:02:00","notes":null},{"run_id":"r-sector-rotation-jp-all-0012","name":"formation_days=20, holding_days=5, n_sectors=3, weighting=equal_sector, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_sectors":3,"weighting":"equal_sector","regime_gate":false,"holding_days":5,"formation_days":20},"performance":{"sharpe":-0.43,"max_drawdown_pct":-18.9,"alpha_annualized_pct":-3.2,"p_value":0.38,"regime_breakdown":{"UP":-0.282147,"DOWN":-0.602775,"FLAT":-0.452049}},"executed_at":"2026-07-29T01:02:00","notes":null},{"run_id":"r-sector-rotation-jp-all-0048","name":"formation_days=20, holding_days=10, n_sectors=2, weighting=equal_sector, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_sectors":2,"weighting":"equal_sector","regime_gate":false,"holding_days":10,"formation_days":20},"performance":{"sharpe":-0.13,"max_drawdown_pct":-18.1,"alpha_annualized_pct":-1.2,"p_value":0.79,"regime_breakdown":{"UP":-0.374323,"DOWN":-0.553877,"FLAT":0.034798}},"executed_at":"2026-07-29T01:02:01","notes":null},{"run_id":"r-sector-rotation-jp-all-0066","name":"formation_days=20, holding_days=10, n_sectors=3, weighting=equal_stock, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_sectors":3,"weighting":"equal_stock","regime_gate":false,"holding_days":10,"formation_days":20},"performance":{"sharpe":-0.18,"max_drawdown_pct":-15.7,"alpha_annualized_pct":-1.4,"p_value":0.72,"regime_breakdown":{"UP":0.21216,"DOWN":-1.209944,"FLAT":-0.169285}},"executed_at":"2026-07-29T01:02:02","notes":null},{"run_id":"r-sector-rotation-jp-all-0070","name":"formation_days=20, holding_days=10, n_sectors=3, weighting=cap_weight, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_sectors":3,"weighting":"cap_weight","regime_gate":false,"holding_days":10,"formation_days":20},"performance":{"sharpe":-0.94,"max_drawdown_pct":-29.1,"alpha_annualized_pct":-7.3,"p_value":0.056,"regime_breakdown":{"UP":-0.866693,"DOWN":-2.015347,"FLAT":-0.861283}},"executed_at":"2026-07-29T01:02:02","notes":null},{"run_id":"r-sector-rotation-jp-all-0109","name":"formation_days=20, holding_days=20, n_sectors=3, weighting=equal_sector, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"n_sectors":3,"weighting":"equal_sector","regime_gate":true,"holding_days":20,"formation_days":20},"performance":{"sharpe":-0.44,"max_drawdown_pct":-27.6,"alpha_annualized_pct":-4.8,"p_value":0.37,"regime_breakdown":{"UP":0.375576,"DOWN":-1.933743,"FLAT":-0.685227}},"executed_at":"2026-07-29T01:02:03","notes":null},{"run_id":"r-sector-rotation-jp-all-0144","name":"formation_days=20, holding_days=60, n_sectors=2, weighting=equal_sector, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_sectors":2,"weighting":"equal_sector","regime_gate":false,"holding_days":60,"formation_days":20},"performance":{"sharpe":0.13,"max_drawdown_pct":-20.9,"alpha_annualized_pct":4.7,"p_value":0.66,"regime_breakdown":{"UP":-0.287986,"DOWN":5.154889,"FLAT":0.228974}},"executed_at":"2026-07-29T01:02:04","notes":null},{"run_id":"r-sector-rotation-jp-all-0152","name":"formation_days=20, holding_days=60, n_sectors=2, weighting=cap_weight, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_sectors":2,"weighting":"cap_weight","regime_gate":false,"holding_days":60,"formation_days":20},"performance":{"sharpe":0.08,"max_drawdown_pct":-24.3,"alpha_annualized_pct":3,"p_value":0.79,"regime_breakdown":{"UP":-0.511333,"DOWN":4.663305,"FLAT":0.295384}},"executed_at":"2026-07-29T01:02:04","notes":null},{"run_id":"r-sector-rotation-jp-all-0194","name":"formation_days=60, holding_days=5, n_sectors=2, weighting=equal_sector, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_sectors":2,"weighting":"equal_sector","regime_gate":false,"holding_days":5,"formation_days":60},"performance":{"sharpe":0.22,"max_drawdown_pct":-12.4,"alpha_annualized_pct":1.9,"p_value":0.66,"regime_breakdown":{"UP":-0.229459,"DOWN":-0.888897,"FLAT":0.659872}},"executed_at":"2026-07-29T01:02:06","notes":null},{"run_id":"r-sector-rotation-jp-all-0212","name":"formation_days=60, holding_days=5, n_sectors=3, weighting=cap_weight, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_sectors":3,"weighting":"cap_weight","regime_gate":false,"holding_days":5,"formation_days":60},"performance":{"sharpe":0.78,"max_drawdown_pct":-6.7,"alpha_annualized_pct":4.4,"p_value":0.12,"regime_breakdown":{"UP":2.128425,"DOWN":0.001658,"FLAT":0.3478}},"executed_at":"2026-07-29T01:02:07","notes":null},{"run_id":"r-sector-rotation-jp-all-0254","name":"formation_days=60, holding_days=10, n_sectors=3, weighting=equal_sector, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_sectors":3,"weighting":"equal_sector","regime_gate":false,"holding_days":10,"formation_days":60},"performance":{"sharpe":0.33,"max_drawdown_pct":-11.5,"alpha_annualized_pct":3,"p_value":0.5,"regime_breakdown":{"UP":0.955749,"DOWN":45.520078,"FLAT":0.022559}},"executed_at":"2026-07-29T01:02:08","notes":null},{"run_id":"r-sector-rotation-jp-all-0296","name":"formation_days=60, holding_days=20, n_sectors=2, weighting=cap_weight, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_sectors":2,"weighting":"cap_weight","regime_gate":false,"holding_days":20,"formation_days":60},"performance":{"sharpe":0.94,"max_drawdown_pct":-11.6,"alpha_annualized_pct":13.9,"p_value":0.06,"regime_breakdown":{"UP":1.890201,"DOWN":-0.219641,"FLAT":0.610217}},"executed_at":"2026-07-29T01:02:09","notes":null},{"run_id":"r-sector-rotation-jp-all-0297","name":"formation_days=60, holding_days=20, n_sectors=2, weighting=cap_weight, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"n_sectors":2,"weighting":"cap_weight","regime_gate":true,"holding_days":20,"formation_days":60},"performance":{"sharpe":0.76,"max_drawdown_pct":-11.9,"alpha_annualized_pct":11.8,"p_value":0.13,"regime_breakdown":{"UP":1.260793,"DOWN":-0.219641,"FLAT":0.610217}},"executed_at":"2026-07-29T01:02:09","notes":null},{"run_id":"r-sector-rotation-jp-all-0339","name":"formation_days=60, holding_days=60, n_sectors=2, weighting=equal_sector, cost_bps=10, regime_gate=True","params":{"cost_bps":10,"n_sectors":2,"weighting":"equal_sector","regime_gate":true,"holding_days":60,"formation_days":60},"performance":{"sharpe":0.36,"max_drawdown_pct":-25.2,"alpha_annualized_pct":19.4,"p_value":0.23,"regime_breakdown":{"UP":0.572689,"DOWN":0.609063,"FLAT":0.230485}},"executed_at":"2026-07-29T01:02:10","notes":null},{"run_id":"r-sector-rotation-jp-all-0357","name":"formation_days=60, holding_days=60, n_sectors=3, weighting=cap_weight, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"n_sectors":3,"weighting":"cap_weight","regime_gate":true,"holding_days":60,"formation_days":60},"performance":{"sharpe":-0.05,"max_drawdown_pct":-25.3,"alpha_annualized_pct":-1.8,"p_value":0.87,"regime_breakdown":{"UP":0.394155,"DOWN":-0.509885,"FLAT":-0.211357}},"executed_at":"2026-07-29T01:02:11","notes":null},{"run_id":"r-sector-rotation-jp-all-0399","name":"formation_days=120, holding_days=5, n_sectors=3, weighting=equal_sector, cost_bps=10, regime_gate=True","params":{"cost_bps":10,"n_sectors":3,"weighting":"equal_sector","regime_gate":true,"holding_days":5,"formation_days":120},"performance":{"sharpe":0.07,"max_drawdown_pct":-10,"alpha_annualized_pct":0.5,"p_value":0.88,"regime_breakdown":{"UP":0.536488,"DOWN":0.31915,"FLAT":-0.204223}},"executed_at":"2026-07-29T01:02:12","notes":null},{"run_id":"r-sector-rotation-jp-all-0441","name":"formation_days=120, holding_days=10, n_sectors=2, weighting=cap_weight, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"n_sectors":2,"weighting":"cap_weight","regime_gate":true,"holding_days":10,"formation_days":120},"performance":{"sharpe":-0.2,"max_drawdown_pct":-19.2,"alpha_annualized_pct":-2.4,"p_value":0.69,"regime_breakdown":{"UP":-0.471809,"DOWN":6.137695,"FLAT":-0.165042}},"executed_at":"2026-07-29T01:02:13","notes":null},{"run_id":"r-sector-rotation-jp-all-0483","name":"formation_days=120, holding_days=20, n_sectors=2, weighting=equal_sector, cost_bps=10, regime_gate=True","params":{"cost_bps":10,"n_sectors":2,"weighting":"equal_sector","regime_gate":true,"holding_days":20,"formation_days":120},"performance":{"sharpe":0.55,"max_drawdown_pct":-16.3,"alpha_annualized_pct":8.1,"p_value":0.28,"regime_breakdown":{"UP":0.432593,"DOWN":2.719187,"FLAT":0.471942}},"executed_at":"2026-07-29T01:02:15","notes":null},{"run_id":"r-sector-rotation-jp-all-0501","name":"formation_days=120, holding_days=20, n_sectors=3, weighting=cap_weight, cost_bps=5, regime_gate=True","params":{"cost_bps":5,"n_sectors":3,"weighting":"cap_weight","regime_gate":true,"holding_days":20,"formation_days":120},"performance":{"sharpe":-0.3,"max_drawdown_pct":-20.2,"alpha_annualized_pct":-3.9,"p_value":0.55,"regime_breakdown":{"UP":0.033788,"DOWN":-2.02065,"FLAT":-0.343595}},"executed_at":"2026-07-29T01:02:16","notes":null},{"run_id":"r-sector-rotation-jp-all-0543","name":"formation_days=120, holding_days=60, n_sectors=3, weighting=equal_sector, cost_bps=10, regime_gate=True","params":{"cost_bps":10,"n_sectors":3,"weighting":"equal_sector","regime_gate":true,"holding_days":60,"formation_days":120},"performance":{"sharpe":0.14,"max_drawdown_pct":-40.5,"alpha_annualized_pct":5.6,"p_value":0.64,"regime_breakdown":{"UP":-0.0722,"DOWN":0.139069,"FLAT":0.257086}},"executed_at":"2026-07-29T01:02:17","notes":null},{"run_id":"r-sector-rotation-jp-all-0576","name":"formation_days=250, holding_days=5, n_sectors=2, weighting=equal_sector, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_sectors":2,"weighting":"equal_sector","regime_gate":false,"holding_days":5,"formation_days":250},"performance":{"sharpe":-0.46,"max_drawdown_pct":-21.7,"alpha_annualized_pct":-5.6,"p_value":0.42,"regime_breakdown":{"UP":-1.075406,"DOWN":-1.266571,"FLAT":-0.009424}},"executed_at":"2026-07-29T01:02:17","notes":null},{"run_id":"r-sector-rotation-jp-all-0586","name":"formation_days=250, holding_days=5, n_sectors=2, weighting=cap_weight, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_sectors":2,"weighting":"cap_weight","regime_gate":false,"holding_days":5,"formation_days":250},"performance":{"sharpe":-0.46,"max_drawdown_pct":-17.9,"alpha_annualized_pct":-4.7,"p_value":0.42,"regime_breakdown":{"UP":-2.115669,"DOWN":-1.00965,"FLAT":0.44078}},"executed_at":"2026-07-29T01:02:18","notes":null},{"run_id":"r-sector-rotation-jp-all-0628","name":"formation_days=250, holding_days=10, n_sectors=2, weighting=equal_stock, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_sectors":2,"weighting":"equal_stock","regime_gate":false,"holding_days":10,"formation_days":250},"performance":{"sharpe":-0.48,"max_drawdown_pct":-23.6,"alpha_annualized_pct":-6.1,"p_value":0.4,"regime_breakdown":{"UP":-1.677026,"DOWN":-0.12822,"FLAT":0.067337}},"executed_at":"2026-07-29T01:02:19","notes":null},{"run_id":"r-sector-rotation-jp-all-0646","name":"formation_days=250, holding_days=10, n_sectors=3, weighting=cap_weight, cost_bps=10, regime_gate=False","params":{"cost_bps":10,"n_sectors":3,"weighting":"cap_weight","regime_gate":false,"holding_days":10,"formation_days":250},"performance":{"sharpe":-0.56,"max_drawdown_pct":-14.2,"alpha_annualized_pct":-4.2,"p_value":0.33,"regime_breakdown":{"UP":-1.169302,"DOWN":1.159259,"FLAT":-0.526523}},"executed_at":"2026-07-29T01:02:20","notes":null},{"run_id":"r-sector-rotation-jp-all-0688","name":"formation_days=250, holding_days=20, n_sectors=3, weighting=equal_stock, cost_bps=5, regime_gate=False","params":{"cost_bps":5,"n_sectors":3,"weighting":"equal_stock","regime_gate":false,"holding_days":20,"formation_days":250},"performance":{"sharpe":-0.07,"max_drawdown_pct":-14.2,"alpha_annualized_pct":-0.8,"p_value":0.9,"regime_breakdown":{"UP":-0.281816,"DOWN":0.505643,"FLAT":-0.100336}},"executed_at":"2026-07-29T01:02:21","notes":null}],"facts":[{"fact_id":"sector-rotation-jp-all-fact-best-sharpe","strategy_slug":"sector-rotation-jp-all","claim":"Best grid Sharpe ratio is 0.94 (p=0.06).","value":0.94,"value_text":null,"unit":"sharpe_ratio","context":"period 2022-03-01–2026-05-01; cost=5bps","supports_verdict":"marginal","source_run_id":"r-sector-rotation-jp-all-0296","search_tsv":"'-01':12,15 '-03':11 '-05':14 '0.06':8 '0.94':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/sector-rotation-jp-all-fact-best-sharpe"},{"fact_id":"sector-rotation-jp-all-fact-median-sharpe","strategy_slug":"sector-rotation-jp-all","claim":"Median Sharpe across 384 grid runs is 0.08.","value":0.08,"value_text":null,"unit":"sharpe_ratio","context":"Full grid of 384 parameter combinations.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'0.08':8 '384':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/sector-rotation-jp-all-fact-median-sharpe"},{"fact_id":"sector-rotation-jp-all-fact-regime-down","strategy_slug":"sector-rotation-jp-all","claim":"Median Sharpe in DOWN regime is 0.07 across 384 runs.","value":0.07,"value_text":null,"unit":"sharpe_ratio","context":"Regime=DOWN, N225 SMA20/SMA60 classification.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'0.07':7 '384':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/sector-rotation-jp-all-fact-regime-down"},{"fact_id":"sector-rotation-jp-all-fact-regime-flat","strategy_slug":"sector-rotation-jp-all","claim":"Median Sharpe in FLAT regime is 0.01 across 384 runs.","value":0.01,"value_text":null,"unit":"sharpe_ratio","context":"Regime=FLAT, N225 SMA20/SMA60 classification.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'0.01':7 '384':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/sector-rotation-jp-all-fact-regime-flat"},{"fact_id":"sector-rotation-jp-all-fact-regime-up","strategy_slug":"sector-rotation-jp-all","claim":"Median Sharpe in UP regime is 0.17 across 384 runs.","value":0.17,"value_text":null,"unit":"sharpe_ratio","context":"Regime=UP, N225 SMA20/SMA60 classification.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'0.17':7 '384':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/sector-rotation-jp-all-fact-regime-up"}],"related_strategies":[{"related_slug":"sector-rotation-jp-growth","relation":"same_strategy"}],"tags":["sector-rotation","momentum","cross-sectional","all-market","grid-search"],"_links":{"self":"https://qbuntu.ai/v1/strategies/sector-rotation-jp-all","html":"https://qbuntu.ai/strategies/sector-rotation-jp-all","markdown":"https://qbuntu.ai/ai/strategies/sector-rotation-jp-all.md"}}