# We re-ran three quants.md strategies on six crypto majors: none came close to just holding the coins

Source: trenchbook.app · filed Nov 1, 2026, updated Nov 1, 2026 · https://trenchbook.app/dispatch/quants-md-strategies-crypto-fees-check

> There is no official trenchbook token or contract address (CA). Anyone selling one is not us.

**In short:** Checked 31 October 2026. quants.md calls itself "the open library of trading strategies", with "tested strategies with nothing hidden" run "on public data with modelled costs". Its open backtester charges 1 basis point (0.01%) per trade by default in its weights mode, which suits large US ETFs; on crypto majors a more realistic cost is about 15 basis points per side. On six crypto majors (Solana, Bitcoin, Ether, NEAR, Dogecoin and Avalanche) from 4 December 2020 to 30 October 2026, at 15 basis points, the library's vol-targeted trend strategy (W17) made about 1.6% a year, its dual momentum strategy (W04) lost about 78% in total, and its trailing-stop trend strategy (O09) lost about 3.3% a year. Buying the six coins once in equal amounts and holding them, with no costs, made about 58% a year. Caveats: this is one six-year period that was mostly rising, which flatters holding; these are 3 of the library's 50 strategies, chosen because they fit crypto majors; the library was built for other markets; and none of this is advice.
What we checked, and what we didn't. This is one past period, about six years, on six coins that are still large today, and most of it was a rising market. That flatters simply holding the coins, and a different period could look different. We ran 3 of the library's 50 strategies: the ones that can be pointed at crypto majors. The rest are built for US stocks, bonds, FX and futures, or for intraday bars. None of this is a recommendation to trade or hold anything.
What the library says. quants.md, from QuantJourney, describes itself as "the open library of trading strategies": "Tested strategies with nothing hidden: the full backtest, a results dashboard and the Python that produced it." It says the strategies are "simple, readable rules run on public data with modelled costs", that "Several lose money on purpose to show how an idea fails", and that "nothing here is investment advice." The code is free under the Apache-2.0 licence. Its backtester's weights mode [charges](https://github.com/QuantJourneyOrg/quantjourney-bt/blob/16fe1ac/backtester/portfolio/weight_cost.py) 1 basis point (0.01%) per trade unless a strategy sets its own cost, and the [three strategies](https://github.com/QuantJourneyOrg/quantjourney-bt/blob/16fe1ac/strategies/example_weights_17_vol_target_trend.py) we ran don't set one in weights mode. That is close to what trading a large US ETF costs. On the library's own ETF universes, over 19 to 25 years, its site shows W17 at about +5.35% a year, W04 at about +2.66% a year and O09 at about +1.06% a year.
How we re-ran it. We used the library's own open-source backtester and the strategies' own default settings, unchanged, fed with real daily prices from OKX for six crypto majors: Solana, Bitcoin, Ether, NEAR, Dogecoin and Avalanche. The data runs from 4 December 2020 to 30 October 2026, 2,157 days on which all six had a price. We set costs to 15 basis points (0.15%) on every buy and every sell, our usual cost assumption for trading these coins, and also ran 1 basis point to compare. For O09, which uses orders, we replaced the library's 5 basis points of slippage and per-share commission with 15 basis points of slippage. We didn't create a QuantJourney account, so we supplied the prices through the backtester's own sample-data hook. A separate, simpler calculation of the same trend rule, written independently of the library, landed in the same low single digits (about 3.8% a year rather than 1.6%, because it measures volatility and month-ends slightly differently).
What came out. At 15 basis points: W17, the trend basket scaled to a 10% volatility target, made about 10% in total, or about 1.6% a year, with a worst fall of about 28%. Its volatility target kept it mostly in cash on coins this volatile. W04, dual momentum, lost about 78% in total, about 23% a year: it sat in cash for its first 12 months, then bought the two strongest coins near the late-2021 top and held them through the 2022 fall. O09, a trend entry with a 4% trailing stop, lost about 18% in total, about 3.3% a year, over 280 trades: a 4% stop is about one ordinary day's move for these coins. At 1 basis point the results were nearly the same, so fees weren't what sank them; the rules, built for ETFs, simply don't fit coins this volatile.
Against holding. Buying the six coins once in equal amounts and holding them, with no costs, made about 1,393% in total, about 58% a year, with a worst fall of about 88%. Holding Bitcoin alone made about 27% a year. Every strategy here gave up most of that return; W17 and O09 did it in exchange for much smaller falls. In a falling market the comparison could flip.
This isn't a finding about the library's code. It is free and readable, and its own pages say several strategies lose money by design. It just wasn't built for these markets, and a 1 basis point default fits ETFs, not crypto.

## What we don't know

- How these rules would do in another period, especially a long falling market.
- How the library's other 47 strategies would do on crypto; most are built for markets crypto doesn't resemble.
- Results with QuantJourney's own data feed, which needs an account we didn't create.

## The claims, checked

- "Tested strategies with nothing hidden" run "on public data with modelled costs" (quants.md (QuantJourney)): **holds**. It holds as stated: the code is open, runs as described and models costs. Its weights-mode default cost is 1 basis point per trade, which suits US ETFs; on six crypto majors at 15 basis points, none of the three strategies we ran came close to holding the coins over 2020-2026. [quants.md](https://quants.md) [Default cost in the backtester (weight_cost.py)](https://github.com/QuantJourneyOrg/quantjourney-bt/blob/16fe1ac/backtester/portfolio/weight_cost.py) [Default wiring (core.py)](https://github.com/QuantJourneyOrg/quantjourney-bt/blob/16fe1ac/backtester/core.py)

## Sources

- project: [quants.md, the strategy library's site](https://quants.md)
- project: [quantjourney-bt source at the commit we ran (Apache-2.0)](https://github.com/QuantJourneyOrg/quantjourney-bt/tree/16fe1ac)
- project: [W17 strategy file](https://github.com/QuantJourneyOrg/quantjourney-bt/blob/16fe1ac/strategies/example_weights_17_vol_target_trend.py)
- project: [W04 strategy file](https://github.com/QuantJourneyOrg/quantjourney-bt/blob/16fe1ac/strategies/example_weights_04_quarterly_dual_momentum.py)
- project: [O09 strategy file](https://github.com/QuantJourneyOrg/quantjourney-bt/blob/16fe1ac/strategies/example_orders_09_trailing_stop_trend.py)
- api: [OKX candles API (daily prices)](https://www.okx.com/docs-v5/en/#public-data-rest-api-get-candlesticks-history)
