# Registered elapsed-time volatility sizing v1

September 8, 2026, before implementation or performance outcomes. This addresses the verified short-gap reset dependency. The tested market periods are already explored; this is a historical robustness experiment, not independent future evidence.

## New estimator and fixed gap behavior

Use actual consecutive observed closes, with timestamp differences in units of four hours. For each interval, r = log(current close / previous close) and d = elapsed seconds / 14,400. No invented observations or traded prices.

Keep the last N eligible intervals, N = nominal lookback days times six. Require N intervals, each positive and on the original four-hour grid. The central maximum single interval is 24 hours (d <= 6). An interval exceeding that limit clears the history and is excluded; the next actual observed close becomes the new starting point. Also require the N intervals' total elapsed time <= 1.05 times N four-hour units. Otherwise the feature is unavailable until this limit is met. This caps lookback extension at 5%; do not tune either limit after seeing results.

With N eligible intervals, estimate per-four-hour drift m = sum(r) / sum(d). Estimate variance v = sum((r - m*d)^2 / d) / (N-1). Annual volatility is sqrt(v * 365.25 * 6). This is the residual variance model with log-increment variance proportional to elapsed time. It assumes unobserved intervals can be represented by their endpoint change and duration; it does not recover their hidden price path or jumps. Under equal four-hour spacing it reduces to the previous sample-variance estimator. Implement an exact equal-spacing branch using the old arithmetic, and require exact equality on complete histories. No future values enter the feature.

The lookback is N observed intervals, nominally 14, 30 or 60 days, with at most 5% elapsed extension. Do not describe it as an exact calendar window when gaps occur. Any unavailable feature still uses the original 1x daily fallback. Targets update only at actual observations closing at UTC midnight; a missing decision boundary is not backfilled. Exposure, fill delay, costs, interest, maintenance and liquidation accounting are unchanged.

## Eight candidates, defined before results

Six central candidates use the unchanged volatility budgets/lookbacks/caps from evaluate_volatility_sizing.SPECS with the new 24-hour maximum interval: 40%/30d, 60%/30d, 80%/30d, 60%/14d, 60%/60d and 60%/30d capped at 1x. Targets clamp budget/volatility to 0.25 through the same 1.0 or 1.5 cap; exact zero volatility uses the cap.

Two prespecified gap-limit sensitivities repeat only the 60%/60d candidate with maximum intervals of 12 and 48 hours, retaining the 5% total elapsed extension limit. These are sensitivity checks, not a search to select the most profitable outage tolerance. Compare every candidate with its original contiguous-history counterpart. Do not optimize the historical missing dates or add another threshold after observing returns.

## Frozen inputs, windows and accounts

Reuse the two frozen reference input sets, the 19,817 accepted Binance BTCUSDT observations, and the fourteen windows from VOLATILITY_VENUE_PROTOCOL.md. Verify prior provenance, source price/receipt hashes and every previous account trace. The recent reference cache has full warmup; do not splice it into the older historical vintage. Native source grids stay separate. Reference/USD and Binance/USDT returns are native quote-unit returns, with no FX conversion. All existing gaps, prior corrections and partial-candle limitations remain.

Two sources x fourteen windows x eight candidates x two costs x two delays x three APRs = 2,688 new candidate accounts. Additionally recalculate four fixed/hold controls for each source/window/scenario = 1,344 control verification accounts. Total new account calculations: 4,032. Reuse the already frozen old sizing results as paired native references; there are 2,016 unique old sizing cases, reused by the two extra gap-limit sensitivities as needed. Do not count references as new experiments.

Controls: BTC bought once and held, daily fixed 0.75x, 1.25x and 1.50x. Initial capital 10,000 native quote units. Costs 6/30 bps, delays one/three four-hour bars, hypothetical borrowing APR 5/10/20%. Main comparison: 6 bps, four-hour delay, 10% APR. Reuse margin_book, metrics, quote_metrics and trace_rows unmodified. Preserve interest across gaps, expired missing fills, observed-low liquidation assumptions, insolvencies and all other prior account rules.

## Reporting and validation

Save all new account traces, old trace references, features and realized elapsed-window metadata. In the four core windows (2018 onward, 2019 onward, 2023 onward, recent), report each candidate's total return and drawdown alongside its original version, and wins against own-source BTC and BTC/fixed-1.25/fixed-1.5 together across all twelve cost/delay/APR combinations. Include annual failures, maximum drawdowns, insolvencies and forced sales. Report unavailable daily features, targets changed from the old rule, and maximum actual feature-window duration. Counts are correlated descriptions, not probabilities or automatic selection rules.

Tests must establish the duration-weighted formula on synthetic irregular observations; exact old-estimator equivalence for fully observed histories; no reset for eligible short gaps; rejection at excessive gap/coverage limits; no future-input or scale dependence; target/account prefix identity after future-price perturbations; and all existing fixed controls/canonical decisions unchanged. Run focused tests and the full suite. Preserve all source/report/trace hashes, including failed periods. Do not silently fix old datasets or evaluators if results disappoint. New prospective sizing requires a separate fixed journal; current forward registry, production and cloud strategy stay unchanged.
