Earlier first minute 1.532 2020–2021 · exploratory
Later first minute 1.229 2025–2026 · frozen holdout
Mean hourly contrast +0.2326 dimensionless · equally weighted hours
One-sided 95% lower bound +0.2106 fixed week-cluster bootstrap

Research code & frozen evidence →

A pattern at the turn of the hour

Does Bitcoin move more in the first minute of an hour? In the later sample I tested, it did, relative to the rest of the same completed hour. The mean first-minute contrast was +0.2326 and its one-sided 95% bootstrap lower bound was +0.2106. The lower bound exceeded zero, satisfying the frozen rule.

The earlier reconstruction had a higher observed first-minute value: 1.532, against 1.229 in the later validation. These are dimensionless relative-volatility measures, not price returns. The comparison describes the two samples; I did not predeclare or run a significance test for the change between them.

The first-minute peak is still visible

Relative absolute log return · hourly average = 1

The complete values for both profiles are available in the table below.

Binance BTCUSDT spot; earlier period is exploratory, later period is a frozen retrospective holdout. No between-period significance test was specified.
Show all 60 minute values
Minute2020–2021 exploratory2025–2026 validation
001.53241.2287
011.27651.1431
021.18351.1395
031.13001.0978
041.04591.0878
051.11841.1480
061.05111.1149
070.96691.0716
080.97241.0175
090.96781.0172
101.06301.0662
110.99431.0032
120.94580.9625
130.94300.9414
140.91990.9104
151.23151.1171
161.08511.1001
171.00381.0600
180.97781.0400
190.95311.0371
201.05071.0880
210.97011.0329
220.92831.0141
230.93290.9712
240.92210.9525
251.01151.0108
260.95450.9424
270.91820.9154
280.89780.8727
290.89220.7998
301.23691.1554
311.07291.1205
321.01241.0795
330.98231.0524
340.95991.0267
351.03131.0844
360.97371.0486
370.93161.0240
380.92340.9874
390.92250.9766
400.98941.0362
410.94700.9554
420.91600.9167
430.90440.8973
440.89670.8490
451.17401.0509
461.04261.0231
470.98130.9940
480.95600.9581
490.91860.9586
501.00821.0150
510.95420.9783
520.91810.9391
530.91050.8822
540.90610.8968
551.00870.9195
560.94460.8604
570.90720.8136
580.91080.7836
590.91810.8130

Hansen, Kim and Kimbrough’s paper reported recurring cryptocurrency volatility patterns around hourly, quarter-hour and smaller time boundaries. Algorithmic trading and derivatives funding schedules are possible explanations, but this test cannot identify the cause. I examined one pair on one venue, not the paper’s entire set of markets or methods.

What the numbers measure

For each UTC minute I calculated the absolute log return from the preceding minute’s close. For a complete hour, I divided each of its 60 absolute returns by their average for that hour. The resulting 60 numbers average 1: a value above 1 indicates more movement than that hour’s average minute.

This is the within-hour statistic used in the paper’s Figure 8. It uses all 60 minutes of a completed hour, so it cannot be known in full before the hour ends. Figure 7 uses a different rolling normalization; its ambiguous printed formula is outside this test. Neither measure establishes an executable trading signal.

Reconstructing the earlier pattern

I first reconstructed the Figure 8 profiles using Binance Vision BTCUSDT spot candles from October 2020 through May 2021. The archives contained 348,967 rows, with 953 absent source minutes and three rows with malformed close timestamps. I excluded malformed rows without correcting the source, and I did not bridge missing candles when constructing returns. An eligible hour required all 60 candles and the immediately preceding close.

That left 5,809 eligible hours and 23 excluded hours. Minute 00 was the highest point in 21 of the 24 hour-of-day profiles. An independently written calculation checked the coverage, exclusions and profiles. The shape was qualitatively consistent with Figure 8, but exact numerical reproduction and equivalence between Binance Vision and the authors’ historical Nomics/CCXT data were not established. This period was exposed development evidence, not a second independent holdout.

A later test, frozen before acquisition

I froze the validation lineage on 4 November 2026 at 21:27:11 UTC, before acquiring the 21 declared monthly archives for January 2025 through September 2026. The original paper and my earlier reconstruction informed the hypothesis. The later data were uninspected during this study before the freeze; earlier exposure outside this work is unknown. These market observations had already occurred, so this is a retrospective holdout, not a prospective live experiment.

The single primary comparison was the normalized return for minute 00 minus the average normalized return for minutes 01–59, computed separately for each eligible hour. The estimate gives each eligible hour equal weight. The frozen rule required the one-sided 95% lower bound to be strictly greater than zero. A negative point estimate alone would not have established the opposite effect.

I used 10,000 fixed-seed resamples of UTC ISO-week clusters, retaining partial boundary weeks and recomputing the hour-weighted mean in each resample. The 500th sorted value supplied the one-sided lower percentile bound. This allows within-week dependence, but its interpretation depends on weeks being sufficiently independent and representative; dependence across weeks or changing market conditions can weaken that assumption.

The lower bound remains above zero

Hour-weighted first-minute contrast · one-sided 95% bootstrap bound

Mean contrast 0.2326; one-sided 95% lower bound 0.2106; zero is the decision threshold.

The markers show the estimate and the one-sided lower bound, not a two-sided confidence interval.

Coverage and result

The 21 later archives matched their publisher checksums. The frozen decoder admitted 918,720 rows and found no missing minutes or malformed rows. Of 15,312 calendar hours, 15,311 were eligible. The first hour had no preceding close within the declared sample and was excluded; no zero-denominator hour was found. The bootstrap used 92 observed calendar-week clusters.

The first-minute contrast was positive under the fixed rule. The later profile still shows variation at other minute boundaries, but those features were descriptive, not additional confirmatory hypotheses. The lower first-minute value in the later profile is an observation, not evidence from a separate statistical test that the effect declined.

Verification and limits

The first and only validation run was sealed COMPLETE. A study-owned semantic verifier independently reconstructed the scientific calculations from the bound observations and passed. A separate platform integrity check passed for the sealed artifacts and source-byte identities. Neither check is a third-party audit, and hashes alone do not establish scientific validity or chronology.

This result covers Binance BTCUSDT spot, not all Bitcoin markets. Source corrections, exchange-specific mechanics, excluded observations and market changes may matter. The normalized statistic says nothing about direction, transaction costs, execution or profitable trading. Nor does it establish that a futures funding schedule or any other mechanism caused the pattern.

The frozen lineage is btc-intrahour-2025-2026-validation; the sealed run is 20261104T213413Z-4ef67560ac6b. The chart data on this page were generated from the checked historical profile and the sealed validation result. Their source SHA-256 identities are 1fd1460cd8658da5dd6389d8bdd90e5814712454a7744a34b2f765547f92055f and fdad096a7d0138f3518d0495a92464b5a84f1dfcefcac9b447aa38abe2315f99, respectively. The underlying raw archives and full rerun package are not hosted here.

The public research snapshot contains the scientific algorithms, tests, frozen specification, sealed result and semantic verification. A full independent replay requires the exact source bytes and access to the separate private research-platform dependency. The snapshot’s sanitized module path differs from the original sealed implementation identity.

Data attribution and reuse. The source candles are from Binance Vision BTCUSDT spot one-minute archives. I calculated absolute log returns, normalized them within hours and aggregated the resulting values into the profiles and charts. These derived profile values and charts are offered for noncommercial reuse under CC BY-NC-SA 4.0, with attribution to Binance Vision and Backtest Discipline and share-alike for covered adaptations. Binance’s Vision Dataset Terms and general terms also apply. This notice does not relicense unrelated article text or research code, and Binance did not endorse the analysis. Applicability to publication and redistribution remains subject to rights review.

Frozen decision rule

The lower bound cleared zero

The single predeclared hypothesis concerned the first-minute contrast. Quarter-hour and five-minute patterns were descriptive.

One-sided 95% lower bound strictly above zero PASS

Inspect the evidence

Selected preserved artifacts

The profiles and validation result are selected, sanitized extracts; their displayed hashes identify the public files, while source-artifact hashes inside them identify the original study outputs. The semantic verification file is byte-identical to the sealed original. These files omit the raw data and do not constitute a complete rerun package.

These excerpts support inspection of the reported work; they are not a complete package for independently rerunning the experiment. Read the evidence policy.