Skip to content

View original

SolDailyWeeklyMomentumConfluenceLS

Hypotheses

Slow Dual-Timeframe Momentum Confluence, Single-Venue Long-Short (Single-Instrument SOLUSDT.BINANCE USD-M — DAILY Primary + WEEKLY Confirm, Take a Directional Position ONLY When Both Agree, FLAT on Disagreement; Volatility-Scaled Size, Chandelier Stop, Multi-Day-to-Weeks Hold, Low-Turnover, 3-Parameter)

Hypotheses

A LONG-SHORT, SINGLE-INSTRUMENT, SINGLE-VENUE momentum-confluence strategy on SOLUSDT.BINANCE USD-M perpetual, using a DAILY primary signal confirmed by a WEEKLY trend, holding multi-day-to-weeks. This deliberately builds on the ONE mechanism the factory has proven works — the surviving BTC Dual-Timeframe Momentum Confluence (Sharpe ~2, in paper) and the cross-sectional relative-strength momentum rotation (Sharpe 2.6) — because ~1037 hypotheses have established that momentum is the only edge that survives here while mean-reversion, OI/taker confirmation, funding-contrarian, squeeze, and range-fade all die with Sharpe straddling zero. It is genuinely differentiated from the BTC survivor, not a symbol swap: (a) a SLOWER timeframe pair (Daily+Weekly vs the survivor's 4H+1D) that captures a different, slower trend regime; (b) far LOWER turnover — a handful of position changes per year — which structurally sidesteps the fee_edge / overtrading-thin-Sharpe failure mode that killed the faster microstructure attempts (multi-day-to-weeks holds make the 0.10% USD-M round trip negligible); (c) a higher-beta, high-trend-persistence instrument (SOL) whose larger swings give wide per-trade headroom over the fee floor. The confluence logic — take a directional position ONLY when the fast (daily) momentum and the slow (weekly) trend AGREE, stay FLAT on disagreement — is what makes the edge robust and non-regime-concentrated, by filtering out the choppy periods where single-timeframe momentum whipsaws. Volatility-scaled sizing (the CTA robustness mechanism) smooths the equity curve and controls the drawdowns that killed the equal-weight momentum variants. Single-venue, single-instrument — no cross-venue leg problem (L44), no options feed (L43), no COIN-M (feeds loop), no OI/taker/premium feeds (which delivered zero risk-adjusted edge in six prior attempts and add fragility). Deliberately kept to 3 parameters to resist the overfit that dominates the log. Instruments: ["SOLUSDT.BINANCE"]. venue_type: futures. data_requirements: ["ohlcv"].

Hypotheses

QA's rejection was measurability, not mechanism, and I traced it to a concrete implementation error rather than an unfixable design limit. The hypothesis specifies a 'DAILY primary + WEEKLY confirm' pair; iteration 1 shipped fast_days=20 and slow_weeks=8 — a MONTHLY primary confirmed by a TWO-MONTH trend, ~3x slower than the design. That mis-scaling is what produced 41 trades in 5.7 years. So the fix is to make the code match the hypothesis it was supposed to implement: fast_days 20 -> 7 (one week of daily bars = a daily-scale reading) and slow_weeks 8 -> 4 (a four-week trend = a weekly-clock confirm), plus entry_z 0.75 -> 0.60. These are THREE PARAMETER VALUES; not one line of logic changed, so Layers 1-3 cannot regress — I re-ran both locally to confirm. Measured effect on the real SOL daily series: trades 41 -> 101 (clears the ~100 floor), sandbox-365 trades 4 -> 17, and the metrics stay strong rather than degrading — avg trade +8.15% of notional (81x the 0.10% round trip), PF 2.91, Sharpe 1.83, DD 25.5%, hold 10.4 days, which is exactly the 'multi-day-to-weeks, low-turnover' profile the hypothesis asks for (~18 positions/year, flat half the time). On the accusation of fitting: across entry_z = 0.50/0.60/0.75/0.90/1.00/1.25 the Sharpe is a flat plateau (1.70/1.83/1.94/1.98/1.98/1.82) with no cliff, so 0.60 is NOT the Sharpe peak — it is worse than 0.90 and 1.00 and was selected purely on trade count, the axis QA asked me to fix. I am reporting that trade-off rather than presenting the best cell. On the holdout point: optimizer.py sets holdout_days = max(15, 20% of total_days), so SOL's ~2,146-day history yields a ~430-day holdout containing ~21 trades, and the higher trade rate removes the zero-trade risk under either reading. Full-history edge evidence, which QA said was missing, is now segment-level too: rolling ~15-month windows give Sharpe 3.69/1.27/2.86/1.49/0.17 with 16-22 trades each — positive in four and flat in the most recent. I am flagging that last segment explicitly rather than burying it: the edge appears to be decaying in the current regime, and if walk-forward OOS concentrates the weakness there, that — not sample size — is the honest reason to abandon.

Hypotheses

This is L41's named failure class: a single-symbol dual-timeframe momentum-CONFLUENCE clone with flattering first-backtest metrics (Sharpe 1.073, PF 1.86, alpha 22.7%) and a mid trade count (~97) — a class with 0/213 OHLCV survival whose directly-named sibling (ETH HL dual-TF, Sharpe 1.79/PF 2.13) went optimize→iterate→abandon in the 3-phase run. L41 instructs letting the class prior override the attractive metrics and abandoning at BACKTEST_REVIEW. Two independent confirmations that this is the overfit/regime-fragile signature: (1) the return is outlier-concentrated — return_kurtosis 28.4 with a +93.7% single-day book return on 2021-09-14 (illiquid early SOL) and +60.8% on 2023-11-21, and 2021 (+160%) and 2023 (+138%) carrying the whole record; (2) the edge has decayed to flat/negative in the recent regime (2025 -7.1%, 2026 +0.4%), with rolling Sharpe falling from ~5.3 in early 2025 to negative by late 2025 and the developer's own most-recent segment Sharpe at 0.17 (they explicitly acknowledge the decay). The 3-phase holdout window (~430 days) falls in that decayed 2025-2026 period, so best-of-225 selection would tune to the 2021/2023 outliers and near-certainly fail deflated-Sharpe/holdout in ANALYZING — the exact fate of its siblings. avg_trade_return_pct 8.64% clears the fee floor, so this is overfit/regime-decay, not fee-fragility. (Distinct from the ETH macro TSMOM advanced this session, which is single-horizon TSMOM positive in every year including 2024-2026 with no decay; this dual-TF-confluence clone is decaying, which is the deciding difference.) Abandon at BACKTEST_REVIEW rather than spend 2 hours on a near-certain overfit-abandon.

Implementation

Long/short dual-timeframe momentum confluence on SOLUSDT.BINANCE USD-M perpetual, daily bars. Two momentum legs are computed from the same daily close series: a FAST daily-scale leg (7-day log change) and a SLOW weekly-clock confirm (4-week = 28-day log change), each divided by (daily sigma x sqrt(n)) so both read in random-walk sigma units. When the legs agree the signal is their signed geometric mean (large only when BOTH are strong); when they disagree it is their mean clipped to 0.5 x entry_z, so a disagreement branch can never reach the entry threshold and 'flat on disagreement' holds by construction. Entry long above +0.60 sigma / short below -0.60 sigma, with a re-arm rule that requires the signal to re-cross back inside the band before the same direction can fire again. Three structural exits: the weekly confirm turning against the position, a genuine fast-leg reversal past -0.5 x entry_z, or a 3-ATR chandelier stop off the extreme since entry. Sizing is volatility-targeted to 40% annualised and capped independently by an 8%-of-equity risk-at-stop limit and a 1.0x gross notional cap; leverage = 1.0. On the real SOLUSDT daily history (2020-09-14 to 2026-07-30) this produces 101 trades, avg trade +8.15% of notional, win rate 44.6%, profit factor 2.91, equity Sharpe 1.83, max drawdown 25.5%, average hold 10.4 days, in the market ~50% of days.

Verification Results

Verification failed (Layer 4 — QA review): - Structural unmeasurability (L16): ~43 trades over 5.7 years (< half the ~100 floor); sandbox 4 trades, metrics_reliable=false, Sharpe CI [−1.32,+1.77] spans zero. The +3.097%/trade headline is 'good metrics on a tiny sample.' Not a code defect; not fixable in code. - Likely zero-trade holdout: ~7.5 trades/year → ~0.3 expected in a 15-day holdout → near-predetermined hard-fail regardless of edge. - No full-history edge evidence — only that the gate fires; sole real-engine result is a positive-but-unreliable 4-trade sandbox.

Verification Results

Recent-regime decay is the central (and decisive) risk: sandbox slightly negative (Sharpe 0.017, PF 0.96, −0.12%/trade, 13 trades), consistent with the developer's disclosed recent 15-month segment Sharpe 0.17. The holdout (~430 most-recent days) and walk-forward OOS sit exactly in that weak regime — judge there, abandon if weakness concentrates (developer agrees).

Verification Results

Full-history Sharpe 1.83 / PF 2.91 / +8.15%/trade is the developer's simulation (in-sample, leaning on 2021 and 2023-24 trends); confirm at backtest_review.

Verification Results

Resolved: iteration 1's fast_days=20/slow_weeks=8 was a monthly/two-month pair, not the hypothesis's stated Daily+Weekly; iteration 2 corrects to 7/4. Genuine timeframe-alignment fix — credit to developer.

Backtest Review

Strong headline metrics: Sharpe 1.073 with CI low positive (0.375), profit_factor 1.86, alpha +22.7%, max_drawdown 22.4% (under the 25% floor), avg_trade_return_pct 8.64%

Backtest Review

Low-turnover macro construction (97 trades, ~10-day holds) structurally avoids the fee_edge failure mode; genuinely long-short (beta 0.087); huge capacity

Backtest Review

Iteration-2 fix restored the intended Daily+Weekly horizons and raised the trade count to a measurable ~100

Backtest Review

Textbook L41 class: single-symbol dual-timeframe momentum-CONFLUENCE clone with mid trade count (~100) and flattering metrics — a class with 0/213 OHLCV survival that dies in the 3-phase run every time (named sibling ETH HL dual-TF Sharpe 1.79/PF 2.13 went optimize→iterate→abandon)

Backtest Review

Recent-regime decay: 2025 -7.1%, 2026 +0.4% (flat); rolling Sharpe fell from ~5.3 to negative in late 2025; developer's own most-recent segment Sharpe is 0.17 and they admit the edge is decaying

Backtest Review

Outlier-concentrated: return_kurtosis 28.4 with a +93.7% single-day book return (2021-09-14, illiquid early SOL) and +60.8% (2023-11-21); 2021 (+160%) and 2023 (+138%) carry the entire record

Backtest Review

The ~430-day holdout falls in the decayed 2025-2026 regime, so best-of-225 selection would tune to the 2021/2023 outliers and near-certainly fail deflated-Sharpe/holdout

Backtest Review

information_ratio -0.55; return_skew 1.94 / kurtosis 28.4 confirm the edge is a few big days, not a stationary spread

Outcome Summary

This strategy deliberately built on the factory's one proven mechanism — dual-timeframe momentum confluence — porting it to a slower Daily+Weekly pair on high-trend-persistence SOL with volatility-scaled sizing and low turnover to sidestep the fee-edge deaths. The developer's iteration-2 fix was diagnostically sharp: recognizing iteration 1 had mis-scaled the horizons ~3x too slow and starved the sample, they restored the stated pair (lifting trades from 41 to ~100) and honestly documented a flat entry_z plateau and a decaying most-recent segment. The backtest looked strong on the surface (Sharpe 1.07, PF 1.86, +849%), but the analyst abandoned it at backtest review on the L41 class prior — a 0/213-survival dual-TF-confluence clone whose sibling had already died in the 3-phase run — noting the record was concentrated in 2021/2023 outlier days (including a +93.7% single day on illiquid early SOL) and had decayed to flat with the holdout sitting in that negative recent regime, a near-certain deflated-Sharpe/holdout failure not worth optimizing.

Outcome Summary

Attractive first-backtest metrics do not override a strong class prior — a single-symbol dual-timeframe momentum-confluence clone belongs to a zero-survival OHLCV family, and when the record is carried by a few outlier days on illiquid early history and the edge has already decayed to flat with the holdout in that decayed regime, it is a near-certain overfit-abandon not worth an optimization cycle.

Outcome Summary

It was abandoned at the BACKTEST_REVIEW gate under the L41 class prior: single-symbol dual-timeframe momentum-confluence clones are a 0/213-survival OHLCV class whose named sibling (ETH HL dual-TF, Sharpe 1.79/PF 2.13) went optimize→iterate→abandon, so the class prior overrides the flattering first-backtest metrics. Two confirmations sealed it — outlier-concentrated returns and a decayed recent regime with the ~430-day holdout falling in the negative 2025-2026 period — meaning best-of-N optimization would tune to the 2021/2023 outliers and near-certainly fail deflated-Sharpe/holdout, so it never reached optimization.

Outcome Summary

A long-short, single-instrument, single-venue momentum-confluence strategy on the SOLUSDT.BINANCE USD-M perp that takes a daily-horizon momentum reading confirmed by a weekly-horizon trend (both derived from one daily series), entering only when the two agree (via a signed geometric-mean signal), staying flat on disagreement, with volatility-scaled sizing and a chandelier stop for multi-day-to-weeks, low-turnover holds — building on the factory's proven dual-timeframe-momentum survivor but at a slower timeframe pair.

Outcome Summary

The iteration-2 fix (restoring the intended Daily+Weekly horizons) produced strong headline metrics: total return +849%, Sharpe 1.073 (CI low positive 0.375), profit factor 1.86, alpha +22.7%, max drawdown 22.4%, avg_trade_return_pct 8.64% over 97 trades with ~10-day holds. But the record was outlier-concentrated (kurtosis 28.4, a +93.7% single-day book return on illiquid early SOL, with 2021 +160% and 2023 +138% carrying the whole result) and the edge had decayed to flat/negative recently (2025 -7.1%, 2026 +0.4%, rolling Sharpe from ~5.3 to negative, most-recent segment Sharpe 0.17).
Strategy report

Backtest and paper results are hypothetical. Trading involves risk of loss.