{"schema_version":"v1","slug":"earnings-yield-momentum-jp-all","name":"Earnings Yield x Momentum (JP All Stocks)","name_i18n":{},"verdict":"marginal","asset_class":"equity","categories":["fundamental","momentum","value"],"hypothesis":"Value and momentum are individually noisy but historically complementary; requiring both a high earnings yield and positive price momentum tests whether the intersection avoids value traps better than either signal alone.","rejection_reason":{"primary":"regime_dependent","secondary":[],"narrative":"Across 144 grid combinations, median Sharpe=0.25, best=1.71. Primary failure mode: regime_dependent."},"target_universe":{"description":"Tokyo Stock Exchange all listed (Prime/Standard/Growth), ~3747 stocks; fundamentals from J-Quants financial statements (coverage from 2023-12)","symbols":[]},"performance_summary":{"sharpe_median":0.2489,"max_drawdown_pct":-7.3,"win_rate":null,"alpha_annualized_pct":null,"p_value":0.52,"backtest_period":{"start":"2024-01-04","end":"2026-09-01"}},"grid_summary":{"sharpe":{"p25":-0.07,"p75":0.63,"best":1.71,"worst":-0.84,"median":0.25},"n_combinations":144},"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-09-26T05:46:58","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-earnings-yield-momentum-jp-all-0000","name":"momentum_days=20, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=1","params":{"cost_bps":5,"n_stocks":5,"regime_gate":false,"holding_days":1,"momentum_days":20},"performance":{"sharpe":-0.49,"max_drawdown_pct":-17.7,"alpha_annualized_pct":-4.4,"p_value":0.42,"regime_breakdown":{"UP":-0.626319,"DOWN":-1.104178,"FLAT":-0.19861}},"executed_at":"2026-09-26T02:27:49","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0001","name":"momentum_days=20, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=5","params":{"cost_bps":5,"n_stocks":5,"regime_gate":false,"holding_days":5,"momentum_days":20},"performance":{"sharpe":0.1,"max_drawdown_pct":-14.5,"alpha_annualized_pct":1.2,"p_value":0.87,"regime_breakdown":{"UP":-0.074116,"DOWN":-2.585645,"FLAT":0.697705}},"executed_at":"2026-09-26T02:27:50","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0002","name":"momentum_days=20, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=20","params":{"cost_bps":5,"n_stocks":5,"regime_gate":false,"holding_days":20,"momentum_days":20},"performance":{"sharpe":0.25,"max_drawdown_pct":-20.8,"alpha_annualized_pct":4.6,"p_value":0.69,"regime_breakdown":{"UP":-0.020485,"DOWN":-0.735063,"FLAT":0.634403}},"executed_at":"2026-09-26T02:27:51","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0003","name":"momentum_days=20, n_stocks=5, cost_bps=5, regime_gate=True, holding_days=1","params":{"cost_bps":5,"n_stocks":5,"regime_gate":true,"holding_days":1,"momentum_days":20},"performance":{"sharpe":-0.34,"max_drawdown_pct":-18.1,"alpha_annualized_pct":-3.1,"p_value":0.57,"regime_breakdown":{"UP":-0.198821,"DOWN":-1.104178,"FLAT":-0.19861}},"executed_at":"2026-09-26T02:27:51","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0006","name":"momentum_days=20, n_stocks=5, cost_bps=10, regime_gate=False, holding_days=1","params":{"cost_bps":10,"n_stocks":5,"regime_gate":false,"holding_days":1,"momentum_days":20},"performance":{"sharpe":-0.63,"max_drawdown_pct":-19.7,"alpha_annualized_pct":-5.6,"p_value":0.3,"regime_breakdown":{"UP":-0.790292,"DOWN":-1.237711,"FLAT":-0.31929}},"executed_at":"2026-09-26T02:27:53","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0010","name":"momentum_days=20, n_stocks=5, cost_bps=10, regime_gate=True, holding_days=5","params":{"cost_bps":10,"n_stocks":5,"regime_gate":true,"holding_days":5,"momentum_days":20},"performance":{"sharpe":0.25,"max_drawdown_pct":-15,"alpha_annualized_pct":2.9,"p_value":0.68,"regime_breakdown":{"UP":0.415766,"DOWN":-2.792762,"FLAT":0.598191}},"executed_at":"2026-09-26T02:27:55","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0016","name":"momentum_days=20, n_stocks=10, cost_bps=5, regime_gate=True, holding_days=5","params":{"cost_bps":5,"n_stocks":10,"regime_gate":true,"holding_days":5,"momentum_days":20},"performance":{"sharpe":0.63,"max_drawdown_pct":-7.3,"alpha_annualized_pct":5,"p_value":0.31,"regime_breakdown":{"UP":0.826282,"DOWN":-2.928941,"FLAT":1.08689}},"executed_at":"2026-09-26T02:27:58","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0022","name":"momentum_days=20, n_stocks=10, cost_bps=10, regime_gate=True, holding_days=5","params":{"cost_bps":10,"n_stocks":10,"regime_gate":true,"holding_days":5,"momentum_days":20},"performance":{"sharpe":0.5,"max_drawdown_pct":-7.9,"alpha_annualized_pct":4,"p_value":0.41,"regime_breakdown":{"UP":0.757648,"DOWN":-3.24305,"FLAT":0.928647}},"executed_at":"2026-09-26T02:28:01","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0028","name":"momentum_days=20, n_stocks=20, cost_bps=5, regime_gate=True, holding_days=5","params":{"cost_bps":5,"n_stocks":20,"regime_gate":true,"holding_days":5,"momentum_days":20},"performance":{"sharpe":1.07,"max_drawdown_pct":-5,"alpha_annualized_pct":7.2,"p_value":0.087,"regime_breakdown":{"UP":0.890491,"DOWN":-0.576361,"FLAT":1.633587}},"executed_at":"2026-09-26T02:28:04","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0034","name":"momentum_days=20, n_stocks=20, cost_bps=10, regime_gate=True, holding_days=5","params":{"cost_bps":10,"n_stocks":20,"regime_gate":true,"holding_days":5,"momentum_days":20},"performance":{"sharpe":0.92,"max_drawdown_pct":-5.7,"alpha_annualized_pct":6.1,"p_value":0.14,"regime_breakdown":{"UP":0.790834,"DOWN":-0.786654,"FLAT":1.464296}},"executed_at":"2026-09-26T02:28:08","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0036","name":"momentum_days=20, n_stocks=50, cost_bps=5, regime_gate=False, holding_days=1","params":{"cost_bps":5,"n_stocks":50,"regime_gate":false,"holding_days":1,"momentum_days":20},"performance":{"sharpe":-0.2,"max_drawdown_pct":-5.7,"alpha_annualized_pct":-0.7,"p_value":0.74,"regime_breakdown":{"UP":-0.918728,"DOWN":-0.921318,"FLAT":0.778001}},"executed_at":"2026-09-26T02:28:09","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0041","name":"momentum_days=20, n_stocks=50, cost_bps=5, regime_gate=True, holding_days=20","params":{"cost_bps":5,"n_stocks":50,"regime_gate":true,"holding_days":20,"momentum_days":20},"performance":{"sharpe":0.2,"max_drawdown_pct":-8.4,"alpha_annualized_pct":1.5,"p_value":0.75,"regime_breakdown":{"UP":-0.451853,"DOWN":1.503011,"FLAT":0.551249}},"executed_at":"2026-09-26T02:28:12","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0047","name":"momentum_days=20, n_stocks=50, cost_bps=10, regime_gate=True, holding_days=20","params":{"cost_bps":10,"n_stocks":50,"regime_gate":true,"holding_days":20,"momentum_days":20},"performance":{"sharpe":0.07,"max_drawdown_pct":-9.3,"alpha_annualized_pct":0.5,"p_value":0.92,"regime_breakdown":{"UP":-0.518592,"DOWN":1.30427,"FLAT":0.361759}},"executed_at":"2026-09-26T02:28:15","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0053","name":"momentum_days=60, n_stocks=5, cost_bps=5, regime_gate=True, holding_days=20","params":{"cost_bps":5,"n_stocks":5,"regime_gate":true,"holding_days":20,"momentum_days":60},"performance":{"sharpe":0.3,"max_drawdown_pct":-19.2,"alpha_annualized_pct":4.3,"p_value":0.63,"regime_breakdown":{"UP":0.763456,"DOWN":-2.244888,"FLAT":0.801695}},"executed_at":"2026-09-26T02:28:18","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0059","name":"momentum_days=60, n_stocks=5, cost_bps=10, regime_gate=True, holding_days=20","params":{"cost_bps":10,"n_stocks":5,"regime_gate":true,"holding_days":20,"momentum_days":60},"performance":{"sharpe":0.23,"max_drawdown_pct":-19.5,"alpha_annualized_pct":3.2,"p_value":0.72,"regime_breakdown":{"UP":0.724696,"DOWN":-2.326029,"FLAT":0.69401}},"executed_at":"2026-09-26T02:28:21","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0065","name":"momentum_days=60, n_stocks=10, cost_bps=5, regime_gate=True, holding_days=20","params":{"cost_bps":5,"n_stocks":10,"regime_gate":true,"holding_days":20,"momentum_days":60},"performance":{"sharpe":0.45,"max_drawdown_pct":-10.4,"alpha_annualized_pct":6.2,"p_value":0.49,"regime_breakdown":{"UP":0.148119,"DOWN":-3.011482,"FLAT":1.041982}},"executed_at":"2026-09-26T02:28:24","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0071","name":"momentum_days=60, n_stocks=10, cost_bps=10, regime_gate=True, holding_days=20","params":{"cost_bps":10,"n_stocks":10,"regime_gate":true,"holding_days":20,"momentum_days":60},"performance":{"sharpe":0.37,"max_drawdown_pct":-11,"alpha_annualized_pct":5.2,"p_value":0.56,"regime_breakdown":{"UP":0.098449,"DOWN":-3.189285,"FLAT":0.962996}},"executed_at":"2026-09-26T02:28:27","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0077","name":"momentum_days=60, n_stocks=20, cost_bps=5, regime_gate=True, holding_days=20","params":{"cost_bps":5,"n_stocks":20,"regime_gate":true,"holding_days":20,"momentum_days":60},"performance":{"sharpe":0.56,"max_drawdown_pct":-8.4,"alpha_annualized_pct":5.6,"p_value":0.38,"regime_breakdown":{"UP":0.160589,"DOWN":-1.294305,"FLAT":1.286716}},"executed_at":"2026-09-26T02:28:30","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0078","name":"momentum_days=60, n_stocks=20, cost_bps=10, regime_gate=False, holding_days=1","params":{"cost_bps":10,"n_stocks":20,"regime_gate":false,"holding_days":1,"momentum_days":60},"performance":{"sharpe":-0.84,"max_drawdown_pct":-7,"alpha_annualized_pct":-2.9,"p_value":0.19,"regime_breakdown":{"UP":-4.102417,"DOWN":-1.286873,"FLAT":0.67649}},"executed_at":"2026-09-26T02:28:30","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0084","name":"momentum_days=60, n_stocks=50, cost_bps=5, regime_gate=False, holding_days=1","params":{"cost_bps":5,"n_stocks":50,"regime_gate":false,"holding_days":1,"momentum_days":60},"performance":{"sharpe":-0.23,"max_drawdown_pct":-2.5,"alpha_annualized_pct":-0.5,"p_value":0.71,"regime_breakdown":{"UP":-3.258079,"DOWN":0.052671,"FLAT":0.920555}},"executed_at":"2026-09-26T02:28:33","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0090","name":"momentum_days=60, n_stocks=50, cost_bps=10, regime_gate=False, holding_days=1","params":{"cost_bps":10,"n_stocks":50,"regime_gate":false,"holding_days":1,"momentum_days":60},"performance":{"sharpe":-0.82,"max_drawdown_pct":-5,"alpha_annualized_pct":-1.7,"p_value":0.2,"regime_breakdown":{"UP":-4.147123,"DOWN":-0.441824,"FLAT":0.349378}},"executed_at":"2026-09-26T02:28:36","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0096","name":"momentum_days=120, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=1","params":{"cost_bps":5,"n_stocks":5,"regime_gate":false,"holding_days":1,"momentum_days":120},"performance":{"sharpe":0.03,"max_drawdown_pct":-9,"alpha_annualized_pct":0.2,"p_value":0.96,"regime_breakdown":{"UP":-2.576653,"DOWN":-0.561414,"FLAT":2.283368}},"executed_at":"2026-09-26T02:28:39","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0097","name":"momentum_days=120, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=5","params":{"cost_bps":5,"n_stocks":5,"regime_gate":false,"holding_days":5,"momentum_days":120},"performance":{"sharpe":0.75,"max_drawdown_pct":-11.9,"alpha_annualized_pct":7.9,"p_value":0.25,"regime_breakdown":{"UP":-1.519575,"DOWN":0.171116,"FLAT":2.810641}},"executed_at":"2026-09-26T02:28:39","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0100","name":"momentum_days=120, n_stocks=5, cost_bps=5, regime_gate=True, holding_days=5","params":{"cost_bps":5,"n_stocks":5,"regime_gate":true,"holding_days":5,"momentum_days":120},"performance":{"sharpe":1.71,"max_drawdown_pct":-3.7,"alpha_annualized_pct":14.8,"p_value":0.014,"regime_breakdown":{"UP":0.816191,"DOWN":0.171116,"FLAT":2.810641}},"executed_at":"2026-09-26T02:28:41","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0104","name":"momentum_days=120, n_stocks=5, cost_bps=10, regime_gate=False, holding_days=20","params":{"cost_bps":10,"n_stocks":5,"regime_gate":false,"holding_days":20,"momentum_days":120},"performance":{"sharpe":0.98,"max_drawdown_pct":-13.5,"alpha_annualized_pct":17.9,"p_value":0.15,"regime_breakdown":{"UP":0.742122,"DOWN":-4.24003,"FLAT":2.061976}},"executed_at":"2026-09-26T02:28:42","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0110","name":"momentum_days=120, n_stocks=10, cost_bps=5, regime_gate=False, holding_days=20","params":{"cost_bps":5,"n_stocks":10,"regime_gate":false,"holding_days":20,"momentum_days":120},"performance":{"sharpe":0.28,"max_drawdown_pct":-21.2,"alpha_annualized_pct":5.1,"p_value":0.67,"regime_breakdown":{"UP":0.167556,"DOWN":-3.012438,"FLAT":0.445565}},"executed_at":"2026-09-26T02:28:45","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0116","name":"momentum_days=120, n_stocks=10, cost_bps=10, regime_gate=False, holding_days=20","params":{"cost_bps":10,"n_stocks":10,"regime_gate":false,"holding_days":20,"momentum_days":120},"performance":{"sharpe":0.21,"max_drawdown_pct":-21.5,"alpha_annualized_pct":3.9,"p_value":0.75,"regime_breakdown":{"UP":0.096759,"DOWN":-3.50754,"FLAT":0.386397}},"executed_at":"2026-09-26T02:28:48","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0122","name":"momentum_days=120, n_stocks=20, cost_bps=5, regime_gate=False, holding_days=20","params":{"cost_bps":5,"n_stocks":20,"regime_gate":false,"holding_days":20,"momentum_days":120},"performance":{"sharpe":0.83,"max_drawdown_pct":-10.5,"alpha_annualized_pct":9.1,"p_value":0.22,"regime_breakdown":{"UP":0.748221,"DOWN":-7.208,"FLAT":1.216958}},"executed_at":"2026-09-26T02:28:51","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0128","name":"momentum_days=120, n_stocks=20, cost_bps=10, regime_gate=False, holding_days=20","params":{"cost_bps":10,"n_stocks":20,"regime_gate":false,"holding_days":20,"momentum_days":120},"performance":{"sharpe":0.72,"max_drawdown_pct":-10.8,"alpha_annualized_pct":7.9,"p_value":0.28,"regime_breakdown":{"UP":0.633317,"DOWN":-7.876705,"FLAT":1.113654}},"executed_at":"2026-09-26T02:28:53","notes":null},{"run_id":"r-earnings-yield-momentum-jp-all-0134","name":"momentum_days=120, n_stocks=50, cost_bps=5, regime_gate=False, holding_days=20","params":{"cost_bps":5,"n_stocks":50,"regime_gate":false,"holding_days":20,"momentum_days":120},"performance":{"sharpe":0.68,"max_drawdown_pct":-6.1,"alpha_annualized_pct":4.2,"p_value":0.31,"regime_breakdown":{"UP":1.327338,"DOWN":-11.935745,"FLAT":0.607773}},"executed_at":"2026-09-26T02:28:56","notes":null}],"facts":[{"fact_id":"earnings-yield-momentum-jp-all-fact-best-sharpe","strategy_slug":"earnings-yield-momentum-jp-all","claim":"Best grid Sharpe ratio is 1.71 (p=0.014).","value":1.71,"value_text":null,"unit":"sharpe_ratio","context":"period 2024-01-04–2026-09-01; cost=5bps","supports_verdict":"marginal","source_run_id":"r-earnings-yield-momentum-jp-all-0100","search_tsv":"'-01':11,15 '-04':12 '-09':14 '0.014':8 '1.71':6 '2024':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/earnings-yield-momentum-jp-all-fact-best-sharpe"},{"fact_id":"earnings-yield-momentum-jp-all-fact-median-sharpe","strategy_slug":"earnings-yield-momentum-jp-all","claim":"Median Sharpe across 144 grid runs is 0.25.","value":0.25,"value_text":null,"unit":"sharpe_ratio","context":"Full grid of 144 parameter combinations.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'0.25':8 '144':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/earnings-yield-momentum-jp-all-fact-median-sharpe"},{"fact_id":"earnings-yield-momentum-jp-all-fact-regime-down","strategy_slug":"earnings-yield-momentum-jp-all","claim":"Median Sharpe in DOWN regime is -1.23 across 144 runs.","value":-1.23,"value_text":null,"unit":"sharpe_ratio","context":"Regime=DOWN, N225 SMA20/SMA60 classification.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'-1.23':7 '144':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/earnings-yield-momentum-jp-all-fact-regime-down"},{"fact_id":"earnings-yield-momentum-jp-all-fact-regime-flat","strategy_slug":"earnings-yield-momentum-jp-all","claim":"Median Sharpe in FLAT regime is 0.91 across 144 runs.","value":0.91,"value_text":null,"unit":"sharpe_ratio","context":"Regime=FLAT, N225 SMA20/SMA60 classification.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'0.91':7 '144':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/earnings-yield-momentum-jp-all-fact-regime-flat"},{"fact_id":"earnings-yield-momentum-jp-all-fact-regime-up","strategy_slug":"earnings-yield-momentum-jp-all","claim":"Median Sharpe in UP regime is -0.08 across 144 runs.","value":-0.08,"value_text":null,"unit":"sharpe_ratio","context":"Regime=UP, N225 SMA20/SMA60 classification.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'-0.08':7 '144':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/earnings-yield-momentum-jp-all-fact-regime-up"}],"related_strategies":[{"related_slug":"earnings-yield-momentum-jp-growth","relation":"same_strategy"}],"tags":["value","momentum","combo","fundamental","all-market","grid-search"],"_links":{"self":"https://qbuntu.ai/v1/strategies/earnings-yield-momentum-jp-all","html":"https://qbuntu.ai/strategies/earnings-yield-momentum-jp-all","markdown":"https://qbuntu.ai/ai/strategies/earnings-yield-momentum-jp-all.md"}}