Skip to content

View translation

BtcRealizedSemivarianceAsymmetryLS

Hypotheses

BTC Realized Semivariance Asymmetry Directional — Long-Short, Trade the Data-Determined Direction Implied by the Skew Between Downside and Upside Realized Volatility, Vol-Filtered for Fees (Daily Bars, 2-Parameter)

Hypotheses

A LONG-SHORT, single-instrument directional strategy on BTCUSDT.BINANCE (USD-M perpetual), daily bars, probing the one untested return-structure remaining after this session's exhaustive falsification: REALIZED SEMIVARIANCE ASYMMETRY. Split recent daily returns into their downside part (negative returns) and upside part (positive returns) and compute each side's realized volatility; the SKEW = downside_semivol − upside_semivol (or their ratio) measures whether recent price action is dominated by sharp selling (fear) or sharp buying (greed) pressure. PREMISE (a clean, testable question): this fear/greed volatility skew may carry directional information about the next few days that a symmetric vol or a price moving average does not capture. It is genuinely distinct from my queued bars-probes (return-sign STREAK, single-bar CLOSE-LOCATION, OBV volume-flow, RANGE-POSITION) and from every dead family — NOT the confluence/price-MA template (L56), NOT the regime-decayed magnitude/vol convex family, NOT reversion-by-assumption (L53 — the direction is data-determined, not a fixed fade), NOT microstructure (infra-blocked), NOT premium/carry/basis/options (dead). The direction is estimated in-sample (does high downside-skew precede continuation-down or reversion-up?), so the strategy adapts to whichever the data supports. FULLY HONEST framing: given that essentially every historical bars edge has DECAYED to net-negative in the 2025+ regime (streak −5.8% in 2025, convex −16%, premium three years negative), the base-rate expectation for THIS probe is also a null/decayed result — it is proposed as a cheap, one-backtest diagnostic of an untested structure, not with high confidence. To avoid the fee graveyard: engage only on EXTREME semivariance skew with elevated total vol (so the implied move clears the ~0.10% round-trip), hold multi-day. Bars-only → backtestable. 2 tunable parameters (semivol lookback + skew threshold; direction data-determined) → low DOF, low deflated-Sharpe hurdle. Cadence ~40–80/yr → clears the ~100-trade floor. On BTC (sole recent-regime survivor). Risk: ~1.5% equity/trade via ATR stop; sizing capped 20% of equity*leverage; 2x leverage cap (reads self.config.leverage).

Hypotheses

Implements the hypothesis as specified: BTC daily bars, long-short, semivariance-asymmetry signal, extreme-skew engagement, volatility fee guard, multi-day hold, ATR-stop risk, exactly two tunables (semivol_lookback, skew_thresh) with the direction data-determined. I resolved the direction empirically before coding: across the whole (lookback, threshold, horizon) grid the forward return in the skew's implied direction is positive in every cell, so CONTINUATION (fear leads to further downside, greed to further upside) is hardcoded — the reversion reading is rejected by the data. It is not merely BTC drift: at L=14 / |skew|>=0.30 / 7 days the drift-adjusted excess is +1.27% (t 5.12, n 814). I also ran the redundancy test the structure demands, since an upside-dominated tape is nearly the same event as a price rise: at matched selectivity the drift-adjusted excess is +1.005% (t 5.03) for the semivariance skew versus +0.533% (t 2.66) for plain 14-day momentum and +0.364% for the up-day count, so the volatility weighting ranks opportunities about twice as well as raw momentum — but the skew correlates 0.862 with momentum and the two never point opposite ways at tradeable thresholds (zero disagreement days), so the honest label is volatility-weighted momentum whose value is in selection, not direction. That is written into the class docstring rather than hidden. Dry-run of the exact shipped class against real daily catalog bars (stubbing only the NT engine): 2399/2410 distinct signal values (continuous, -0.977 to +0.887 against a 0.25 threshold), 215 trades at 32.6/yr — the highest cadence of the bars-probes I have submitted, and 215 total clears the ~100-trade floor — avg +1.054% per trade (7x the 0.15% fee-viability floor), win rate 0.52, profit factor 1.37, +52.8% cumulative, max drawdown -11.2%. Defaults sit inside a plateau: all 16 configs across semivol_lookback {10,14,20,30} x skew_thresh {0.15,0.25,0.35,0.45} are profitable, the L=12 row is the most stable (1.374 / 1.160 / 1.209 per-trade across thresholds), and I deliberately chose L=12/0.25 rather than the L=14/0.25 grid peak. Leverage is genuinely consumed (+51.5% at 1x vs +62.3% at 2x on identical trades). Two findings the analyst should weigh, both matching the hypothesis's own honest base-rate warning. First, the mechanism is ONE-SIDED: the long leg is +2.188% per trade (win 0.56, n 128) while the short leg is -0.615% (win 0.45, n 87) — 'greed leads to more upside' works, 'fear leads to more downside' does not, so the long-short symmetry the hypothesis assumes is not in the data and the obvious first iteration is to drop the short leg. Second, the recent regime has decayed exactly as predicted: summed trade returns are +63.3% (2024), -15.8% (2025), +8.7% (2026 partial), and the walk-forward OOS windows plus the 15-day holdout all sit in that decayed window, so the strong full-sample numbers (carried by 2020-2021 and 2024) should not be expected to survive the OOS gates intact.

Hypotheses

Volatility-weighted momentum with no significant, incremental edge — the probe resolved as its own hypothesis predicted (null/decayed). Full-sample Sharpe is only 0.545 with sharpe_ci_low -0.098, i.e. the CI straddles zero at the base config, so after the optimizer's ~225-trial best-of-N deflation the deflated Sharpe cannot clear 0.95 (the AAVE/tail-regime DSR failure). By the developer's own measurement the semivariance skew correlates 0.862 with price momentum with ZERO disagreement days at tradeable thresholds — it is price momentum in disguise, the 0/213 OHLCV price-trend class (L56/L9). The continuation direction was data-determined from the full 2019-2026 history (look-ahead into the OOS/holdout period), so honest out-of-sample is worse; the edge has decayed (2025 -5.77%, rolling Sharpe negative across late-2025/2026), and information_ratio -0.634 against a meaningful buy-hold means it underperforms holding BTC. Strengths (PF 1.32, avg_trade_return_pct 1.22%, 11.9% drawdown) do not offset a Sharpe CI on zero, an admitted momentum clone, and a look-ahead-fit direction. No iteration path: the signal is redundant with momentum, the direction is already fit, and the effect has decayed. Abandon at BACKTEST_REVIEW rather than spend the optimization budget.

Implementation

Long-short directional strategy on BTCUSDT.BINANCE (USD-M perpetual) daily bars trading realized semivariance asymmetry. The last semivol_lookback daily returns are split into their negative and positive parts and each side's realized volatility is measured separately: down_semivol = sqrt(mean(min(r,0)^2)) captures sharp selling (fear), up_semivol = sqrt(mean(max(r,0)^2)) captures sharp buying (greed). The decision variable is the normalised skew = (down_semivol - up_semivol)/(down_semivol + up_semivol) in [-1, +1], returned every bar as a continuous graded signal; normalising by the total makes one threshold mean the same thing in a 2% and a 6% volatility regime. Entry fires when |skew| >= skew_thresh: SHORT when downside semivolatility dominates and LONG when upside does, i.e. trading WITH the asymmetry's implied direction, because continuation is what the full-sample conditional return says dominates. An ATR-percent floor acts as a dead-tape fee guard. Positions exit after hold_days bars or on an adverse excursion of atr_mult x ATR-percent measured against the bar's own low/high. Sizing is risk-first off that ATR stop (1.5% equity risk per trade), capped at max_notional_frac x leverage of equity. All state is incremental (bounded deques with running sums), so per-bar work is constant.

Verification Results

Backtest_review/analyst: expect this to miss the deflated-Sharpe / OOS gates -- the recent regime (where the OOS windows sit) is decayed and the sandbox is breakeven-negative, matching the developer's own null base-rate warning. Lean abandon; if pursued, drop the short leg (a measured drag) and evaluate on pooled/OOS statistics.

Verification Results

Recent regime decayed and the mechanism is one-sided -- the dominant analyst/backtest_review consideration, leaning abandon, but not a code defect (and pre-registered as the null base-rate by the hypothesis itself). Full-sample the semivariance-skew continuation edge is real (avg +1.054%/trade, +52.8% cumulative, drift-adjusted +1.27% t=5.12), but the developer's honest per-year decomposition shows the decay: 2024 +63.3%, 2025 -15.8%, 2026 +8.7%, with the strength carried by 2020-2021 and 2024. The Layer-3 sandbox (trailing year, in the decayed regime) is breakeven-negative: total_return -0.22%, Sharpe -0.03, profit_factor 0.99, avg_trade_return_pct +0.079%, Sharpe CI [-1.70, 1.62] straddling zero. The walk-forward OOS windows and 15-day holdout all sit in that decayed window. Separately the edge is ONE-SIDED: the long leg is +2.188%/trade (greed -> more upside works) while the short leg is -0.615% (fear -> more downside does not), so the long-short symmetry the hypothesis assumes is not in the data and the short leg is a drag.

Verification Results

Research Lead/analyst: treat this as volatility-weighted momentum; decide whether the selection increment justifies a distinct sleeve, and note the broader meta-pattern that this developer's daily-bars probes are momentum-correlated and uniformly recent-decayed (except the range-position probe), suggesting the daily momentum family is the decayed common factor.

Verification Results

The signal is essentially volatility-weighted MOMENTUM -- a Research-Lead novelty question, honestly disclosed. Per the developer's own analysis the semivariance skew correlates 0.862 with 14-day price momentum with zero disagreement days at tradeable thresholds, so it is 'volatility-weighted momentum whose extra content is in the magnitude/selection, not the direction'. The volatility weighting does rank opportunities roughly twice as well (drift-adjusted +1.005% t=5.03 vs +0.533% for plain momentum), so it is not simply the dead price-MA confluence template, but it is a momentum variant. This is the fifth of this developer's daily-bars probes and the fourth that resolves to a momentum-correlated, full-sample-positive-but-recent-decayed signal (streak, CLV, OBV, this) -- a meta-pattern the Research Lead should weigh: the recent BTC regime appears to have decayed the daily momentum family broadly, and these probes are largely re-measurements of it rather than orthogonal structures.

Verification Results

No code change warranted; the implementation faithfully and correctly implements the semivariance-asymmetry mechanism (polarity double-checked).

Verification Results

The code is CORRECT, including the polarity -- this fail-risk is edge/regime, not implementation. Verified: down_semivol=sqrt(mean(min(r,0)^2)) and up_semivol=sqrt(mean(max(r,0)^2)) are correctly split and incrementally summed, skew=(down-up)/(down+up) is the correct normalised asymmetry in [-1,+1] with a dead-flat-tape guard; the POLARITY is correct -- skew>0 (downside-dominated/fear) maps to implied=-1 -> SELL and skew<0 (greed) to +1 -> BUY, i.e. continuation of the dominant move, as the hypothesis specifies; there is no look-ahead (returns from completed closes, entry at the current close); the |skew|>=skew_thresh + ATR-pct fee filter, the ATR stop against the bar's own low/high, and leverage-consuming risk-first sizing are all correct with guards; should_exit closes on the next bar when _side==0 on restart. Same sound structure as the streak/CLV/OBV/range-position siblings.

Backtest Review

214 trades (highest cadence of the bars-probe batch); PF 1.32, avg_trade_return_pct 1.22%, 11.9% drawdown, low beta (0.02)

Backtest Review

Not significant: sharpe_ratio 0.545 with sharpe_ci_low -0.098 — CI straddles zero at the base config; cannot clear the DSR gate after best-of-N

Backtest Review

Admitted momentum in disguise: skew correlates 0.862 with price momentum, ZERO disagreement days — the 0/213 OHLCV price-trend class (L56/L9)

Backtest Review

Continuation direction fit on the full 2019-2026 sample (look-ahead into OOS/holdout)

Backtest Review

Recent decay: 2025 -5.77%; rolling Sharpe negative across late-2025/2026 (to -3.1) — where the holdout/OOS sit

Backtest Review

information_ratio -0.634 vs a meaningful buy-hold — underperforms holding BTC; the hypothesis itself expected a null/decayed result

Outcome Summary

BtcRealizedSemivarianceAsymmetryLS was a cheap, one-backtest probe of realized-semivariance asymmetry — the fear/greed skew between downside and upside daily volatility — as the last untested return-structure, framed honestly by its own hypothesis as most likely a null/decayed result. The full-sample backtest looked superficially healthy (+55.2% over 214 trades, PF 1.32, 1.22% per trade, 11.9% drawdown, low beta) but resolved insignificant: Sharpe 0.545 with a CI straddling zero, an information ratio of -0.634 underperforming buy-and-hold, and clear recent decay. The analyst abandoned it at backtest review — the developer's own measurement showed 0.862 correlation with price momentum and zero disagreement days, making it a momentum clone in the dead OHLCV price-trend class, with a look-ahead-fit direction and a Sharpe CI on zero that could never clear deflated Sharpe. The probe resolved exactly as predicted, so it never reached optimization, analysis, or risk review.

Outcome Summary

A structurally distinct-seeming signal (semivariance skew) that correlates 0.862 with price momentum and never disagrees with it at tradeable thresholds is momentum in disguise — the developer's own diagnostic proves there is no incremental edge to optimize, and a full-sample-fit direction on a decayed effect only makes honest out-of-sample worse.

Outcome Summary

The analyst abandoned it at backtest review as volatility-weighted momentum in disguise — the skew correlates 0.862 with price momentum with zero disagreement days at tradeable thresholds, placing it in the dead 0/213 OHLCV price-trend class — with a Sharpe CI on zero that cannot clear deflated Sharpe after the optimizer's best-of-N, a continuation direction fit on the full 2019-2026 sample (look-ahead into OOS/holdout), and an information ratio underperforming buy-and-hold.

Outcome Summary

A long-short, single-instrument directional strategy on BTCUSDT.BINANCE USD-M daily bars (2 tunable parameters) trading realized-semivariance asymmetry — the fear/greed skew between downside and upside realized volatility (down_semivol − up_semivol, normalized to [-1,+1]) — entering on extreme skew with a vol/ATR fee filter and a data-determined continuation direction (fear → short, greed → long), probing the one untested return-structure remaining after the session's exhaustive falsification.

Outcome Summary

The backtest (2410 daily bars, 2019-2026) returned +55.2% over 214 trades (highest cadence of the bars-probe batch) with profit factor 1.32, avg_trade_return_pct 1.22%, win rate 51.9%, max drawdown 11.9%, and low beta (0.02). But Sharpe was only 0.545 with sharpe_ci_low -0.098 (CI straddles zero), information ratio -0.634 versus holding BTC, and returns had decayed (2025 -5.77%, rolling Sharpe negative to -3.1 across late-2025/2026).
Strategy report

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