Beta
BG Lab
On-chain rules, tested honestly against history. Every rule reads as one sentence: hold BTC while it is true, stay in cash otherwise.
Log in to see the rules
The rule catalogue, today's signals and the equity curves are available to users with an active BGeometrics account.
Long BTC today
/
rules, data as of
Buy & hold, unseen period
since , Sharpe
Price momentum, unseen period
BTC price > MA(50), Sharpe
"Unseen period" is the most recent ~20% of history, never used to select the rules. "Not luck" is the Deflated Sharpe probability: the usual bar is 95%, and no rule reaches it yet.
What it is
BG Lab automatically searches for simple rules based on Bitcoin on-chain metrics, such as "MVRV Z-Score below X" or "SOPR RSI(30) above Y", and checks how they would have performed in the past. No black boxes: every rule reads as a single sentence you can verify yourself.
How a rule works
- Every day, at the close, the rule says in (hold BTC) or out (stay in cash).
- The position is taken the next day, so no information that wasn't available at the time is ever used.
- Each change of position pays a 0.1% fee.
- Results are always compared with buy & hold BTC.
How rules are found
We start from around 40 BGeometrics metrics covering valuation, holder profitability, mining, exchanges and derivatives. Each one is used in a few simple forms (raw value, z-score, percentile, RSI and ratio to its moving average), and the engine tests thousands of thresholds and combinations every day.
Why you can trust it (and why not completely)
When you test thousands of rules, some will look good by pure chance. That's why every rule must pass several filters:
1
Unseen data
Rules are selected using only the oldest 80% of history. The most recent 20% (since March 2024) is held out and never used to pick anything, so it shows how a rule behaves on data it has never seen.
2
Walk-forward testing
A rule has to beat buy & hold in at least 3 of 4 separate periods, not just in one particular cycle.
3
Threshold stability
If a rule only works at 1.71 and fails at 1.65 or 1.80, it is discarded. Neighbouring thresholds must work too.
4
Minimum activity
At least 12 entries in the selection period, between 15% and 90% of the time in the market, and at least one entry in the last year.
5
Beat momentum
Most on-chain rules end up tracking price. A rule must beat a plain "BTC price above its 50-day average" rule, not just buy & hold.
6
Penalty for multiple testing
The Deflated Sharpe Ratio adjusts each result for the number of rules tested, so you can see how much of the performance could simply be luck.
Live tracking
Thresholds are frozen the day a rule enters the catalogue. From then on you see its real performance against buy & hold, with no after-the-fact tuning. That is the only test that can't be overfitted.
API
The same data is available through the BGeometrics API: /v1/lab/rules,
/v1/lab/rules/{ruleKey}, /v1/lab/pulse and
/v1/lab/run/last. See the
API documentation.
Disclaimer. A rule that worked in the past may stop working. Some on-chain metrics are revised over time, so backtests may be somewhat optimistic. BG Lab is an analysis tool, not investment advice.