Some seasons, the best thing to do with bitcoin is nothing.
Fallow is a weekly rotation strategy across BTC, ETH and three Bitget rTokens: the S&P 500, gold and long Treasuries. It holds whichever are trending and keeps the rest in USDT. It trades spot only and uses no leverage.
The name is a farming word. A fallow field is one you leave unplanted until it is worth sowing again.
See this week's holdings Where it loses
- No account or key needed
- Every number rebuilds in two commands
Reading the fields…
For judges
Bitget AI Base Camp Hackathon S2. Track: Alpha Factory. Sub-theme: Cross-Asset Allocation / Rotation.
- Instruments
- BTCUSDT, ETHUSDT, RSPYUSDT, RGLDUSDT and RTLTUSDT, all Bitget spot. Cash is USDT.
- Signal
- Time-series momentum. For each asset, the share of four lookbacks (21, 63, 126 and 252 days) with a positive return.
- Sizing
- Each asset gets an equal slice of a 15% yearly volatility target, scaled by its signal and its 60-day volatility. Exposure is capped at 100%, and every position is long.
- Rebalance
- Weekly. The signal is read at midday on Monday in New York and traded one daily bar later.
- Costs
- 15 bp for each unit of turnover.
- Test
- Bitget daily candles, . The rule was fixed on data to December 2023. January 2024 onward is out of sample and was run once.
| Sharpe | Sortino | Max drawdown | CAGR | Turnover / year |
|---|
These two commands rebuild every number on this page:
python3 -m fallow fetch
python3 -m fallow report
What Fallow holds this week
Your Monday list
Enter your account size and a volatility target. The list is what to hold this week and what it costs to get there.
I already hold some of these
Enter what each is worth in USDT today, and the list turns into the trades that get you to this week's plan.
| Hold | Share | Amount | Trade | Cost right now |
|---|
Costs are read from Bitget's public order books the moment you load the page. rToken books are deepest while New York is open. This page is a calculator and places nothing.
How the weights are set
-
01
Score the trend
The rule asks whether the price is higher than it was one, three, six and twelve months ago. Each yes adds a quarter to the asset's score. Four out of four means a full position, and none means the asset is not held.
-
02
Size by volatility
Every asset held should carry about the same risk. Bitcoin swings hard, so it rarely gets more than a tenth of the account, even in a good run. The account as a whole targets volatility of about 15% a year.
-
03
Keep the rest in USDT
Whatever is not allocated stays in USDT. Fallow never borrows and never shorts. The weights are set once a week from Monday's midday price in New York and traded a day later.
Every weekly allocation since 2019
Each column is one week. Colour means the asset was held that week, and the paler it is the smaller the position. Move across it to read any week.
The record, 2019 to 2026
Holding bitcoin has meant sitting below its high at the worst point. Fallow's worst was .
The cost is growth. Bitcoin grew far more over the same years, as the next chart shows. If you can sit through a fall without selling, you do not need this.
Against holding bitcoin
| Sharpe | Sortino | Max drawdown | CAGR | Turnover / year |
|---|
Out-of-sample Sharpe is of in-sample. Bitget's handbook treats anything under 0.5 as a warning.
Start on any day and hold for a year
There were possible one-year stretches in the record. This is how they ended.
| Ended positive | Worst | 10th percentile | Median | Best |
|---|
Bitcoin's five worst falls
The same dates, for both.
| From | To | Holding bitcoin | Fallow |
|---|
Year by year
What the rTokens add
Until June 2026 a trend rule on Bitget had two places to put money: crypto or USDT. With the S&P 500, gold and Treasuries listed as rTokens, there are five. Here is the same rule run both ways on the out-of-sample years.
Sharpe ratio, January 2024 to October 2026, after 15 bp costs.
Where it loses
These are the things that should make you hesitate.
How much the settings matter
We ran versions of the rule with different lookbacks, volatility windows, risk budgets and rebalance days. Each tick is one version's out-of-sample Sharpe. The tall mark is the version on this page.
How to reproduce it
Everything here comes from Bitget's public candle API and about 500 lines of Python with no dependencies.
python3 -m fallow fetch # daily candles for nine symbols
python3 -m fallow report # every number on this page
python3 -m fallow plan # this week's weights
python3 -m unittest discover tests
Things to know about the data
- Bitcoin and ether candles are Bitget spot, from July 2018.
- rToken spot pairs went live on . Bitget serves earlier candles for those symbols too. They are the price of the underlying fund, without dividends.
- Daily bars open at 16:00 UTC. A day when New York is shut carries the last price forward.
- USDT earns nothing in the backtest.
- Costs are 15 bp for each unit traded.