Skip to content
All strategies

Strategies

BTC Variance-Risk-Premium Regime Long on the COIN-M Inverse Perp: hold BTCUSD_PERP.BINANCE_CM while Deribit BTC DVOL minus 7-day realized vol is in the top 30% of its trailing year, exit when it falls below the trailing median (1H bars, one decision per day at 00:00 UTC, long-only, flat ~78% of the time)

Outcome: Analyzing

BtcCoinMDvolVrpRegimeLong

The development ledger contains 26 closed longs, all entering and exiting at 00:00 UTC, with 271 aggregate holding days. Direction and timing match the hypothesis; the code implements prior-observation ranking and…

Hypothesis

Explicit cross-underlying REPLICATION (L202 replication objective, stated up front) of the promoted 'ETH Variance-Risk-Premium Regime Long on Deribit's Own Linear Perp' (run 00add348, paper_stage, 36 trades, avg 2.66%/trade, PF 1.65). That strategy's mechanism was tested only on ETH; the sibling on ETHUSDT.BINANCE that used a 90-day ranking window failed overfit (holdout negative), while the 365-day ranking version survived. This hypothesis asks whether the SAME frozen rule (DVOL minus 7-day RV, top-30% of……Show moreShow less

Explicit cross-underlying REPLICATION (L202 replication objective, stated up front) of the promoted 'ETH Variance-Risk-Premium Regime Long on Deribit's Own Linear Perp' (run 00add348, paper_stage, 36 trades, avg 2.66%/trade, PF 1.65). That strategy's mechanism was tested only on ETH; the sibling on ETHUSDT.BINANCE that used a 90-day ranking window failed overfit (holdout negative), while the 365-day ranking version survived. This hypothesis asks whether the SAME frozen rule (DVOL minus 7-day RV, top-30% of trailing 365 days to enter, below trailing median to exit, one decision per day) carries information on the other DVOL underlying, BTC, traded on Binance COIN-M (BTCUSD_PERP.BINANCE_CM, inverse, ~0.06% RT taker). Signal: VRP_t = Deribit BTC DVOL (supplementary key `deribit_dvol`, BTC, hourly, history from 2021-03) minus annualized 7-day realized vol computed from the strategy's own 1H closes (stdev of hourly log returns over 168 bars x sqrt(8760) x 100). Each day at the 00:00 UTC bar close the strategy ranks VRP_t against its own trailing 365 daily 00:00 observations. Read DVOL point-in-time with supp_as_of (latest hourly DVOL value whose timestamp is <= the bar's close). Why BTC despite BTC's corpus share: DVOL exists only for BTC and ETH, and ETH is already covered, so the replication requires BTC; the venue (COIN-M, 2.5% of the corpus vs a >=5% target) and the information source (options-implied vol, no OHLCV-only signal) are under-represented. Fill convention: decisions at the 00:00 UTC bar close are market orders that fill at that close (the platform's faithful equivalent of the next bar's open on a 24/7 venue). Risk route (b): signal-based exit with capped sizing, one position, notional = 100% of USD-converted account equity, never levered; sized in whole USD-face contracts with contracts_for_notional(). Pre-study by the Research Lead (hourly COIN-M closes + BTC DVOL, frictionless, daily decisions): baseline rule gives 46 round trips 2022-2026, mean +2.6% per trade, median +1.6%, win rate 0.63, time in market ~22%, positive in every calendar year (2022 +32%, 2023 +24%, 2024 +36%, 2025 +16%, 2026 YTD +12% summed trade returns); neighbouring settings (entry quantile 0.6-0.8, RV window 5-14 days, ranking window 180/365) were mostly positive with mean trade returns 0.4-3.7%, the 14-day RV variant lost in 2022. This is a sanity check that the rule fires and is not obviously degenerate, not evidence of an edge. Matched control for the analyst: hold BTC for the same number of days at random entry dates (drift alone ~0.06%/day x ~10 days median hold ~0.6%/trade) - the rule must beat that, not merely be positive.

Fills the under-represented BINANCE_CM venue bucket (2.5% vs >=5%) with an options-information signal rather than another OHLCV pattern, and tests the incremental generality of one of the few promoted mechanisms. BTC is required because DVOL is only published for BTC and ETH and ETH is already covered; the rule is frozen at the promoted ETH baselines so this is a replication, not a renamed retune.

Implementation

Long-only strategy that trades BTC's variance risk premium on the Binance COIN-M inverse perp BTCUSD_PERP, on 1H bars. The premium (VRP) is Deribit's BTC DVOL minus the annualized realized vol of the strategy's own 1H closes over rv_days*24 hourly log returns (stdev x sqrt(8760) x 100, kept with O(1) running sums). DVOL comes from deribit_dvol and is read point-in-time as the last completed hourly candle, supp_as_of(t - 1h); a value older than 6h counts as missing. Once a day, at the 00:00 UTC bar close, today's……Show moreShow less

Long-only strategy that trades BTC's variance risk premium on the Binance COIN-M inverse perp BTCUSD_PERP, on 1H bars. The premium (VRP) is Deribit's BTC DVOL minus the annualized realized vol of the strategy's own 1H closes over rv_days*24 hourly log returns (stdev x sqrt(8760) x 100, kept with O(1) running sums). DVOL comes from deribit_dvol and is read point-in-time as the last completed hourly candle, supp_as_of(t - 1h); a value older than 6h counts as missing. Once a day, at the 00:00 UTC bar close, today's VRP is ranked against the earlier daily values from the trailing rank_days calendar days (the fraction strictly below it). The strategy goes long when the rank is at least entry_quantile (0.70, the top 30%) and goes flat when it falls below exit_quantile (0.50, the trailing median). It enters and exits only at this daily decision. Missing data: on a day with no DVOL it takes no action. The ranking needs at least rank_days - max_missing_dvol_days values in its window. A held position is closed after more than max_missing_dvol_days decision days in a row without DVOL. Size is notional_fraction (1.0) x account equity x leverage (1.0), in whole $100 contracts via contracts_for_notional(). Fill substitution: a market order at the 00:00 bar close, which on a 24/7 venue is the same as the next bar's open. calculate_signal returns the current VRP rank on every bar so the signal is continuous; decisions use only the 00:00 value.

This is a frozen replication of the promoted ETH DVOL-VRP regime rule on BTC. It keeps the same signal (DVOL minus 7-day realized vol), the same 365-day daily ranking, the same 0.70 entry / 0.50 exit thresholds, one decision per day and long only. It has no stop and no minimum hold, because the hypothesis specifies neither. Risk route (b): a signal-based exit with one position capped at 100% of equity, unlevered. Parameter names and fixed values follow the optimization plan exactly. Tunables are rv_days,……Show moreShow less

This is a frozen replication of the promoted ETH DVOL-VRP regime rule on BTC. It keeps the same signal (DVOL minus 7-day realized vol), the same 365-day daily ranking, the same 0.70 entry / 0.50 exit thresholds, one decision per day and long only. It has no stop and no minimum hold, because the hypothesis specifies neither. Risk route (b): a signal-based exit with one position capped at 100% of equity, unlevered. Parameter names and fixed values follow the optimization plan exactly. Tunables are rv_days, rank_days, entry_quantile and exit_quantile; fixed are decision_hour_utc, notional_fraction, max_missing_dvol_days and dvol_max_staleness_hours. The code clamps nothing, so there are no _param_bounds. Interpretation: max_missing_dvol_days is used as the tolerated DVOL gap. It sets how many observations the rank window may be missing, and it forces the position flat after a longer gap while long. Equity is read with get_account_equity() (the venue's USD-stable balance). At notional_fraction 1.0 the initial-margin check may trim the entry by about the taker fee; that is logged as a cap, not a failure. The sandbox window (~20k 1H bars) spends about 365 days warming up the rank, so expect only about 8-12 trades there.

Verification Results

Keep the execution timestamp convention explicit and consistent: use t-minus-one-hour for start-stamped DVOL and t for availability-stamped DVOL. Verify the frozen research execution setting before comparing or replaying results.

The t-minus-one-hour DVOL lookup correctly handles the default start-stamped loader. However, load_deribit_dvol shifts keys to candle availability when SF_SUPP_AVAILABILITY_STAMPS is enabled. In that execution configuration this additional offset selects the previous completed candle, delaying the hypothesis's latest-available DVOL by one hour and potentially changing daily decisions.

The smoke window reports 14 closed positions, 0.0357% average net trade return, -1.75% total return and modeled impact equal to 75.95% of gross. These are advisory: assess full-history economics and the mandated duration-matched random-entry control. Positive average closed-trade return and negative total return merit reconciliation of weighting and terminal liquidation/MTM; the supplied report explicitly says ending equity reconciles.

Backtest Review

Sharpe
0.80
Total return
178.53%
Max drawdown
41.38%
Trades
48
Win rate
56.2%
Profit factor
1.80

The development ledger contains 26 closed longs, all entering and exiting at 00:00 UTC, with 271 aggregate holding days. Direction and timing match the hypothesis; the code implements prior-observation ranking and point-in-time DVOL access.

Average trade return is 1.77%, profit factor 1.79 and Sharpe 1.04. Summed recorded trade PnL is positive $45,556.61; subtracting separately reported commissions would still leave positive expectancy. QA's economic concern is not borne out by this sample.

Twenty-six trades provide imprecise evidence, but are reasonable for this slow regime strategy. The predicted 46 trades cover a longer period and are not directly comparable.

The +115.11% USD account return substantially exceeds summed closed-trade PnL despite no open position at the cutoff. Reconcile BTC collateral translation and commission treatment before promotion; the supplied ledger does not establish the cause.

Reported entry leverage declines from approximately 1.0 to 0.63. Verify its equity denominator and inverse-contract sizing against the required 100% USD-equity allocation before promotion.

The duration-matched random-entry control is absent, so incremental timing value over BTC drift remains unproven. Drawdown of 23.23% is within the contract's 30% limit.

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