DUCKQUANT / THE QUANT & AI DIRECTORY

FMZ MA21 crossover — daily long/cash

Public rule reference · Public source variant

Published variant · FMZ · source checked 2026-10-25

Strategy research profile

Strategy overview

A single moving-average boundary turns a directional market view into a transparent long-or-cash decision. It buys only when price crosses the 21-period average, so a price remaining above the line does not generate repeated entries.

Strategy style
Trend following
Rule family
Public source variant
Source platform
FMZ
Source attribution
ChaoZhang
Source example / declared timeframe
1d
Benchmark timeframe
1D · completed bars
Primary tested assets
Bitcoin · GLD gold ETF · QQQ Nasdaq-100 ETF
Supplementary asset
Ethereum · Binance spot
Direction / sizing
Long / cash · all available cash at entry
Evaluation window
2024-01-01 → 2025-12-31
Indicator warm-up
Crypto 2022–2023; ETFs Jun 2021–2023
Execution
Next daily open · fractional units
Initial capital
10,000 quote units · USD or USDT

Source attribution and native timeframe are transcribed only from hash-matched reviewed source text. These are source example/declaration values, not verified authorship or the timeframe of this benchmark.

Theoretical basis

Persistent directional movement can keep a smoothed trend state aligned with price. Smoothing reduces short-term variation but delays both entry and exit.

Market-regime hypothesis

Sustained directional moves with limited back-and-forth crossing.

DuckQuant editorial interpretation of the rule. These mechanisms and regime expectations are hypotheses, not independently established explanations of the measured returns.

Risks and failure modes

Sideways whipsaws, late reversals and overnight gaps can erode a lagging trend filter.

  • A retrospective two-year window and ETF proxy choices do not establish general robustness.
  • Daily-open fills omit order-book depth, lot constraints, taxes and intrabar stop behavior.
  • Related rules and identical execution paths are not independent evidence.

Exact rule

Long on close crossing above SMA21; cash on downward cross.

Indicators and rule tokens

SMA21

All thresholds, lookbacks and timing conventions are specified in the exact rule above and the downloadable adapter. Source platform settings do not override this frozen benchmark rule.

Original source

View original public source ↗ · View source code at the reviewed commit ↗

Reviewed source SHA256: a6aac23b0443fbea372ffe5297729ae9db702ed1ee91c19c00240db4d2b8064c

Reading and theoretical references

Adaptation and interpretation

Daily bars replace original interval; short signals become cash; all-in sizing, costs and next-open fills use DuckQuant protocol. Intrabar exits, pyramiding and venue-specific orders are not reproduced. This is not the original platform strategy performance.

These are normalized daily long/cash rule tests. They do not reproduce every original platform order, risk control or indicator initialization. Indicator-rule references are explicit interpretations of teaching documentation, rather than complete original published systems.

Standardized backtest results

2024-01-01 → 2025-12-31 · crypto 2022–2023 / ETF Jun 2021–2023 warm-up · 10,000 quote units initial capital · 10 bps fee + 5 bps adverse slippage per side · completed-bar signals, next-open execution.

FMZ MA21 crossover — daily long/cash — actual Bitcoin, gold ETF and Nasdaq-100 ETF backtest report, equity, drawdown and monthly returns
Actual browser capture of the DuckQuant standardized backtest report · captured 2026-10-25. Teal equity is the strategy; dashed equity is same-asset buy and hold with the same modeled costs. Monthly cells follow the continuous account; annual subtests restart cash. This is our measured report, not an original-platform screenshot. Open the image for full-resolution inspection. Download this report's data.
Asset cohorts rank independently by net daily Sharpe. Annual subtests restart in cash; cost stress doubles fees and slippage.
AssetRank / 100Net returnCAGRMax drawdownSharpeOrders2024 restarted return2025 restarted returnDouble-cost return
BTCUSDT6623.14%10.95%-33.56%0.478253.77%-19.92%8.88%
GLD6036.84%16.95%-12.82%1.10666.65%28.31%23.94%
QQQ6213.31%6.44%-11.46%0.546010.65%2.40%3.56%
ETHUSDT4524.68%11.64%-44.89%0.466437.05%-9.02%13.27%

Additional measured diagnostics

AssetAnnualized volatilitySortinoCalmarvs buy & hold (pp)Double-cost drag (pp)Longest underwater (days)
BTCUSDT34.21%0.720.33-83.5314.25388
GLD15.46%1.591.32-69.5512.90160
QQQ13.20%0.740.56-38.999.75169
ETHUSDT48.57%0.750.26-5.1611.41495
Metric definitions and unavailable statistics
annualized volatility
Sample standard deviation of daily equity returns, including initial cash, multiplied by sqrt(365) for crypto or sqrt(252) for ETFs.
sortino
Mean daily return / sqrt(mean(min(return,0)^2)) × sqrt(asset annualization sessions); minimum acceptable daily return 0; N/A without downside.
calmar
Evaluation CAGR / absolute evaluation maximum drawdown; N/A with zero drawdown.
relative return pp
Strategy total net return minus same-asset buy-and-hold total net return, in percentage points; not factor-adjusted alpha.
cost drag pp
Base net return minus doubled-cost net return, in percentage points.
longest underwater days
Longest observed calendar duration from a daily equity peak until a later below-peak close, including initial cash. Unrecovered runs are censored at sample end; closed-market days between observations count as calendar time.
monthly returns
Continuous account month-end equity change from preceding month-end (initial cash for first month); differs from yearly cash-restart subtests.

Orders are entry/exit operations. Round-trip win rate, profit factor and trade-level holding periods are not available in the stored run and are not estimated.

Primary coverage: BTCUSDT, GLD gold ETF and QQQ Nasdaq-100 ETF; ETH is supplementary. ETF prices are raw traded USD OHLCV. Dividend entitlements accrue for prior-close holders and settle on official payment dates; paid dividends remain cash until a later entry, with no automatic reinvestment. Sharpe uses 252 ETF sessions or 365 crypto days. CAGR uses 731 calendar days. Gold spot and the Nasdaq-100 index are represented by traded proxies; USD and USDT are not FX-normalized.

Retrospective historical comparison; no sealed out-of-sample validation or future return claim. Read the complete evaluation protocol.

Data and reproduction

GLD gold ETF results · QQQ Nasdaq-100 ETF results · Asset definitions and data conventions

BTC daily equity JSON · ETH daily equity JSON · Source registry · Download engine, data and tests

Strategy identifier: fmz-ma21

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.