{"schema_version":"v1","slug":"fx-carry-jpy-crosses","name":"FX Carry Trade (JPY Crosses)","name_i18n":{},"verdict":"marginal","asset_class":"fx","categories":["carry","fx","macro"],"hypothesis":"FX carry trade: borrow low-yield JPY, invest in higher-yield currencies. Tests carry, Bollinger, MA crossover, and combined strategies on JPY pairs. Includes BOJ intervention risk filter (USD/JPY threshold → force FLAT).","rejection_reason":{"primary":"no_edge","secondary":[],"narrative":"Across 1200 grid combinations, median Sharpe=0.63, best=1.36. Primary failure mode: no_edge."},"target_universe":{"description":"FX pairs: USD/JPY, EUR/JPY, GBP/JPY, AUD/JPY","symbols":[]},"performance_summary":{"sharpe_median":0.635,"max_drawdown_pct":-32.9,"win_rate":null,"alpha_annualized_pct":null,"p_value":0.12,"backtest_period":{"start":"2020-08-18","end":"2026-05-22"}},"grid_summary":{"sharpe":{"p25":0.35,"p75":1.14,"best":1.36,"worst":-0.45,"median":0.63},"n_combinations":1200},"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":"variable bps fixed","position_sizing":"leveraged","regime_definition":"N/A (intervention threshold used instead)","transaction_cost_bps":3},"provenance":{"data_source":"kabu STATION REST API + J-Quants daily bars","source_project":"qbuntu-analysis","computed_asof":"2026-08-03T01:02:38","git_sha_z":"2f23bb7","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-fx-carry-jpy-crosses-0000","name":"leverage=1, strategy=carry, pairs=USD, cost_bps=1","params":{"pairs":"USD","cost_bps":1,"leverage":1,"strategy":"carry"},"performance":{"sharpe":1.11,"max_drawdown_pct":-14.1,"alpha_annualized_pct":10.3,"p_value":0.0069,"regime_breakdown":{"UP":3.359781,"DOWN":-2.056747}},"executed_at":"2026-08-03T01:00:22","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0001","name":"leverage=1, strategy=carry, pairs=USD, cost_bps=3","params":{"pairs":"USD","cost_bps":3,"leverage":1,"strategy":"carry"},"performance":{"sharpe":1.11,"max_drawdown_pct":-14.1,"alpha_annualized_pct":10.3,"p_value":0.0069,"regime_breakdown":{"UP":3.359781,"DOWN":-2.056747}},"executed_at":"2026-08-03T01:00:22","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0002","name":"leverage=1, strategy=carry, pairs=USD, cost_bps=5","params":{"pairs":"USD","cost_bps":5,"leverage":1,"strategy":"carry"},"performance":{"sharpe":1.11,"max_drawdown_pct":-14.1,"alpha_annualized_pct":10.3,"p_value":0.0069,"regime_breakdown":{"UP":3.359781,"DOWN":-2.056747}},"executed_at":"2026-08-03T01:00:22","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0003","name":"leverage=1, strategy=carry, pairs=USD, intervention_threshold=150, cost_bps=1","params":{"pairs":"USD","cost_bps":1,"leverage":1,"strategy":"carry","intervention_threshold":150},"performance":{"sharpe":1.26,"max_drawdown_pct":-13.4,"alpha_annualized_pct":10.2,"p_value":0.0021,"regime_breakdown":{"UP":3.444413,"DOWN":-1.513906}},"executed_at":"2026-08-03T01:00:22","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0012","name":"leverage=1, strategy=carry, pairs=USD, intervention_threshold=160, cost_bps=1","params":{"pairs":"USD","cost_bps":1,"leverage":1,"strategy":"carry","intervention_threshold":160},"performance":{"sharpe":1.18,"max_drawdown_pct":-14.1,"alpha_annualized_pct":10.9,"p_value":0.0039,"regime_breakdown":{"UP":3.443442,"DOWN":-1.983107}},"executed_at":"2026-08-03T01:00:22","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0045","name":"leverage=1, strategy=carry, pairs=USD+GBP, cost_bps=1","params":{"pairs":"USD+GBP","cost_bps":1,"leverage":1,"strategy":"carry"},"performance":{"sharpe":1.24,"max_drawdown_pct":-11.4,"alpha_annualized_pct":10.3,"p_value":0.0024,"regime_breakdown":{"UP":3.291398,"DOWN":-1.71587}},"executed_at":"2026-08-03T01:00:22","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0060","name":"leverage=1, strategy=bollinger, pairs=USD, cost_bps=1","params":{"pairs":"USD","cost_bps":1,"leverage":1,"strategy":"bollinger"},"performance":{"sharpe":-0.19,"max_drawdown_pct":-21,"alpha_annualized_pct":-1.7,"p_value":0.65,"regime_breakdown":{"UP":-0.194686,"DOWN":-0.179902}},"executed_at":"2026-08-03T01:00:22","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0065","name":"leverage=1, strategy=bollinger, pairs=USD, intervention_threshold=150, cost_bps=5","params":{"pairs":"USD","cost_bps":5,"leverage":1,"strategy":"bollinger","intervention_threshold":150},"performance":{"sharpe":-0.45,"max_drawdown_pct":-21.4,"alpha_annualized_pct":-3.6,"p_value":0.28,"regime_breakdown":{"UP":-0.670644,"DOWN":-0.156012}},"executed_at":"2026-08-03T01:00:22","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0120","name":"leverage=1, strategy=ma_cross, pairs=USD, cost_bps=1","params":{"pairs":"USD","cost_bps":1,"leverage":1,"strategy":"ma_cross"},"performance":{"sharpe":0.71,"max_drawdown_pct":-12.2,"alpha_annualized_pct":6.5,"p_value":0.085,"regime_breakdown":{"UP":1.55495,"DOWN":-0.525663}},"executed_at":"2026-08-03T01:00:23","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0125","name":"leverage=1, strategy=ma_cross, pairs=USD, intervention_threshold=150, cost_bps=5","params":{"pairs":"USD","cost_bps":5,"leverage":1,"strategy":"ma_cross","intervention_threshold":150},"performance":{"sharpe":0.64,"max_drawdown_pct":-10.9,"alpha_annualized_pct":5.2,"p_value":0.12,"regime_breakdown":{"UP":1.413097,"DOWN":-0.387113}},"executed_at":"2026-08-03T01:00:23","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0184","name":"leverage=1, strategy=combined, pairs=USD, intervention_threshold=150, cost_bps=3","params":{"pairs":"USD","cost_bps":3,"leverage":1,"strategy":"combined","intervention_threshold":150},"performance":{"sharpe":0.56,"max_drawdown_pct":-11.9,"alpha_annualized_pct":3.4,"p_value":0.17,"regime_breakdown":{"UP":2.948497,"DOWN":-0.886485}},"executed_at":"2026-08-03T01:00:23","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0243","name":"leverage=2, strategy=carry, pairs=USD, intervention_threshold=150, cost_bps=1","params":{"pairs":"USD","cost_bps":1,"leverage":2,"strategy":"carry","intervention_threshold":150},"performance":{"sharpe":1.26,"max_drawdown_pct":-25.4,"alpha_annualized_pct":20.5,"p_value":0.0021,"regime_breakdown":{"UP":3.444413,"DOWN":-1.513906}},"executed_at":"2026-08-03T01:00:24","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0302","name":"leverage=2, strategy=bollinger, pairs=USD, cost_bps=5","params":{"pairs":"USD","cost_bps":5,"leverage":2,"strategy":"bollinger"},"performance":{"sharpe":-0.23,"max_drawdown_pct":-42.8,"alpha_annualized_pct":-4.2,"p_value":0.57,"regime_breakdown":{"UP":-0.240225,"DOWN":-0.218579}},"executed_at":"2026-08-03T01:00:24","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0361","name":"leverage=2, strategy=ma_cross, pairs=USD, cost_bps=3","params":{"pairs":"USD","cost_bps":3,"leverage":2,"strategy":"ma_cross"},"performance":{"sharpe":0.68,"max_drawdown_pct":-23.6,"alpha_annualized_pct":12.5,"p_value":0.098,"regime_breakdown":{"UP":1.532006,"DOWN":-0.562577}},"executed_at":"2026-08-03T01:00:25","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0420","name":"leverage=2, strategy=combined, pairs=USD, cost_bps=1","params":{"pairs":"USD","cost_bps":1,"leverage":2,"strategy":"combined"},"performance":{"sharpe":0.62,"max_drawdown_pct":-22.9,"alpha_annualized_pct":8.4,"p_value":0.13,"regime_breakdown":{"UP":3.338483,"DOWN":-1.208901}},"executed_at":"2026-08-03T01:00:25","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0479","name":"leverage=2, strategy=combined, pairs=USD+GBP, intervention_threshold=160, cost_bps=5","params":{"pairs":"USD+GBP","cost_bps":5,"leverage":2,"strategy":"combined","intervention_threshold":160},"performance":{"sharpe":1.1,"max_drawdown_pct":-18.8,"alpha_annualized_pct":12.7,"p_value":0.0072,"regime_breakdown":{"UP":3.765828,"DOWN":-0.872401}},"executed_at":"2026-08-03T01:00:26","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0528","name":"leverage=3, strategy=carry, pairs=USD+GBP, intervention_threshold=150, cost_bps=1","params":{"pairs":"USD+GBP","cost_bps":1,"leverage":3,"strategy":"carry","intervention_threshold":150},"performance":{"sharpe":1.36,"max_drawdown_pct":-29.2,"alpha_annualized_pct":30.9,"p_value":0.00095,"regime_breakdown":{"UP":3.364694,"DOWN":-1.432524}},"executed_at":"2026-08-03T01:00:26","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0539","name":"leverage=3, strategy=carry, pairs=USD+GBP, intervention_threshold=160, cost_bps=5","params":{"pairs":"USD+GBP","cost_bps":5,"leverage":3,"strategy":"carry","intervention_threshold":160},"performance":{"sharpe":1.29,"max_drawdown_pct":-29.2,"alpha_annualized_pct":31.8,"p_value":0.0017,"regime_breakdown":{"UP":3.340053,"DOWN":-1.675631}},"executed_at":"2026-08-03T01:00:26","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0545","name":"leverage=3, strategy=bollinger, pairs=USD, intervention_threshold=150, cost_bps=5","params":{"pairs":"USD","cost_bps":5,"leverage":3,"strategy":"bollinger","intervention_threshold":150},"performance":{"sharpe":-0.45,"max_drawdown_pct":-56.7,"alpha_annualized_pct":-10.8,"p_value":0.28,"regime_breakdown":{"UP":-0.670644,"DOWN":-0.156012}},"executed_at":"2026-08-03T01:00:26","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0599","name":"leverage=3, strategy=bollinger, pairs=USD+GBP, intervention_threshold=160, cost_bps=5","params":{"pairs":"USD+GBP","cost_bps":5,"leverage":3,"strategy":"bollinger","intervention_threshold":160},"performance":{"sharpe":0.32,"max_drawdown_pct":-34,"alpha_annualized_pct":7.1,"p_value":0.44,"regime_breakdown":{"UP":0.390124,"DOWN":0.225055}},"executed_at":"2026-08-03T01:00:27","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0658","name":"leverage=3, strategy=ma_cross, pairs=USD+GBP, intervention_threshold=160, cost_bps=3","params":{"pairs":"USD+GBP","cost_bps":3,"leverage":3,"strategy":"ma_cross","intervention_threshold":160},"performance":{"sharpe":0.4,"max_drawdown_pct":-38.2,"alpha_annualized_pct":8.7,"p_value":0.33,"regime_breakdown":{"UP":1.067019,"DOWN":-0.706529}},"executed_at":"2026-08-03T01:00:27","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0717","name":"leverage=3, strategy=combined, pairs=USD+GBP, intervention_threshold=160, cost_bps=1","params":{"pairs":"USD+GBP","cost_bps":1,"leverage":3,"strategy":"combined","intervention_threshold":160},"performance":{"sharpe":1.14,"max_drawdown_pct":-27.2,"alpha_annualized_pct":19.7,"p_value":0.0055,"regime_breakdown":{"UP":3.805729,"DOWN":-0.846808}},"executed_at":"2026-08-03T01:00:27","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0776","name":"leverage=5, strategy=carry, pairs=USD+GBP, intervention_threshold=158, cost_bps=5","params":{"pairs":"USD+GBP","cost_bps":5,"leverage":5,"strategy":"carry","intervention_threshold":158},"performance":{"sharpe":1.34,"max_drawdown_pct":-44.8,"alpha_annualized_pct":54.6,"p_value":0.0011,"regime_breakdown":{"UP":3.371475,"DOWN":-1.59951}},"executed_at":"2026-08-03T01:00:28","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0835","name":"leverage=5, strategy=bollinger, pairs=USD+GBP, intervention_threshold=158, cost_bps=3","params":{"pairs":"USD+GBP","cost_bps":3,"leverage":5,"strategy":"bollinger","intervention_threshold":158},"performance":{"sharpe":0.27,"max_drawdown_pct":-52.5,"alpha_annualized_pct":9.7,"p_value":0.52,"regime_breakdown":{"UP":0.351526,"DOWN":0.147459}},"executed_at":"2026-08-03T01:00:28","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0894","name":"leverage=5, strategy=ma_cross, pairs=USD+GBP, intervention_threshold=158, cost_bps=1","params":{"pairs":"USD+GBP","cost_bps":1,"leverage":5,"strategy":"ma_cross","intervention_threshold":158},"performance":{"sharpe":0.5,"max_drawdown_pct":-55.9,"alpha_annualized_pct":18.2,"p_value":0.22,"regime_breakdown":{"UP":1.145022,"DOWN":-0.562134}},"executed_at":"2026-08-03T01:00:29","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0953","name":"leverage=5, strategy=combined, pairs=USD+GBP, intervention_threshold=155, cost_bps=5","params":{"pairs":"USD+GBP","cost_bps":5,"leverage":5,"strategy":"combined","intervention_threshold":155},"performance":{"sharpe":1.1,"max_drawdown_pct":-42.4,"alpha_annualized_pct":31.3,"p_value":0.0071,"regime_breakdown":{"UP":3.674755,"DOWN":-0.772661}},"executed_at":"2026-08-03T01:00:29","notes":null},{"run_id":"r-fx-carry-jpy-crosses-0960","name":"leverage=10, strategy=carry, pairs=USD, cost_bps=1","params":{"pairs":"USD","cost_bps":1,"leverage":10,"strategy":"carry"},"performance":{"sharpe":1.11,"max_drawdown_pct":-84.4,"alpha_annualized_pct":102.8,"p_value":0.0069,"regime_breakdown":{"UP":3.359781,"DOWN":-2.056747}},"executed_at":"2026-08-03T01:00:29","notes":null},{"run_id":"r-fx-carry-jpy-crosses-1013","name":"leverage=10, strategy=carry, pairs=USD+GBP, intervention_threshold=155, cost_bps=5","params":{"pairs":"USD+GBP","cost_bps":5,"leverage":10,"strategy":"carry","intervention_threshold":155},"performance":{"sharpe":1.34,"max_drawdown_pct":-72.8,"alpha_annualized_pct":106.3,"p_value":0.0011,"regime_breakdown":{"UP":3.381109,"DOWN":-1.521683}},"executed_at":"2026-08-03T01:00:30","notes":null},{"run_id":"r-fx-carry-jpy-crosses-1072","name":"leverage=10, strategy=bollinger, pairs=USD+GBP, intervention_threshold=155, cost_bps=3","params":{"pairs":"USD+GBP","cost_bps":3,"leverage":10,"strategy":"bollinger","intervention_threshold":155},"performance":{"sharpe":0.33,"max_drawdown_pct":-77.9,"alpha_annualized_pct":23.1,"p_value":0.43,"regime_breakdown":{"UP":0.378723,"DOWN":0.258689}},"executed_at":"2026-08-03T01:00:30","notes":null},{"run_id":"r-fx-carry-jpy-crosses-1131","name":"leverage=10, strategy=ma_cross, pairs=USD+GBP, intervention_threshold=155, cost_bps=1","params":{"pairs":"USD+GBP","cost_bps":1,"leverage":10,"strategy":"ma_cross","intervention_threshold":155},"performance":{"sharpe":0.49,"max_drawdown_pct":-83.5,"alpha_annualized_pct":34.2,"p_value":0.23,"regime_breakdown":{"UP":1.138703,"DOWN":-0.551818}},"executed_at":"2026-08-03T01:00:31","notes":null}],"facts":[{"fact_id":"fx-carry-jpy-crosses-fact-avg-corr-down","strategy_slug":"fx-carry-jpy-crosses","claim":"Average monthly return correlation with other strategies in DOWN regime: -0.01","value":-0.0119,"value_text":null,"unit":"correlation","context":"Pairwise Pearson correlation of monthly returns across 42 strategies, filtered to DOWN regime months (N=3, N225 < SMA20 < SMA60)","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'-0.01':11 '3':27 '42':19 'across':18 'averag':1 'correl':4,14 'filter':21 'month':2,16,25 'n':26 'n225':28 'pairwis':12 'pearson':13 'regim':10,24 'return':3,17 'sma20':29 'sma60':30 'strategi':7,20","cite_url":"https://qbuntu.ai/cite/fx-carry-jpy-crosses-fact-avg-corr-down"},{"fact_id":"fx-carry-jpy-crosses-fact-avg-corr-full","strategy_slug":"fx-carry-jpy-crosses","claim":"Average monthly return correlation with other strategies (full period): 0.01","value":0.006,"value_text":null,"unit":"correlation","context":"Pairwise Pearson correlation of monthly returns across 42 strategies, full backtest period","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'0.01':10 '42':18 'across':17 'averag':1 'backtest':21 'correl':4,13 'full':8,20 'month':2,15 'pairwis':11 'pearson':12 'period':9,22 'return':3,16 'strategi':7,19","cite_url":"https://qbuntu.ai/cite/fx-carry-jpy-crosses-fact-avg-corr-full"},{"fact_id":"fx-carry-jpy-crosses-fact-best-sharpe","strategy_slug":"fx-carry-jpy-crosses","claim":"Best grid Sharpe ratio is 1.36 (p=0.00095).","value":1.36,"value_text":null,"unit":"sharpe_ratio","context":"period 2020-08-18–2026-05-22; cost=1bps","supports_verdict":"marginal","source_run_id":"r-fx-carry-jpy-crosses-0528","search_tsv":"'-05':14 '-08':11 '-18':12 '-22':15 '0.00095':8 '1.36':6 '1bps':17 '2020':10 '2026':13 'best':1 'cost':16 'grid':2 'p':7 'period':9 'ratio':4 'sharp':3","cite_url":"https://qbuntu.ai/cite/fx-carry-jpy-crosses-fact-best-sharpe"},{"fact_id":"fx-carry-jpy-crosses-fact-median-sharpe","strategy_slug":"fx-carry-jpy-crosses","claim":"Median Sharpe across 1200 grid runs is 0.63.","value":0.63,"value_text":null,"unit":"sharpe_ratio","context":"Full grid of 1200 parameter combinations.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'0.63':8 '1200':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/fx-carry-jpy-crosses-fact-median-sharpe"},{"fact_id":"fx-carry-jpy-crosses-fact-regime-down","strategy_slug":"fx-carry-jpy-crosses","claim":"Median Sharpe in DOWN regime is -0.74 across 1200 runs.","value":-0.74,"value_text":null,"unit":"sharpe_ratio","context":"Regime=DOWN, N225 SMA20/SMA60 classification.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'-0.74':7 '1200':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/fx-carry-jpy-crosses-fact-regime-down"},{"fact_id":"fx-carry-jpy-crosses-fact-regime-up","strategy_slug":"fx-carry-jpy-crosses","claim":"Median Sharpe in UP regime is 2.31 across 1200 runs.","value":2.31,"value_text":null,"unit":"sharpe_ratio","context":"Regime=UP, N225 SMA20/SMA60 classification.","supports_verdict":"marginal","source_run_id":null,"search_tsv":"'1200':9 '2.31':7 'across':8 'classif':15 'median':1 'n225':13 'regim':5,11 'run':10 'sharp':2 'sma20/sma60':14","cite_url":"https://qbuntu.ai/cite/fx-carry-jpy-crosses-fact-regime-up"}],"related_strategies":[],"tags":["fx","carry","macro","intervention-filter","grid-search"],"_links":{"self":"https://qbuntu.ai/v1/strategies/fx-carry-jpy-crosses","html":"https://qbuntu.ai/strategies/fx-carry-jpy-crosses","markdown":"https://qbuntu.ai/ai/strategies/fx-carry-jpy-crosses.md"}}