Realized volatility, 5m, BTC perps, last 24 hours
DELAYED 15 MIN…Updates by itself every 5 minutes
Realized volatility, 5m, latest
Volatility clusters: a spike is usually followed by more high readings before it decays.
Volatility from the trades inside each bar, split into its continuous part and its jumps.
Log-return based metrics: variance, realized volatility, bipower variation, jump ratio, autocorrelation, and trendiness.
All 11,692 trades from 14:38 to 14:39 UTC on 11 June 2025, Binance BTC-USDT perpetual, from the free raw-trades preview.
Step 1
11,691 returns, one per trade after the first. 58% are zero, a trade at the same price as the one before, and they stay in the sums.
Step 2
Bipower variation multiplies each absolute return by the one before it, so a single large jump adds little to it. The gap between the two lines is the variance from jumps. realized_vol covers this minute and is not annualised.
Step 3
ret_autocorr_lag1 is negative, but by sign alone moves tend to continue. After a down move, the next trade moved down 50% of the time and up 8%. The signs correlate at +0.33.
The correlation weights each move by its size. Of the 50 largest moves, 0.992 bps or more, 22 reversed on the next trade, 2 continued and the rest were followed by an unchanged price. They account for 80% of the covariance.
trendiness is the net move as a share of the total distance the price travelled, 0.09 here.
Step 4
BTC-USDT perpetual on Binance, 5m bars, 1 to 31 May 2025, from the free preview.
Autocorrelation at each lag, hourly bars.
Autocorrelation of hourly realized volatility and of hourly returns across May. Volatility still correlated 0.17 with itself a day later. Returns stayed within ±0.08 at every lag.
Recent volatility forecasts the next hour's volatility. Recent returns do not forecast the next hour's return.
DELAYED 15 MINto 14:45 UTCUpdates by itself every 5 minutes
Highest
realized_vol is the square root of the summed squared trade-to-trade log returns in the interval. It is not annualised: scale it by the number of intervals in a year.
bipower_variation estimates the continuous part of variance. jump_ratio is the share of variance that came from jumps: near 1, one large move made up most of the bar.
ret_autocorr_lag1 is the lag-1 autocorrelation of trade-to-trade returns in the bar: negative means moves tended to reverse. trendiness is the absolute net return divided by the sum of absolute returns, so 1 means the price moved one way only.
Does price tend to continue or reverse? This is the most consequential question for any directional strategy. Rather than inferring the answer from backtests of momentum strategies (which conflate the signal with execution, risk management, and survivorship), you can measure it directly from the return series.
The autocorrelation of returns at lag 1 is the most direct measure of short-horizon momentum or mean reversion. Lo & MacKinlay (1988) documented significant positive weekly return autocorrelation in US equities — evidence against the random walk hypothesis and the foundation for contrarian and momentum strategies.
At the microstructure level, return autocorrelation has a different character. Roll (1984) showed that the bid-ask bounce mechanically induces negative first-order autocorrelation in trade-to-trade returns: a buy at the ask is followed by either another buy (no price change) or a sell at the bid (negative return), creating a systematic negative serial correlation equal to the squared half-spread.
We compute lag-1 autocorrelation per interval from trade-to-trade log returns. The interpretation:
This ratio measures the efficiency of price movement — how much of the total distance traveled was "useful" (in the direction of the net move). It's related to the variance ratio test (Lo & MacKinlay, 1988) but operates on a single bar rather than across multiple horizons.
The two metrics together provide a richer regime characterization than either alone:
| Autocorrelation | Trendiness | Regime | Strategy Implication | | --------------- | ---------- | -------------------------- | -------------------------------------------------------------- | | High positive | High | Sustained directional flow | Trend-following profitable | | Low/negative | Low | Choppy oscillation | Mean-reversion or market-neutral | | Low | High | Gap/jump regime | Price jumped rather than drifted — single large displacement | | High positive | Low | Oscillating drift | Momentum in micro-returns but frequent reversals — noisy trend |
This characterization captures within-bar price dynamics that OHLC completely discards. A bar with identical OHLC values can be a clean trend (high autocorrelation, high trendiness) or a choppy fight that happened to close at the high (low autocorrelation, moderate trendiness). The distinction matters for everything from volatility estimation to strategy selection.
References:
# Install the Aperiodic CLI into ~/.local/bin
mkdir -p "$HOME/.local/bin"
curl -fsSL https://raw.githubusercontent.com/aperiodic-io/cli/main/install.sh | INSTALL_DIR="$HOME/.local/bin" bash
export PATH="$HOME/.local/bin:$PATH"
# Free preview — no API key required
aperiodic returns --preview \
--exchange binance-futures \
--symbol perpetual-BTC-USDT:USDT \
--interval 5m \
--timestamp exchange \
--start-date 2025-05-01 \
--end-date 2025-05-31 \
--output-dir ./data && echo "Saved to $PWD/data"