Crypto volatility targeting adjusts exposure to a defined risky portfolio by dividing a chosen volatility target by a forecast of that portfolio's volatility, then applying exposure limits. Higher forecast volatility reduces the uncapped allocation; lower volatility permits more exposure. The target describes a model's intended variability, not a maximum loss, and delayed forecasts can force reductions after a price fall.
The useful output is an exposure fraction you can reconcile with holdings, cash and orders. A volatility reading alone does not specify which portfolio it describes, when its information became available or whether the resulting trade can execute.
Define what gets scaled
Start with a risky sleeve: one asset or a basket with a declared allocation rule. Its return series should represent the portfolio held at full sleeve exposure, before the volatility overlay changes its size. If its constituents or allocation rule change, the forecast must describe that changed portfolio.
Choosing relative allocations within the sleeve is a separate decision. The comparison of risk parity and equal weighting addresses that construction problem. An exposure overlay can scale the resulting basket while preserving its internal proportions. Adding individual assets' volatility percentages does not produce the basket's volatility because their joint movements matter.
For a simple long-only sleeve plus cash that holds constant value in the account currency, modeled account volatility is approximately:
account volatility = exposure fraction × forecast sleeve volatility.
This relationship assumes linear exposure and ignores cash variability and trading costs. A stablecoin balance does not automatically satisfy the constant-value assumption. Nor does an options portfolio necessarily scale like a fixed linear holding over a large move.
Use the realized-volatility sampling guide to define the return observations and measurement window. A historical estimate becomes a forecast input only through a declared forecasting rule; its backward-looking label does not establish future accuracy.
Write the exposure rule and its limits
Let tau be the chosen annualized target and sigma_hat_(t+1) the annualized sleeve forecast available before the next holding period. A capped, nonnegative rule is:
w_(t+1) = min(w_max, max(0, tau / sigma_hat_(t+1))).
Here w is risky notional divided by account equity. Both volatility inputs must use the same units and horizon. Dividing a 20% annual target by a 4% daily estimate is an invalid comparison.
S&P Dow Jones Indices describes a target-to-historical-volatility ratio with a maximum exposure cap. That is a documented index implementation of the principle, with its own cash and rebalancing parameters. The educational rule here does not reproduce a particular index or establish suitable crypto settings.
Consider a hypothetical 20% target and a 100% exposure cap:
| Annualized sleeve forecast | Uncapped exposure | Applied exposure | Modeled account volatility |
|---|---|---|---|
| 15% | 133.33% | 100% | 15% |
| 40% | 50% | 50% | 20% |
| 80% | 25% | 25% | 20% |
The first row cannot reach the target under the cap. Keeping exposure at 100% is consistent with the rule; borrowing to fill the gap would change its constraints. A cap above 100% requires separate financing, collateral and liquidation analysis.
Reject a missing, zero, negative or stale forecast before division. A near-zero valid estimate also needs an explicit policy, such as a predeclared forecasting floor alongside the cap. Do not let a malformed denominator silently become permission for maximum exposure.
Forecast using only information already available
A simple rolling variance estimator gives observations within its window equal weight. An exponentially weighted moving average, or EWMA, gradually reduces older observations' influence. In a zero-mean teaching model, let v_t be the daily variance forecast used for day t, and r_t its subsequently completed simple sleeve return:
v_(t+1) = lambda × v_t + (1 − lambda) × r_t².
Under a declared 365-calendar-day convention:
sigma_hat_(t+1) = sqrt(365 × v_(t+1)).
The J.P. Morgan/Reuters RiskMetrics technical document develops recursive EWMA variance forecasts, including a 0.94 decay-factor example. Its original return definitions and traditional-market conventions are not a crypto calibration. This article adapts the recursion to daily simple returns and 365 calendar days; 0.94 is an illustrative input.
A decay factor closer to one gives the previous forecast more weight and responds more slowly to new observations. Initialization matters too. Record the starting variance and warm-up history rather than selecting them after inspecting the strategy's returns.
The update containing r_t can affect day t+1, after data receipt and execution. It cannot reduce exposure retroactively during day t. If the closing observation arrives late, the effective trade time must move accordingly.
Annualization is a scaling convention, not knowledge of next year's outcomes. Square-root scaling assumes the relevant aggregation conditions, including negligible return autocovariances. Keep log-return estimates distinct from the simple returns used to compound account value; multiplying a weight by a log return is not the exact account-return calculation below.
Replay a shock and a rebound
This original hypothetical example starts with $100,000, a 20% annualized target, a 15% initial forecast, a 100% cap and lambda = 0.94. Cash earns zero. Trades fill completely at the daily boundary, with no fees, spread or slippage in the main ledger. These assumptions isolate the exposure rule and are not observed trading results or recommended settings.
The initial daily variance is 0.15² / 365. A low forecast allows full exposure because the uncapped 133.33% request is restricted to 100%.
| Holding day | Forecast before the day | Applied exposure | Sleeve return | Account return | Ending equity |
|---|---|---|---|---|---|
| Shock | 15.000% | 100.000% | −10.000% | −10.000% | $90,000.00 |
| Rebound | 49.005% | 40.812% | +10.000% | +4.081% | $93,673.09 |
After the shock, the next annualized variance forecast is:
0.94 × 0.15² + 0.06 × 365 × (−0.10)² = 0.24015.
Its square root is approximately 49.0051%. The next exposure is 0.20 / 0.490051 = 0.4081208, or 40.8121%. Applied to the remaining $90,000, this leaves $36,730.87 in the sleeve and $53,269.13 in cash. The rule sells after the fall because the forecast responds to a move that already happened.
The rebound then produces 90,000 × (1 + 0.4081208 × 0.10) = $93,673.09, using the unrounded weight. A fully invested comparison on the identical two-day path ends at 100,000 × 0.90 × 1.10 = $99,000. Exposure timing explains the difference under these assumptions.
The positive rebound is also a large squared observation. After it, the annualized forecast rises again, to approximately 66.6889%. This estimator responds to movement magnitude, including upward movement; it does not identify whether the next return will be positive.
This is the procyclical failure case: quiet observations allow more risk, a shock occurs at that larger exposure, and the subsequent reduction participates less in a recovery. If large declines instead continued, lower subsequent exposure would reduce their account impact. The constructed path demonstrates neither universal failure nor an expected trading advantage.
Account for constraints that change the result
Turnover follows changes in actual holdings, not just changes between two target weights. After each price move, calculate the sleeve's current marked value and the account's current equity before determining the order difference. In the example, the modeled post-shock sale is $53,269.13. An illustrative 10-basis-point charge on that sale alone would be $53.27, before slippage. That charge is excluded from the table; paying it would also change equity and the final exposure calculation.
Frequent recalculation can increase turnover, especially when estimates oscillate. A minimum trade size, a no-trade band or a daily adjustment limit can reduce changes, but each creates a different policy that can depart further from its target. Simulate the actual restriction rather than showing unrestricted target tracking and reporting restricted trading costs.
Cash treatment also changes comparisons. The cash-drag benchmark guide explains why an account with variable invested exposure needs an explicit cash and benchmark policy. Include reserve returns, custody risks and funding costs where applicable. A cash allocation in the model does not establish that a reserve asset is accessible during an exchange outage.
Data errors can trigger real reductions. A bad price can inflate the squared return; a stale price can make risk appear artificially low. Specify input rejection and outage behavior before deployment. Missing daily observations must not become fabricated zero-return days.
Finally, separate the requested target from confirmed exposure. Partial fills, an order minimum or an unavailable balance can leave the account away from its requested weight. Reconcile fills and balances before issuing another adjustment. The ATR sizing guide addresses a related but different calculation: converting an entry-to-stop loss allowance into trade quantity. A volatility target supplies neither a stop instruction nor a maximum account loss.
Keep an exposure worksheet you can replay
| Worksheet field | Evidence to preserve |
|---|---|
| Risky sleeve | Constituents, allocation rule, account currency and return definition |
| Forecast construction | Price source, daily boundaries, estimator, decay or lookback, initialization and annualization |
| Decision availability | Last included observation, receipt time, forecast time and earliest permitted order time |
| Target and constraints | Chosen target, exposure cap, invalid-data policy, reserves and adjustment restrictions |
| Executable difference | Current equity, current sleeve value, requested trade, rounding and estimated costs |
| Confirmed outcome | Fills, remaining holdings, cash, achieved exposure and deviations from the request |
Before evaluating returns, replay the shock/rebound ledger and confirm that the shock changes only the following day's exposure. Append future observations and verify that earlier saved forecasts and order requests remain unchanged.
Then test a persistent decline, a quiet period ending in a jump, missing data and a partial fill. The missing-data case should stop new sizing; the partial-fill case should use confirmed holdings rather than the requested allocation. Measure realized account volatility, largest losses, turnover, net returns and time spent at the cap. Compare with a predeclared fixed-exposure baseline on the same underlying data and cash assumptions. A closer volatility reading alone does not establish a better net outcome.
For the next rebalance, save one row linking the forecast's data cutoff to current holdings, the capped exposure request and confirmed fills. That record makes it possible to explain why exposure changed and to distinguish a forecast error from an execution failure.
