Skip to content
All strategies

Strategies

ETH Deribit Post-Expiry Hedge-Unwind Fade: Fade the First 4 Hours After the Friday 08:00 UTC Deribit Option Expiry, Fixed 12h Clock, Flat ~93% of the Time (ETH-PERPETUAL.DERIBIT 1H, pure OHLCV, long-short, single leg)

Outcome: Abandoned

EthDeribitPostExpiryHedgeUnwindFade

Outcome Summary

The hypothesis proposed fading the first 4 hours of ETH price action after Deribit's Friday 08:00 UTC option expiry. The authors disclosed up front that the edge was weak (about +0.17% gross per trade, t_net about 0.65) and said it should be abandoned, not iterated, if it missed. After 2 iterations, the 7.4-year backtest lost 6.62% over 385 trades (Sharpe -0.02, profit factor 0.94), and impact costs came to 185% of gross. The run was then abandoned automatically because it was checked as an options strategy and never traded an option leg, so the analyst and risk stages were never reached.

Hypothesis

A calendar-anchored event trade on the same venue where the event happens. Every Friday at 08:00 UTC Deribit settles its weekly, monthly and quarterly options. Dealers have to take off the delta hedges on the expiring gamma. That flow is mechanical, not informational, so the price move it causes in the first hours after expiry should partly reverse. Rule: at the close of the Friday 12:00 UTC bar, r4 = close(12:00)/close(08:00)-1. Take the opposite side and close on a fixed 12h clock. There is no gate and no……Show moreShow less

A calendar-anchored event trade on the same venue where the event happens. Every Friday at 08:00 UTC Deribit settles its weekly, monthly and quarterly options. Dealers have to take off the delta hedges on the expiring gamma. That flow is mechanical, not informational, so the price move it causes in the first hours after expiry should partly reverse. Rule: at the close of the Friday 12:00 UTC bar, r4 = close(12:00)/close(08:00)-1. Take the opposite side and close on a fixed 12h clock. There is no gate and no supplementary feed, and the strategy is flat about 93% of the time. PRE-STUDY (point-in-time; all variants disclosed): the grid was 4h/8h observation × 12/24/48h hold × 0/0.5/1.0 sigma gates, run on ETH-Bybit, ETH-Binance and BTC-Bybit. The best cell was 4h/12h ungated. PLACEBO: the same fade on every other weekday is negative on all 5 instruments tested. Friday is the only day that is positive on every one of them (ETH-Bybit +0.33%, ETH-Binance +0.19%, SOL-Binance +0.30%, BTC-Bybit +0.16%, ETH-Deribit +0.17%, BTC-Deribit +0.18% gross). HONEST WEAKNESS: on the longest sample (ETH-PERPETUAL.DERIBIT, 393 Fridays, 2019-2026) the gross is +0.17%/trade, t_net about 0.65 and calendar Sharpe about 0.25. It lost money in 2020, 2022 and 2026 YTD. That is below L166's floor, so it is submitted as a low-priority, falsifiable test of a named mechanism. It should be abandoned, not iterated, if it misses.

Negative expectancy across 385 trades over 7.4 years. The specified Friday fade executed, but its net edge did not survive modeled costs; optimizing the previously searched timing grid is not justified.

Implementation

Every Friday, 4h after the 08:00 UTC Deribit option expiry, the strategy fades the post-expiry move r4 = close(12:00)/close(08:00)-1 on ETH-PERPETUAL.DERIBIT and closes on a fixed 12h clock. It is flat about 93% of the time. Size = min(25% of equity, 2% of the mean hourly bar volume over the last 168 bars).

Iteration 2 fixes the QA sizing/capacity defect and leaves the signal unchanged. (1) position_fraction is cut from 0.9 to 0.25, and a participation cap is added: qty <= max_participation x the 168-bar mean bar volume. Under the sqrt impact law, impact per side should fall from about 19bps (about 7% participation) to about sqrt(0.02)*70, roughly 10bps or less. Per-trade risk should fall to a few % of equity. (2) Restart safety: if _entry_ts is 0 while a position is open, the hold clock is recovered from position.ts_opened instead of exiting on the first bar. Leverage stays 1.0. Caveat: I could not decode the catalog's binary-encoded volume column to confirm the units of ETH-PERPETUAL.DERIBIT bar volume. If it is USD contracts rather than ETH, the cap's scale is wrong, and the 25% equity fraction is the only bound on size. The hypothesis pre-registers t_net of about 0.65, so a clean run may land inside noise; abandon rather than iterate if it misses.

Verification Results

Leave as is for the full backtest. If the analyst needs impact below 50% of gross, lower position_fraction (e.g. 0.10-0.15). Do not change the signal.

Modelled impact is about 63% of gross profit in the sandbox, above the 50% soft economics floor. The 25%-of-$100k notional still binds; the participation cap (2% of the 168-bar mean ETH volume) does not. Deribit TradingView-chart volume is in base-coin units and the instrument is modelled linear in ETH, so the cap's units are correct. It is just not binding at this equity.

Keep the optimizer's obs_hours range at 1-8 or so.

The decision bar needs the Friday 08:00 close-stamped bar (the anchor) on the same UTC day. A missing 08:00 bar in the catalog silently skips that week's trade. This is benign and conservative. Also, obs_hours + expiry_hour must stay below 24; the defaults (8+4) are fine, but an optimizer range that pushes the sum past 23 would never trigger.

Analyst: judge the fee floor on net P&L (avg_trade_pnl_usd $25.3 on ~$25.6k notional, about 0.10% net), not on avg_trade_return_pct.

Ledger reconciliation (L140): avg_trade_return_pct 0.348% x 119 trades = 41% implied (about 10.5% of equity at 25.6% notional), against a +3.0% actual return. That is inside the 20x band, but avg_trade_return_pct appears to be gross of the folded impact ($44/trade). The per-trade figure therefore overstates net economics by about 0.17 percentage points.

The pre-registered edge is thin: gross about +0.17%/trade, t_net about 0.65, and losing years in 2020, 2022 and 2026. The sandbox fits that picture: 119 trades, PF 1.10, Sharpe CI -1.61 to 0.77 (the metric is flagged unreliable), and all of the P&L comes from the stressed-vol tercile, with the calm tercile at -7.4%. Costs take most of the gross. Impact is $5.2k plus $2.2k commission, against about $10.5k gross (impact_cost_pct 63%, above the 50% soft economics floor). Per trade that is about 0.35% gross on ~25% equity notional, versus ~0.07% Deribit perp taker round trip plus ~0.17% modelled impact round trip. The developer and the hypothesis both say to abandon rather than iterate if the full backtest misses. I agree: the only lever left is sizing down further, not the signal.

Backtest Review

Sharpe
-0.13
Total return
-6.62%
Max drawdown
17.62%
Trades
385
Win rate
50.4%
Profit factor
0.94

All 385 trades entered Friday at 12:00 UTC and closed 12 hours later, matching the proposed timing.

Average net return was -0.0677% per trade versus the 0.10% Deribit perpetual review floor. Profit factor was 0.937, Sharpe -0.129, and total return -6.62%. QA's concern about thin economics was borne out.

Iteration History

Verification failed (Layer 4 — QA review) [class=code_defect]: - [edge_concern] Once the sizing is fixed, the ledger is worth reading closely. The sandbox reconciles as follows: about +$28.7k PnL after commission and before impact (+0.35%/trade over 119 trades, which is above the pre-study's +0.17% gross), minus $44.4k impact, gives -$15.65k. Removing the impact cost therefore gives a positive result; the signal itself is not what lost money. Two caveats. First, returns have skew -7.4 and kurtosis 102, and the……Show moreShow less

Verification failed (Layer 4 — QA review) [class=code_defect]: - [edge_concern] Once the sizing is fixed, the ledger is worth reading closely. The sandbox reconciles as follows: about +$28.7k PnL after commission and before impact (+0.35%/trade over 119 trades, which is above the pre-study's +0.17% gross), minus $44.4k impact, gives -$15.65k. Removing the impact cost therefore gives a positive result; the signal itself is not what lost money. Two caveats. First, returns have skew -7.4 and kurtosis 102, and the regime split (calm -60.7% / stressed +22.4%) will not reconcile with a -15.6% total. That fits the paired-MTM-day engine artifact flagged on other recent runs, so judge on the closed-trade ledger. Second, the pre-registered t_net of about 0.65 on 393 Fridays means a clean re-run is likely to land inside noise. The hypothesis itself says to abandon rather than iterate if it misses. - [critical] The position size is larger than the venue's modelled capacity, so impact costs dominate the result. position_size() commits position_fraction=0.9 x equity x leverage (about $90-100k notional; avg_position_pct is 108.6%) on every Friday 12:00 UTC entry. The sandbox impact model charged $44,397 over 238 fills, about $186/fill, or roughly 19 bps per side. Under the sqrt law with k=70 bps, that means about 7% participation in the hourly bar volume. impact_cost_pct is 154% of gross and capacity_usd is $41.9k, below the $100k starting equity. The PnL before impact was positive (+0.35%/trade, +$28.7k); impact alone turns it into -15.65%. The brief classes this as a sizing/capacity defect with an obvious fix. It is not an edge verdict. As things stand, the backtest would measure the impact charge on 90%-of-equity orders rather than the hedge-unwind fade. (line 97) — fix: Cap size by participation. Keep O(1) rolling state (a deque with a running sum) of the last ~168 1H bar volumes. Set qty = min(equity*position_fraction*leverage/price, max_participation * trailing_median_or_mean_volume) with max_participation around 0.01, and/or cut position_fraction to about 0.2-0.3 so the notional sits well below capacity_usd (target impact_cost_pct < 50% per the economics floor). Separately, check that ETH-PERPETUAL.DERIBIT bar volume in the catalog is in ETH and matches Deribit's real hourly turnover. The implied ~500 ETH/hour looks low for that contract, and if the volume - [warning] Restart behaviour: _entry_ts lives only in memory. The comment says 'persisted across restarts', but nothing persists it. After a restart during the 12h hold, should_exit sees _entry_ts == 0 and closes the position on the first bar. This is harmless in backtest, but live it cuts the hold short and the parity replay will diverge. (line 88) — fix: Recover the entry time from the open position (position.ts_opened) when _entry_ts is 0, instead of returning True. - [warning] There is no stop by design, which matches the hypothesis. But at 90% notional, a 12h ETH move of 10-15% costs roughly 10-13% of equity in one trade (largest sandbox loss was -$11.3k). This is not an always-in design (exposure is 7.2%, flat between Fridays), so L148 does not apply, but per-trade risk is not capped. (line 97) — fix: The participation/fraction cap above also limits single-trade risk to a few % of equity.

Outcome Summary

A perpetual-only strategy on the DERIBIT venue gets caught by the options-leg check, so the venue or strategy type needs sorting out before submission; and even without that check, a 0.17% gross edge was eaten by costs, turning the net result negative.

The pipeline abandoned it with 'options_no_option_trades': it was checked as an options strategy and made 0 option-leg trades (all 385 trades were on the underlying), even though it was designed as a single-leg perpetual trade. It never reached backtest review, optimization, analyst review or risk review, so no verdicts were recorded.

Every Friday at 12:00 UTC it faded the 4-hour ETH-PERPETUAL.DERIBIT move that followed the 08:00 UTC Deribit option expiry and closed on a fixed 12-hour clock, betting that dealers unwinding their delta hedges push price in a way that partly reverses.

The 2019-03 to 2026-08 backtest (385 trades, 50.4% win rate) returned -6.62% with Sharpe -0.02, profit factor 0.94 and max drawdown 17.28%; avg_trade_return_pct was 0.151%, and impact costs came to 185% of gross (commission $6,512, impact $14,399).

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