Skip to content

View original

AvaxDailyCalmRegimeTrendHold

Hypotheses

AVAX Daily Calm-Regime Trend Hold (Realized Volatility Filter)

Hypotheses

A long-only single-instrument 'regime-conditional buy and hold' strategy on AVAXUSDT perpetual futures using daily bars. The strategy holds AVAX ONLY during calm uptrending regimes — periods where realized volatility is well below its long-term average AND the asset is in a confirmed structural uptrend — and stays flat during chaotic or bearish regimes. Crypto majors and L1 alts exhibit strong volatility clustering: calm periods tend to have positive drift with low risk (excellent risk-adjusted returns) while chaotic periods absorb most of the drawdown. By exiting whenever volatility expands or the trend structure breaks, the strategy isolates the highest-Sharpe portion of AVAX's price history. This is structurally NOT a channel breakout, NOT a contrarian short, NOT a buy-the-dip, NOT a volume surge, NOT a funding-extreme fade — five of the major recurring failure modes are avoided by construction. Architecturally similar to the proven daily long-only regime-filtered design that produced Sharpe 4.04 (ETH Golden Cross) and Sharpe 2.03 (BNB 4H Volume Breakout), but applied to a different symbol with a fundamentally different signal mechanism (volatility regime rather than EMA cross or channel breakout). Few signals per year (~3-7 entries) keeps fee drag negligible.

Hypotheses

Implements the calm-regime trend-hold hypothesis: volatility clustering means calm uptrends carry the high-Sharpe drift while chaotic regimes absorb drawdowns. CALM (short_rv <= calm_threshold*long_rv) plus confirmed UPTREND (above rising SMA) gate entry; VOL EXPAND or TREND BREAK gate exit. Not a breakout/contrarian/dip-buy/volume/funding fade — the edge is purely a realized-vol regime filter. Routed to BINANCE_SPOT because it is long-only, unleveraged, and non-funding-based, and multi-week holds avoid perpetual funding drag. Iteration-2 fix: converted _rstd from a @staticmethod to a regular instance method so it matches how Layer-2's strategy proxy invokes it (self + rets), resolving the 'takes 1 positional argument but 2 were given' TypeError across all six synthetic scenarios. No other logic changed — Layer 1 imports/structure and the signal scaffolding that already passed are untouched.

Hypotheses

Not worth optimizing: the base is a clear net loser (total_return -41.7%, CAGR -10.1%, profit_factor 0.80, negative expectancy) that loses in 5 of 6 years, with all profit concentrated in the single 2021 bull year. The reported Sharpe 0.778 is a one-outlier artifact (one +195% day on 2021-08-27; skew 4.45, kurtosis 23.2, sharpe_ci_low -14.67) — remove it and the strategy is unambiguously losing. The core hypothesis is empirically falsified on this instrument: the 'calm + confirmed uptrend' filter yields a 16% win rate and 75% max drawdown, i.e. it captures drawdowns rather than isolating positive-drift calm periods, because AVAX has been in secular decline since 2021 with no sustained calm-uptrend drift to harvest. This is a premise problem, not a tunable-parameter problem — a 3-phase optimization would simply overfit to the lone 2021 spike, matching the recurring single-asset-daily-regime failure pattern. Not iterate: no specific parameter change flips a PF-0.80, one-outlier-carried, secular-downtrend base.

Implementation

Long-only daily regime-conditional hold on AVAXUSDT spot. Holds AVAX only when realized volatility (20d std of daily log returns) is well below its 100d baseline AND price is in a confirmed structural uptrend (close above a rising 50d SMA). Exits when volatility expands past exit_vol_mult of baseline, the trend breaks below the SMA, or a loose 15% safety stop triggers. Few signals per year keeps fee drag negligible.

Verification Results

Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['vol_window', 'invest_frac', 'min_notional', 'trend_window', 'exit_vol_mult', 'stop_loss_pct', 'calm_threshold', 'slope_lookback', 'vol_baseline_window'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: TypeError: AvaxDailyCalmRegimeTrendHold._rstd() takes 1 positional argument but 2 were given (bar timestamp: 1735701840000) - steady_downtrend: TypeError: AvaxDailyCalmRegimeTrendHold._rstd() takes 1 positional argument but 2 were given (bar timestamp: 1735701840000) - flat_ranging: TypeError: AvaxDailyCalmRegimeTrendHold._rstd() takes 1 positional argument but 2 were given (bar timestamp: 1735701840000) - volatility_spike: TypeError: AvaxDailyCalmRegimeTrendHold._rstd() takes 1 positional argument but 2 were given (bar timestamp: 1735701840000) - zero_volume: TypeError: AvaxDailyCalmRegimeTrendHold._rstd() takes 1 positional argument but 2 were given (bar timestamp: 1735701840000) - price_gap: TypeError: AvaxDailyCalmRegimeTrendHold._rstd() takes 1 positional argument but 2 were given (bar timestamp: 1735701840000)

Backtest Review

Trade frequency (31 trades / ~5.7yr) matches the hypothesized ~3-7 entries/year; fee drag is low (commission 3.92% of gross)

Backtest Review

Long-only, unleveraged, correctly routed to BINANCE_SPOT; entry diagnostics clean (31 signaled, 31 submitted, 0 dropped)

Backtest Review

Net loser: total_return -41.7%, CAGR -10.1%, profit_factor 0.80 (<1.0), negative avg_trade_return/expectancy

Backtest Review

Losing in 5 of 6 years; the only positive year (2021 +61%) is the bull market, everything since is negative

Backtest Review

Sharpe 0.778 is a single-outlier artifact — one +195% day (2021-08-27), skew 4.45, kurtosis 23.2, sharpe_ci_low -14.67

Backtest Review

Win rate 16.1% with 75% max drawdown: the calm+uptrend filter is capturing drawdowns, not isolating high-Sharpe calm periods — the mechanism does the opposite of the hypothesis

Backtest Review

AVAX is in secular decline post-2021, so a long-only regime hold has no positive drift to isolate; optimization would fit to the lone 2021 spike

Outcome Summary

AvaxDailyCalmRegimeTrendHold applied a proven daily long-only regime-filtered architecture to AVAX with a new volatility-clustering signal, holding only during calm confirmed uptrends and staying flat otherwise, correctly routed to spot as an unleveraged, non-funding edge. But the mechanism did the opposite of its thesis: with a 16% win rate and 75% max drawdown it captured drawdowns rather than calm positive-drift periods, ending a net loser (-41.7% return, profit factor 0.80, negative in 5 of 6 years) whose only positive year and entire headline Sharpe rested on a single +195% day in 2021. The backtest-review gate abandoned it before optimization as an empirically falsified premise — AVAX's secular post-2021 decline offers no calm-uptrend drift to harvest — noting that a 3-phase sweep would merely overfit the lone 2021 spike, matching the recurring single-asset-daily-regime failure pattern.

Outcome Summary

A regime-conditional long-only hold can only isolate a high-Sharpe segment if the asset actually has positive drift to harvest — on a secularly declining instrument like AVAX the calm+uptrend filter inverts, capturing drawdowns and leaving a headline Sharpe that is really one 2021 outlier, which no parameter sweep can rescue.

Outcome Summary

The backtest-review gate abandoned it before optimization: it failed on CAGR, win rate, Sharpe, profit factor, avg trade return and total return, and the core hypothesis was empirically falsified — the calm+uptrend filter captured drawdowns rather than isolating positive-drift calm periods because AVAX has been in secular decline since 2021, making this a premise problem rather than a tunable-parameter one.

Outcome Summary

A long-only, single-instrument daily 'regime-conditional buy and hold' on AVAXUSDT (BINANCE_SPOT, pure OHLCV) that held AVAX only during calm, confirmed-uptrend regimes — when short-window realized volatility was well below its long-term baseline AND price was above a rising SMA — and stayed flat when volatility expanded or the trend broke, aiming to isolate the highest-Sharpe portion of AVAX's history.

Outcome Summary

It was a net loser: total return -41.7%, CAGR -10.1%, profit factor 0.80, negative expectancy (avg trade return -$1,347) over 31 long trades (0 shorts) at a 16.1% win rate with a 75% max drawdown; the headline Sharpe of 0.778 was a single-outlier artifact (one +195% day on 2021-08-27, skew 4.45, kurtosis 23.2, sharpe_ci_low -14.67), and it lost money in 5 of 6 years.
Strategy report

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