Start with an identifiable dataset

The July baseline uses archived Binance spot candles and Alpaca stock data. Every selected audit records its date range, usable candle count, data-quality checks, venue calendar, and fixture identity.

Checks cover duplicate timestamps, ordering, incomplete bars, positive prices, OHLC consistency, and unexplained gaps. A content hash identifies the archived input. This prevents a later dataset revision from quietly changing the meaning of an old result.

Walk forward without resetting reality

The baseline uses six-month training/context windows and one-month test windows. Parameters are fixed; this is not a claim that the strategy is refitted or optimized every month.

The corrected continuous-state engine preserves indicators, open positions, capital, and Turtle skip state across calendar boundaries. Trades belong to the out-of-sample window in which their entry decision occurred. A trade is not counted again merely because it crosses a month boundary.

Full-period diagnostic trade counts are not interchangeable with exact out-of-sample counts. Returns are evaluated on daily equity observations using the appropriate venue calendar.

The formulas in the code

These definitions describe our implementation. Units and assumptions matter as much as the equation.

Daily return

rₜ = Eₜ / Eₜ₋₁ − 1

E is the last equity observation of the UTC day for crypto, or an observed stock session. Missing weekends are not inserted as zero stock returns.

Worked exampleWorked case · the V6-04 ETF study, its first two session valuationsE₀ = 10,000.00 (31 Jan 2018) E₁ = 9,998.95 (1 Feb 2018)r₁ = 9,998.95 / 10,000.00 − 1 = −0.000105 = −0.0105 %2,121 valuations give 2,120 daily returns. Every statistic below is built from that list.

Annualized Sharpe

SR = mean(r) / s(r) × √A

s is sample standard deviation (n − 1). A is 365 for crypto and 252 for stocks. This implementation uses raw returns without a risk-free-rate adjustment. Fewer than two returns or nonpositive dispersion produce 0, which is not evidence of an edge.

Worked exampleWorked case · the same 2,120 ETF-study returns (US sessions, so A = 252)mean(r) = 0.0000673 s(r) = 0.0010696 √252 = 15.875SR = 0.0000673 / 0.0010696 × 15.875 = 0.9986This is the 0.999 the study recorded. The benchmark it had to beat scored 1.225, so the candidate failed that gate.

Maximum drawdown magnitude

MDD = maxₜ [1 − Eₜ / maxᵤ≤ₜ(Eᵤ)]

The largest decline from a prior equity peak. The public table displays a positive loss magnitude; some engine functions retain the signed negative drawdown internally.

Worked exampleWorked case · the ETF-study equity curveHighest prior peak: 10,788.78 on 9 Nov 2021Lowest point after it: 10,428.55 on 27 Jan 2022MDD = 1 − 10,428.55 / 10,788.78 = 0.0334 = 3.34 %The study recorded 3.34 %. A 33.4 % drawdown on an hourly crypto rule (BTC 1h) is the same formula on a very different curve.

Profitable out-of-sample windows

Positive windows / Eligible windows × 100

A window is evaluated using disjoint entry-attributed trade P&L. This is not the percentage of winning trades.

Worked exampleWorked case · SPY daily EMA/RSI, the archived July 2026 audit113 eligible one-month test windows; 47 closed with positive attributed P&L47 / 113 × 100 = 41.6 %Fewer than half of its months made money, which is one reason a positive Sharpe of 0.535 was not enough to promote it.

Deflated Sharpe probability

DSR = Φ((SR − SR*) √(n − 1) / √(1 − γ₃SR + (γ₄ − 1)SR²/4))

SR* estimates the best Sharpe expected from the recorded trials under the no-skill benchmark. γ₃ is skewness and γ₄ is kurtosis. Inputs use per-observation Sharpe units. Insufficient observations or an invalid variance estimate return no estimate. The recorded gate is at least 0.95.

A positive result can still fail

The V6-04 multi-horizon trend study evaluated 12 selected ETFs across 102 month-end decisions. It records 2,120 session returns from 2,121 equity valuations, ending 10 July 2026.

The registered constrained portfolio passed 11 of 12 checks but did not beat the static risk-balanced benchmark’s Sharpe. The verdict was baseline-only: useful risk control, without demonstrated benchmark edge.

Constrained ETF portfolio

Historical simulation · 2018–2026

ARCHIVED · V6-04 · JUL 2026951011081141202018-01-312026-07-10
Equity rebased to 100 at the first recorded valuation. All 2,121 archived valuations are plotted. Simulation, not live performance.
Same-study benchmark comparison · Total return over the full period, not annual return
PortfolioTotal returnSharpeMax DD
Constrained trend15.19%0.9993.34%
Equal weight64.63%0.86914.35%
Static risk balanced20.24%1.2254.45%
Faber monthly65.08%0.89811.47%

11/12 checks passed. Benchmark edge failed. Retained as a baseline, not promoted.

Selected ETF slate: BIL, EEM, EFA, GLD, IEF, IYR, PDBC, SHY, SPY, TIP, TLT, UUP. This universe is not point-in-time or survivorship-free.

What this evidence cannot establish

The ETF slate is selected today rather than a point-in-time, survivorship-free universe. Adjusted provider histories can be revised in later snapshots. These limitations remain attached to the result.

The July baseline artifacts predate the later per-trial out-of-sample return-series field required for PBO evaluation. Those old files cannot be treated as passing a modern overfitting gate without new evidence.

No historical simulation proves future returns. We do not combine the paper book with live performance, hide failed trials, or replace missing evidence with zero.