Z-Score Adaptive SMA100 2x/Cash Strategy
BTC leveraged ETF dynamic position strategy based on 100-day moving average trend detection + Z-score volatility dynamic leverage sizing.
Core Logic
Trend detection (SMA100) determines entry/exit. Z-score volatility determines position size.
Entry Condition
BTC Daily Close > SMA100 × 1.02- • Uses Binance BTCUSDT daily candle, UTC 0:00 close
- • SMA100 = Simple average of last 100 daily closes
- • × 1.02 = 2% buffer — price must exceed MA by 2% to trigger entry
- • Purpose: Avoid whipsaw from price bouncing around the moving average
Why 2% Buffer?
| Buffer | Trades/Year | CAGR | Final Return |
|---|---|---|---|
| 0% (none) | 13.2 | +75.7% | $1,091K |
| 2% | 5.0 | +88.9% | $2,001K |
| 3% | 4.8 | +86.5% | $1,800K |
| 5% | 3.6 | +80.7% | $1,380K |
2% buffer cuts trades from 13/year to 5/year while actually improving returns.
Exit Condition
BTC Daily Close < SMA100 × 0.98- • Price must drop 2% below the moving average to trigger exit
- • After exit: hold 100% cash (0x), no operations
- • Wait for the next entry condition to re-enter
Z-Score Leverage Calculation
When in market, leverage is adjusted daily based on the Z-score of the 30-day annualized volatility relative to its 365-day rolling history.
Step 1: Volatility
daily_returns = last 30 daily log-returns (close-to-close)
vol_30d = stdev(daily_returns) × sqrt(365)Step 2: Z-Score
μ = mean(past 365 days of daily vol_30d)
σ = stdev(past 365 days of daily vol_30d)
z = (vol_30d - μ) / σStep 3: Leverage
if z ≤ 0.3:
leverage = 2.0
elif z ≥ 2.0:
leverage = 0.0 (exit)
else:
leverage = 2.0 - 2.0 × (z - 0.3) / (2.0 - 0.3)Z-Score → Leverage Reference Table (2025 example: μ≈42%, σ≈12%)
| vol_30d | Z-Score | Leverage | Scenario |
|---|---|---|---|
| 30% | -1.0 | 2.0x | Low-vol bull market, full leverage |
| 42% | 0.0 | 2.0x | Historical average, still full |
| 46% | 0.3 | 2.0x | Just at threshold, start watching |
| 56% | 1.2 | 0.9x | Notably high, near spot level |
| 66% | 2.0 | 0x | Extreme vol, exit completely |
Why Z-Score Instead of Fixed Thresholds?
BTC's absolute volatility has structurally declined as market cap grew:
Fixed thresholds (vol < 40% = max leverage) would almost always trigger max leverage in 2024, but almost never in 2017. Z-score uses a rolling 365-day window, automatically adapting to the current volatility regime so it correctly distinguishes "low" from "high" in any era.
Trading Fees
Each leverage adjustment (change > 0.01x) incurs a 0.1% fee on the exposure change:
fee = portfolio_value × |new_leverage - old_leverage| × 0.001| Example | Fee |
|---|---|
| Entry (0x → 2x) | portfolio × 2 × 0.1% = 0.2% |
| Exit (1.5x → 0x) | portfolio × 1.5 × 0.1% = 0.15% |
| Micro-adjust (1.8x → 1.6x) | portfolio × 0.2 × 0.1% = 0.02% |
8.3-year simulation total fees: ~$115K (from $10K initial)
Daily Operation Flow
Every day at UTC 0:00:
1. Get BTC daily close price
2. Calculate SMA100 (average of last 100 daily closes)
3. Check entry/exit:
├─ Currently out + Close > SMA100 × 1.02 → ENTER
├─ Currently in + Close < SMA100 × 0.98 → EXIT to cash
└─ Otherwise → Hold current position
4. If in market:
├─ Calculate past 30-day annualized volatility (vol_30d)
├─ Calculate past 365-day vol_30d mean (μ) and stddev (σ)
├─ Compute z = (vol_30d - μ) / σ
├─ Apply formula to get target leverage
├─ If leverage change > 0.01x, deduct 0.1% fee
└─ Adjust position to target leverageApplicable Trading Instruments
| Instrument | Leverage | Description |
|---|---|---|
| IBIT | 1x | iShares Bitcoin Trust (spot ETF) |
| BITU | 2x | ProShares Ultra Bitcoin ETF |
| Mix | 0.5x–2x | Blend IBIT + BITU + cash to hit any target |
Achieving Non-Integer Leverage
Example: target 1.25x leverage with $100K total:
Buy $75K IBIT (1x) + $25K BITU (2x)
Effective leverage = 0.75 × 1 + 0.25 × 2 = 1.25x
Quick reference:
1.5x → 50% IBIT + 50% BITU
1.0x → 100% IBIT
0.5x → 50% IBIT + 50% cashHistorical Performance (2017/8 – 2026/3)
Overall Performance (incl. 0.1% fees)
| Metric | 1x Spot | Z-Score Adaptive |
|---|---|---|
| CAGR | +28.5% | +79.0% |
| Max Drawdown | -83.2% | -56.2% |
| Risk-Adjusted (CAGR/MaxDD) | 0.34 | 1.44 |
| Worst Entry CAGR | +1.9% | +37.2% |
vs Fixed Threshold Version
| Metric | Fixed (40%/100%) | Z-Score Adaptive |
|---|---|---|
| CAGR | +69.0% | +79.0% |
| Max Drawdown | -57.9% | -56.2% |
| Risk-Adjusted | 1.19 | 1.44 |
Z-Score v2 delivers +79.0% CAGR with lower max drawdown (-56.2% vs -57.9%) and the best risk-adjusted ratio of 1.44 across all strategies tested.
Trade Statistics
Why This Strategy Works
1. SMA100 Filters Bear Markets
BTC's biggest crashes (2018 -83%, 2022 -77%) all happened below the moving average. SMA100 gets you out at the start of a crash, avoiding the worst losses.
2. Z-Score Volatility Auto-Reduces Position
When vol is near or below its 365-day average (z ≤ 0.3), you get full 2x leverage. When vol hits extreme levels (z ≥ 2.0), the strategy exits completely. Unlike fixed thresholds, Z-score adapts to BTC's structurally declining volatility.
3. 2% Buffer Avoids False Breakouts
BTC price often bounces around the moving average. 2% buffer filters out 60% of false signals, reducing trade friction from 13/year to 5/year.
4. No Prediction Required
No guessing tops or bottoms. No judging bull or bear. Just check one number daily (close vs SMA100). Volatility is calculated objectively — zero subjectivity.
Risks & Limitations
Flash Crash Risk
If BTC drops >30% in a single day, exit only happens the next day — loss already incurred.
Sideways Chop
Extended sideways action near the MA generates multiple false breakouts (mitigated by 2% buffer).
Slippage & Fees
Position adjustments incur trading costs. Simulation includes 0.1% fee per adjustment (~$115K over 8.3 years from $10K).
ETF Management Fee
BITU charges 0.95%/year, which erodes returns over long holding periods.
Tax Impact
Each exit may trigger capital gains tax depending on jurisdiction.
Strategy Comparison
| Strategy | CAGR | Max DD | Risk-Adj |
|---|---|---|---|
| 1x Spot Hold | +28.5% | -83.2% | 0.34 |
| 2x Pure Hold | +14.5% | -99.1% | 0.15 |
| SMA100 2x/cash (fixed 2x) | +82.8% | -89.3% | 0.93 |
| Fixed Vol-Adjusted (40%/100%) | +69.0% | -57.9% | 1.19 |
| Z-Score Adaptive SMA100 | +79.0% | -56.2% | 1.44 |
| Dual MA 50/200 | +26.7% | -94.9% | 0.28 |
| Deviation Strategy | +48.0% | -61.0% | 0.79 |
Risk-adjusted ratio 1.44 is the highest across all tested strategies. Even the worst possible entry point yields +37.2% CAGR.
Data Source
- • Price Data: Binance BTCUSDT daily (UTC 0:00 close)
- • Data Range: 2010/07/18 – present (5,700+ days)
- • Updated daily via automated pipeline
- • All simulations include 0.1% trading fees