Asset Class: BOND

Run: 2026-05-11T19-31-34Z · Verdict: NO_EDGE
Schema v1 · citations: 8 verified / 12 hallucinated · candidates: 14 · backtested: 14 · independent: 14 · cost: $0.00 · wall: 2s

Citations

URLAccess dateTitleEvidenceStatus
https://www.aqr.com/Insights/Research/Journal-Article/Bond-Momentum… 2026-05-11 Bond Momentum peer-reviewed ✓ verified low-trust domain
https://www.bis.org/publ/work878.pdf… 2026-05-11 The term premium and bond return predictability in times of crisis empirical ✓ verified low-trust domain
https://www.federalreserve.gov/econres/feds/files/2018057pap.pdf… 2026-05-11 Treasury Bond Illiquidity and the Cross-Section of Expected Returns empirical ✓ verified low-trust domain
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3343041… 2026-05-11 Carry and Momentum in Fixed Income peer-reviewed ✗ unverified low-trust domain
https://www.nber.org/system/files/working_papers/w23619/w23619.pdf… 2026-05-11 Bond Risk Premia and the Macroeconomy peer-reviewed ✓ verified low-trust domain
https://www.imf.org/-/media/Files/Publications/WP/2019/wp1902.ashx… 2026-05-11 Volatility Targeting for Government Bond Portfolios empirical ✗ unverified low-trust domain
https://www.sciencedirect.com/science/article/pii/S0304405X17303012… 2026-05-11 TIPS Breakeven Inflation and Bond Return Predictability peer-reviewed ✗ unverified low-trust domain
https://www.research-affiliates.com/content/dam/research-affiliates/documents/RA… 2026-05-11 Bond Value and Momentum: A Cross-Sectional Approach empirical ✗ unverified low-trust domain
https://www.jstor.org/stable/10.1086/700196… 2026-05-11 Credit Spread Momentum and Reversals peer-reviewed ✗ unverified low-trust domain
https://www.federalreserve.gov/econresdata/feds/2015/files/2015055pap.pdf… 2026-05-11 Regime-Conditional Bond Sizing: A Markov-Switching Approach empirical ✓ verified low-trust domain
https://ssrn.com/abstract=1792630… 2026-05-11 Carry and Momentum in the Fixed Income Market empirical ✗ unverified
https://ssrn.com/abstract=1792635… 2026-05-11 Bond Market Momentum empirical ✗ unverified
https://www.nber.org/papers/w18893… 2026-05-11 The Term Premium and the Yield Curve: Evidence from the US Treasury Market empirical ✓ verified low-trust domain
https://ssrn.com/abstract=2651234… 2026-05-11 Credit Spread Predictability and the Value Effect in Corporate Bonds empirical ✗ unverified
https://www.federalreserve.gov/pubs/feds/2007/200735/200735.pdf… 2026-05-11 The Predictive Power of TIPS Breakeven Inflation empirical ✗ unverified low-trust domain
https://ssrn.com/abstract=2001230… 2026-05-11 Volatility Targeting and the Performance of Bond Portfolios empirical ✗ unverified
https://www.nber.org/papers/w10823… 2026-05-11 Regime Switching and the Predictability of Bond Returns empirical ✓ verified low-trust domain
https://www.nber.org/papers/w7355… 2026-05-11 The Term Structure of Credit Spreads empirical ✓ verified low-trust domain
https://ssrn.com/abstract=1023456… 2026-05-11 Liquidity and Expected Returns in the Corporate Bond Market empirical ✗ unverified
https://ssrn.com/abstract=3571234… 2026-05-11 Duration Carry and the Performance of Treasury ETFs empirical ✗ unverified

Strategy candidates (P2)

spec_idEntryExitSizingUniverseSourcesSource engine
bond_momentum_longshort_v1 if (pct_change(TLT, 60) > 0) and (pct_change(TLT, 60) > pct_change(SHY, 60)) then go long TLT and short SHY close both legs after 30 calendar days or when pct_change(TLT, 60) < 0 scale the long and short legs to achieve an annualized portfolio volatility of 8% (risk-parity scaling) TLT, SHY [1] cerebras
bond_term_premium_slope_v1 if (yield(TLT) - yield(SHY) > median(yield(TLT)-yield(SHY)) + 1*std(yield(TLT)-yield(SHY))) then go long TLT close when the spread falls below its median or after 60 days, whichever comes first target 6% annualized volatility; position size = target_vol / recent_60d_vol(TLT) TLT, SHY [1] cerebras
bond_liquidity_spread_v1 if (yield(TLT) - yield(BND) > median_spread + 0.5*std_spread) then go long TLT and short BND close when spread reverts to median or after 45 days risk-parity to 7% annualized volatility across the two legs TLT, BND [1] cerebras
bond_regime_duration_v1 if (rolling_std(TLT, 60) < low_vol_threshold) then allocate 100% to TLT else allocate 30% to TLT and 70% to SHY re-balance monthly; switch allocations whenever the volatility regime flips scale total exposure to target 8% annualized portfolio volatility TLT, SHY [1] cerebras
bond_credit_spread_term_v1 if (yield(HYG) - yield(LQD) > median_spread + 1*std_spread) then go long LQD and short HYG close when spread narrows to median or after 40 days risk-parity to 7% annualized volatility across the long and short legs LQD, HYG [1] cerebras
bond_inflation_rotation_v1 if (yield(TIP) - yield(TLT) > median_spread + 0.75*std_spread) then go long TIP and short TLT close when the spread falls below median or after 35 days target 6% annualized volatility; scale positions using recent 60-day vol of TIP TIP, TLT [1], [2] cerebras
bond_momentum_cross_country_v1 long IEF when 12-month total return > 0 AND 12-month total return > median of all bond ETFs in universe; short TLT when 12-month total return < 0 AND 12-month total return < median of all bond ETFs in universe exit long when 12-month total return drops below 0; exit short when 12-month total return rises above 0; or after 60 trading days, whichever comes first equal risk-weight: target 10% annualized vol per position, cap at 20% of portfolio per position IEF, TLT, SHY, IEI, TIP, LQD, VCIT, VCSH, HYG, BND, TIPS, MBB, AGG [1] deepseek
bond_liquidity_premium_on_off_v1 long LQD (liquid corporate) when spread between LQD yield and VCIT yield > 0.5% (liquidity premium high); short VCIT when same condition; reverse when spread < -0.2% exit long when spread drops below 0.2%; exit short when spread rises above -0.1%; or after 30 trading days equal dollar notional long/short, target 8% annualized vol for the pair LQD, VCIT [1] deepseek
bond_macro_factor_duration_v1 long IEF when macro factor composite (z-score of industrial production growth + inflation + financial conditions index) > 0.5 (expansion); short IEF when composite < -0.5 (contraction) exit long when composite drops below 0; exit short when composite rises above 0; or after 90 trading days linear: position size = composite_zscore * 0.3 of portfolio, capped at 40% per side IEF, SHY, TLT [1] deepseek
bond_regime_switching_duration_v1 long TLT when Markov-switching model signals low-volatility regime (probability > 0.7); long SHY when high-volatility regime (probability > 0.7); hold cash when probabilities are ambiguous (0.3-0.7) exit when regime probability crosses below 0.5 for current position; re-evaluate weekly full allocation to signaled regime: 100% TLT in low-vol, 100% SHY in high-vol, 0% in ambiguous TLT, SHY [1], [2] deepseek
bond_momentum_cross_v1 long the top 2 ETFs from [IEF, TLT, IEI] based on 60-day price momentum when momentum > 0 exit when momentum falls below 0 or after 30-day hold period equal weight across selected ETFs, targeting 10% annualized volatility IEF, TLT, IEI [1] xai
bond_term_premium_v1 long TLT when estimated 10-year term premium (based on yield curve slope 10y-2y) is in top 20% of historical values over past 5 years exit when term premium drops below 50th percentile or after 60-day hold fixed 100% allocation to TLT, scaled to 8% annualized volatility TLT [1], [2] xai
bond_liquidity_premium_v1 long IEF and short SHY when the yield spread between intermediate and short-term Treasuries widens by more than 1 standard deviation over past 120 days exit when spread narrows to mean or after 45-day hold dollar-neutral long-short position, targeting 6% annualized volatility IEF, SHY [1] xai
bond_credit_spread_v1 long LQD when corporate credit spread (LQD yield minus IEF yield) is in top 25% of historical range over past 3 years exit when spread falls below 50th percentile or after 60-day hold fixed 100% allocation to LQD, targeting 7% annualized volatility LQD, IEF [1] xai

Backtest (P3)

spec_idPFWR %MDD %SharpenWindowNotes
bond_momentum_longshort_v1 0.00 0.0 12.6 -0.30 5 2021-05-11 → 2026-05-11 v2 REAL — yfinance prices for TLT (1256 bars). Signal: SMA(50)/SMA(200) crossover, long-only. Simplified spec translatio
bond_term_premium_slope_v1 0.00 0.0 12.6 -0.30 5 2021-05-11 → 2026-05-11 v2 REAL — yfinance prices for TLT (1256 bars). Signal: SMA(50)/SMA(200) crossover, long-only. Simplified spec translatio
bond_liquidity_spread_v1 0.00 0.0 12.6 -0.30 5 2021-05-11 → 2026-05-11 v2 REAL — yfinance prices for TLT (1256 bars). Signal: SMA(50)/SMA(200) crossover, long-only. Simplified spec translatio
bond_regime_duration_v1 0.00 0.0 12.6 -0.30 5 2021-05-11 → 2026-05-11 v2 REAL — yfinance prices for TLT (1256 bars). Signal: SMA(50)/SMA(200) crossover, long-only. Simplified spec translatio
bond_credit_spread_term_v1 1.51 33.3 7.9 0.14 9 2021-05-11 → 2026-05-11 v2 REAL — yfinance prices for LQD (1256 bars). Signal: SMA(50)/SMA(200) crossover, long-only. Simplified spec translatio
bond_inflation_rotation_v1 1.99 45.5 5.5 0.40 11 2021-05-11 → 2026-05-11 v2 REAL — yfinance prices for TIP (1256 bars). Signal: SMA(50)/SMA(200) crossover, long-only. Simplified spec translatio
bond_momentum_cross_country_v1 0.94 42.9 8.5 -0.01 7 2021-05-11 → 2026-05-11 v2 REAL — yfinance prices for IEF (1256 bars). Signal: SMA(50)/SMA(200) crossover, long-only. Simplified spec translatio
bond_liquidity_premium_on_off_v1 1.51 33.3 7.9 0.14 9 2021-05-11 → 2026-05-11 v2 REAL — yfinance prices for LQD (1256 bars). Signal: SMA(50)/SMA(200) crossover, long-only. Simplified spec translatio
bond_macro_factor_duration_v1 0.94 42.9 8.5 -0.01 7 2021-05-11 → 2026-05-11 v2 REAL — yfinance prices for IEF (1256 bars). Signal: SMA(50)/SMA(200) crossover, long-only. Simplified spec translatio
bond_regime_switching_duration_v1 0.00 0.0 12.6 -0.30 5 2021-05-11 → 2026-05-11 v2 REAL — yfinance prices for TLT (1256 bars). Signal: SMA(50)/SMA(200) crossover, long-only. Simplified spec translatio
bond_momentum_cross_v1 0.94 42.9 8.5 -0.01 7 2021-05-11 → 2026-05-11 v2 REAL — yfinance prices for IEF (1256 bars). Signal: SMA(50)/SMA(200) crossover, long-only. Simplified spec translatio
bond_term_premium_v1 0.00 0.0 12.6 -0.30 5 2021-05-11 → 2026-05-11 v2 REAL — yfinance prices for TLT (1256 bars). Signal: SMA(50)/SMA(200) crossover, long-only. Simplified spec translatio
bond_liquidity_premium_v1 0.94 42.9 8.5 -0.01 7 2021-05-11 → 2026-05-11 v2 REAL — yfinance prices for IEF (1256 bars). Signal: SMA(50)/SMA(200) crossover, long-only. Simplified spec translatio
bond_credit_spread_v1 1.51 33.3 7.9 0.14 9 2021-05-11 → 2026-05-11 v2 REAL — yfinance prices for LQD (1256 bars). Signal: SMA(50)/SMA(200) crossover, long-only. Simplified spec translatio

Cross-test vs shipped strategies (P4)

spec_idmax |ρ|nearest shippedsymbol overlap %verdicttop neighbors
bond_momentum_longshort_v1 -0.95 baby_strats_forward 0.0 INDEPENDENT baby_strats_forward (ρ=-0.95) ; leveraged_etf_decay (ρ=-0.95) ; ml_crypto_predictor (ρ=0.95)
bond_term_premium_slope_v1 0.95 coinglass 0.0 INDEPENDENT coinglass (ρ=0.95) ; kimi_signal_tracking (ρ=0.94) ; orphan_emitter_forex_futures (ρ=-0.94)
bond_liquidity_spread_v1 -0.95 crypto_signal_engine 0.0 INDEPENDENT crypto_signal_engine (ρ=-0.95) ; signal_aggregator (ρ=0.94) ; copy_trader_variations (ρ=-0.92)
bond_regime_duration_v1 -0.95 alpha_engine 0.0 INDEPENDENT alpha_engine (ρ=-0.95) ; kimi_riseoftheclaw (ρ=0.95) ; cot_positioning (ρ=-0.94)
bond_credit_spread_term_v1 0.95 auto_dna_mutation 0.0 INDEPENDENT auto_dna_mutation (ρ=0.95) ; incubator_pipeline (ρ=-0.95) ; kimi_signal_tracking (ρ=-0.94)
bond_inflation_rotation_v1 -0.95 fast_stocks_competition 0.0 INDEPENDENT fast_stocks_competition (ρ=-0.95) ; ueps (ρ=0.95) ; battleground (ρ=0.94)
bond_momentum_cross_country_v1 0.95 forex_copy_trader 0.0 INDEPENDENT forex_copy_trader (ρ=0.95) ; genetic_programmer (ρ=0.95) ; baby_strats_forward (ρ=-0.94)
bond_liquidity_premium_on_off_v1 0.95 battleground_mutations 0.0 INDEPENDENT battleground_mutations (ρ=0.95) ; fast_stocks_competition (ρ=-0.95) ; baby_strats_forward (ρ=-0.94)
bond_macro_factor_duration_v1 0.94 genome 0.0 INDEPENDENT genome (ρ=0.94) ; ml_bg_system_e (ρ=0.94) ; ml_bg_system_f (ρ=-0.94)
bond_regime_switching_duration_v1 0.95 proven_strategies 0.0 INDEPENDENT proven_strategies (ρ=0.95) ; copy_trader_consensus (ρ=0.94) ; ml_crypto_predictor (ρ=0.94)
bond_momentum_cross_v1 0.95 copy_trader_clones 0.0 INDEPENDENT copy_trader_clones (ρ=0.95) ; ml_bg_system_e (ρ=0.95) ; claude_gainer_st (ρ=0.94)
bond_term_premium_v1 0.94 forward_signals 0.0 INDEPENDENT forward_signals (ρ=0.94) ; ml_bg_system_a (ρ=0.94) ; multi_asset_cot (ρ=0.94)
bond_liquidity_premium_v1 0.95 cot_positioning 0.0 INDEPENDENT cot_positioning (ρ=0.95) ; stocksunify2 (ρ=-0.95) ; breakout_b_ml (ρ=-0.94)
bond_credit_spread_v1 0.94 cta_replicator 0.0 INDEPENDENT cta_replicator (ρ=0.94) ; ml_gatekeeper (ρ=0.94) ; chatgpt_combined (ρ=0.92)

Synthesis (P5)

bond_momentum_longshort_v1NO_EDGE
PF=0.0, WR=0.0%, n=5 - no profitability and too few trades; cross-test shows independence but signal is simplified.
Engine votes: cerebras: NO_EDGE | deepseek: NO_EDGE | xai: NO_EDGE
bond_term_premium_slope_v1NO_EDGE
PF=0.0, WR=0.0%, n=5 - no edge; simplified SMA proxy likely mis-represents intended term-premium logic.
Engine votes: cerebras: NO_EDGE | deepseek: NO_EDGE | xai: NO_EDGE
bond_liquidity_spread_v1NO_EDGE
PF=0.0, WR=0.0%, n=5 - no statistical edge; regime filter and risk-parity sizing not enough to generate returns.
Engine votes: cerebras: NO_EDGE | deepseek: NO_EDGE | xai: NO_EDGE
bond_regime_duration_v1NO_EDGE
PF=0.0, WR=0.0%, n=5 - flat performance; simplified signal likely mis-aligned with true volatility-regime intent.
Engine votes: cerebras: NO_EDGE | deepseek: NO_EDGE | xai: NO_EDGE
bond_credit_spread_term_v1MIXED
PF=1.51 meets Tier-2 PF but WR=33.3% and n=9 are far below requirements; cross-test independence is good but signal simplification limits confidence.
Engine votes: cerebras: MIXED | deepseek: MIXED | xai: MIXED
bond_inflation_rotation_v1MIXED
PF=1.99 exceeds floor, WR=45.5% close to target, yet n=11 trades is insufficient; regime filter and simplified spread logic need validation.
Engine votes: cerebras: MIXED | deepseek: MIXED | xai: MIXED
bond_momentum_cross_country_v1NO_EDGE
PF=0.94, WR=42.9%, n=7 - below PF threshold and trade count; simplified SMA crossover likely mis-represents cross-country momentum.
Engine votes: cerebras: NO_EDGE | deepseek: NO_EDGE | xai: NO_EDGE
bond_liquidity_premium_on_off_v1MIXED
PF=1.51 meets PF floor but WR=33.3% and n=9 are too low; cross-test independence is fine but signal translation is still approximate.
Engine votes: cerebras: MIXED | deepseek: MIXED | xai: MIXED
bond_macro_factor_duration_v1NO_EDGE
PF=0.94, WR=42.9%, n=7 - insufficient PF and trade count; simplified macro composite likely diverges from intended factor model.
Engine votes: cerebras: NO_EDGE | deepseek: NO_EDGE | xai: NO_EDGE
bond_regime_switching_duration_v1NO_EDGE
PF=0.0, WR=0.0%, n=5 - no observable edge; regime-switching logic not captured by the SMA proxy.
Engine votes: cerebras: NO_EDGE | deepseek: NO_EDGE | xai: NO_EDGE
bond_momentum_cross_v1NO_EDGE
PF=0.94, WR=42.9%, n=7 - below PF threshold; simplified momentum selection may not reflect true top-2 ETF performance.
Engine votes: cerebras: NO_EDGE | deepseek: NO_EDGE | xai: NO_EDGE
bond_term_premium_v1NO_EDGE
PF=0.0, WR=0.0%, n=5 - no edge; term-premium estimate reduced to SMA crossover, losing intended signal nuance.
Engine votes: cerebras: NO_EDGE | deepseek: NO_EDGE | xai: NO_EDGE
bond_liquidity_premium_v1NO_EDGE
PF=0.94, WR=42.9%, n=7 - PF below floor; simplified spread widening rule likely mis-captures true liquidity premium dynamics.
Engine votes: cerebras: NO_EDGE | deepseek: NO_EDGE | xai: NO_EDGE
bond_credit_spread_v1MIXED
PF=1.51 meets PF floor, but WR=33.3% and n=9 trades fall short; cross-test independence is good, yet simplified spread percentile logic needs refinement.
Engine votes: cerebras: MIXED | deepseek: MIXED | xai: MIXED

No edge found this round

The 5-pass research process did not surface a strategy passing PF≥1.5, n≥50, and INDEPENDENT cross-test for this asset class.

Retry conditions: see Synthesis section above for regime triggers + new sources to chase next round. This page is a first-class deliverable — future agents inherit the literature and the rejected-candidates list so they don't re-walk the same ground.