Family outcome Not met
SMA12 cumulative return +284.30%
Buy-and-hold cumulative return +729.21%
SMA12 annualized return +24.02% buy-and-hold +40.24%
SMA12 log-return Sharpe 0.552 buy-and-hold 0.593
Primary cost 15 bps / leg
Primary-member decision SMA12

Reading the result

How to read these numbers

The headline metrics answer different questions. These short definitions are the interpretation used on this page, not additional evaluation criteria.

Cumulative return

The full-path percentage return after the frozen 15 bps-per-leg primary cost. A positive cumulative return was not enough to meet this study's relative criterion.

Mean excess return

Mean daily net log return of a member minus its identically costed buy-and-hold benchmark. Both frozen members had negative reported means.

HAC lower bound

The one-sided 95% HAC lower bound for mean daily excess log return, using the frozen 20-day lag. Both member bounds were negative.

Primary member

SMA12 was the paper-highlighted daily result and the decisive member under the frozen primary-plus-robustness family rule. SMA24 remained visible as robustness evidence but could not rescue SMA12.

The result in one sentence

The paper-highlighted daily SMA12 did make money in this evaluation. After the frozen primary cost, it returned +284.30%. But identically costed buy-and-hold returned +729.21%, and the daily excess-return evidence was negative.

SMA12 therefore did not meet the frozen excess_return_v2 criterion. The retained SMA24 member also did not meet it. The completed family closed DID_NOT_MEET_CRITERIA.

The useful lesson is not that a positive return proves a strategy worked. The question was whether the published primary rule established excess return over the benchmark named in advance.

What the original paper reported

Marina Resta, Paolo Pagnottoni and Maria Elena De Giuli examined technical analysis in Technical Analysis on the Bitcoin Market: Trading Opportunities or Investors’ Pitfall?, published in Risks on 6 May 2020.

The paper used Bitcoin HLOC data available through Kaggle, covering 1 January 2012 through 20 August 2019. It evaluated moving-average trading signals in separate three-month windows, reporting annualized return, Sharpe, downside and spread measures. It describes the daily 12-time-unit simple moving average, SMA12, as its best daily SMA result; SMA24 was retained here as a published descriptive robustness member.

The source’s result is a historical claim under its own data and signed-return construction. This study does not reconstruct that calculation.

This was a later historical validation, not a literal reproduction or forward test

The frozen question was:

Do the published daily SMA12 and SMA24 parameterizations, with SMA12 as the paper’s primary daily SMA result, meet the frozen Strategy Lab primary-member excess-return criterion versus identically costed buy-and-hold on Binance Spot BTCUSDT over [2020-06-01, 2026-09-01)?

The interval begins after the paper’s publication and after its stated market sample. It is therefore a post-publication, out-of-sample validation. It was still evaluated from historical data that existed before the research specification was frozen. It was neither a live trial nor a genuinely forward-running observation.

The material substitutions were declared before evaluation:

DimensionSource studyFrozen Strategy Lab validation
Sample periodBitcoin data through 20 Aug 2019, reviewed in separate windows1 Jun 2020 through 31 Aug 2026
Source dataKaggle Btc1d HLOC seriesChecksum-verified Binance Public Data Spot daily archives
Market proxyBitcoin series not specified as Binance BTCUSDTBinance Spot BTCUSDT
Signal and exposureCrossover signals with signed-return payoffCompleted close strictly above SMA: LONG; otherwise FLAT; no short position
ExecutionNot a Strategy Lab execution contractSignal after close, change at next UTC daily open
AccountingSigned continuous returns in separate windowsFractional all-in LONG/FLAT USDT accounting; FLAT cash unchanged; terminal liquidation
Costs and criterionSource performance measures15 bps per executed leg primary cost, 20/25 bps diagnostics, and excess_return_v2

One source ambiguity also remains visible: its displayed moving-average equation and prose describe the lookback window differently. This validation follows the unambiguous SMA12 and SMA24 labels and the source prose for the horizons. It does not claim to resolve that equation ambiguity.

What was frozen before evaluation

Both members used daily BTCUSDT bars, a common evaluation interval, LONG/FLAT exposure, next-daily-open execution, fractional all-in accounting with terminal liquidation, and an identically costed buy-and-hold benchmark. The primary cost was 15 basis points per executed leg; 20 and 25 bps were descriptive sensitivity checks.

MemberRoleLookbackWarm-upDecision role
sma_12Paper-highlighted daily SMA12 days12 daysDecisive primary member
sma_24Published daily SMA24 days24 daysReported robustness member

The frozen primary_plus_robustness decision rule made sma_12 decisive. The criterion was a positive mean daily excess log return and a positive one-sided 95% HAC lower bound relative to identically costed buy-and-hold. sma_24 was kept in its original order and reported in full, but was never a substitute for SMA12.

The shared dataset contained 2,308 normalized daily rows, from 8 May 2020 through the 1 September 2026 terminal-support candle. The earliest rows supply the longer 24-day warm-up; each member starts independently FLAT at the common first evaluation open.

Both results were positive in isolation and negative against the benchmark

At the frozen 15 bps-per-leg primary cost, buy-and-hold returned +729.21% cumulatively and annualized at +40.24%. Its log-return Sharpe was 0.593 and maximum drawdown was −76.63%.

MemberRoleCumulative returnMax drawdownOutcome
sma_12Decisive primary+284.30%−60.43%DID_NOT_MEET_CRITERIA
sma_24Reported robustness+199.95%−68.14%DID_NOT_MEET_CRITERIA
Buy-and-holdBenchmark+729.21%−76.63%Benchmark

The charts below show the annualized-return comparison and the frozen excess-return evidence. The deterministic factual report retains the full primary-cost table, including log Sharpe and closed trades. The mean-excess and lower-bound chart values convert the exact daily-log-return decimals in the publication handoff to basis points per day for readability; they do not re-estimate the study.

SMA12 had a materially shallower maximum drawdown than the benchmark, −60.43% versus −76.63%. That is a descriptive risk characteristic, not a replacement for the frozen relative-return criterion. SMA12’s mean daily excess log return was −3.3686 bps/day, and its one-sided 95% HAC lower bound was −9.9447 bps/day. The decisive member did not meet the test.

SMA24 also had a positive standalone return but lower return, lower Sharpe and a negative mean-excess estimate and lower bound. It supplied no conflicting evidence about the primary-member result.

What the family outcome means

The supported conclusion is:

the frozen Resta, Pagnottoni and De Giuli daily SMA12 primary member did not establish the declared excess-return claim over identically costed buy-and-hold on Binance BTCUSDT during the 2020–2026 historical validation, under Strategy Lab’s stated data, execution, accounting, cost, benchmark and statistical conventions. SMA24 also did not meet that criterion.

DID_NOT_MEET_CRITERIA does not establish that moving-average strategies are universally unprofitable, that the source paper was wrong, or that every market, position model, cost model or evaluation period would give the same outcome. The historical simulation also does not establish future profitability or live execution feasibility.

Evidence and limits

The normalized dataset is bound by SHA-256:

f3c2508b4548100c17d8dc63dcc3afb7fbf2cc5d693a0ba9c21eb884c5038f64

The frozen family identity is:

ff5152547e2c7a31376fef446bd733289cf40854e5ed196e15eaa2f24d7a7502

The selected public evidence preserves the frozen research declaration, authoritative publication handoff and byte-identical factual report. It deliberately excludes raw provider archives, binaries and private runner material. The files permit inspection of selected evidence; they do not provide a complete independent rerun package.

The members share one BTCUSDT series and overlapping lookbacks, so they are strongly dependent. The frozen primary-plus-robustness rule is a declared decision rule, not a calibrated family-level confidence test. These limits define the scope of the conclusion rather than weakening the need to report the unfavorable result.

Continue reading

Frozen decision rule

The decisive SMA12 member failed; SMA24 could not rescue it

The frozen primary-plus-robustness rule made SMA12 decisive. It had to meet excess_return_v2 against identically costed buy-and-hold. SMA24 was retained as a reported robustness member, and it also failed, but no favorable SMA24 result could have replaced a failed SMA12 decision.

SMA12 primary member meets excess_return_v2 FAIL
SMA24 robustness member meets excess_return_v2 FAIL
Primary-plus-robustness family decision FAIL

Annualized return at 15 bps per leg

Chart enhancement unavailable. The exact values are listed in the article table.

Both moving-average members had positive annualized returns at the primary 15 bps-per-leg cost, but the identically costed buy-and-hold benchmark annualized at 40.24%, above both.

Excess-return evidence

Chart enhancement unavailable. The exact values are listed in the article table.

The reported mean daily excess log return was negative for both members, and both one-sided 95% HAC lower bounds were further below zero. Values are the publication-handoff decimals scaled to basis points per day for display.

Inspect the evidence

Selected preserved artifacts

These selected public evidence files preserve the CLOSED Strategy Lab evaluation. The JSON handoff and research specification are whitespace-compacted publication copies of the attached authoritative files; their JSON content is unchanged, while the displayed SHA-256 values identify the served compact copies. The authoritative publication handoff SHA-256 is `f45b2c2d790db8ebeb7f908be73799a2ef9d80f1219bd305bc9fb11f9fca5828`. The factual report is byte-identical to the renderer-produced report. Raw Binance archives, binaries and private runner material are not republished here.

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