Can we time the Bitcoin cycle?The case for Dollar Cost Averaging (DCA)Most people discover Bitcoin during a bull market, invest money, get discouraged during the bear market and sell. As a result, they can lose in USD terms even though they have invested in an asset with a huge average trend growth. Investing the same amount in Bitcoin every month is an easy rule to follow. It saves you the mental load of thinking about when and how much to invest and prevents you from buying at the euphoric top and selling at the depressed bottom.
The case for countercyclical buyingHowever, if we could be reasonably sure that Bitcoin were near the top or near the bottom, we could invest accordingly. For example, we could stop DCA during the euphoria and double DCA during the bear market. Or we could sell some of our bitcoin close to the top and buy back close to the bottom. This would be a modified DCA strategy.
In this article, I attempt to develop a reasonable strategy for the timing of bitcoin cycles.TL;DR: A smart and disciplined investor can outperform a simple dollar cost average strategy, by buying Bitcoin depending to its price cycle. If Bitcoin is cheap (40% below trend), I would take a full position. If Bitcoin's price is expensive (more than 750 days ahead of trend), I would not add to my position and possibly even trim my position. If Bitcoin is neither cheap nor expensive I would dollar cost average into Bitcoin.
Seperating Trend and cycleMy Bitcoin price history dates from 16.07.2010 (0,07€) to now 20.03.2024 (64.000€) and price increase of six orders of magnitude 10^6. There seems to be an uptrand of higher highs and higer lows.
There seems to be an upward trend with some movement around the trend. Which function could describe this trend? I perform a logarithmic transformation on both axes of my chart. The new y-axis is
ln(Bitcoinprice_in_EUR) and the x-axis is the ln number of days since the Bitcoin genesis block
ln(Date - 03 Jan 2009).
The in ln-space the Bitcoin price follows the trend:
y = 5,8323x - 39,296This translates into (=
black line):
Bitcoin_price_in_EUR = e^[ 5,8323 * ln(Date - 03.Jan.2009) - 39,296 ]Making the graphs easier to followA Bitcoin price in ln(EUR) and a Bitcoin age in ln(days) is easy to draw, but difficult to understand. Therefore I added the Bitcoin price in EUR and the calendar year.
Interestingly, the Bitcoin price does not seem to fall more than 1 below the trend (=
red line).
Bitcoin_price_in_EUR_low = e^[ 5,8323 * ln(Date - 03.Jan.2009) - 39,296 -1]This chart is similar to the bitcoin rainbow charts produced by others*. We can now subtract the observed price from the trend to separate the cyclical component of the bitcoin price from the trend component.
*https://www.blockchaincenter.net/en/bitcoin-rainbow-chart/
A graph of -1 on the y-axis means the Bitcoinprice was 63% below trend.
If the trend was 10.000€, then the Price at -1 would be at 3679, since
exp(-1) = 0.36 .
Can we use the cycle information to buy at a low price and sell at a high price?A quick back-of-the-envelope chart shows us that there may be value in knowing whether bitcoin is currently cheap or expensive. If we buy bitcoin when it is expensive, we can expect a worse return than if we buy it when it is cheap.
Even in recent history, the rule remains that "the cheaper you buy your bitcoin, the better":
Can we find some trading rules when to buy Bitcoin and when to sell Bitcoin to outperform DCA?
Finding the bottoms of the cycleWe can see that all the bottoms (except the first one on 04 Feb 2011) are between 0.5 and 1.0 below the trend:
To see the exact bottoms, I have zoomed into this chart at 0.5 to 1.0 below trend. Especially between -0.7 and -1.0 there are many bottoms. Only one bottom is lower than -1.0.
We now have a pretty good understanding of where the bottoms are. However, this assumes that the shape of the function and the parameters are stable going forward. Later I will show that the parameters are quite stable.
When we are between 0.5 and 1.0 below the trend, it has always been a good time to invest in bitcoin, because bitcoin has managed to come back to the trend every time until today. Your return has been quite nice as you have received bitcoin trend growth + catching up to the trend line.Overvaluation alone is not enough to find cycle topsFinding the top of the cycle is a bit more complicated for three reasons.
1. Bitcoin tops fall into a wider range than bottoms, as can be seen in the green box.While the bottoms range from -0.5 to -1, the tops range from 0.88 to 2.7.
If you think you bought the bottom at -0.5 and the price goes to -1, you lose 39%.
If you think you bought the top at +0.88 and the price goes to 2.7, you miss out on a return of 517%.
2. Bitcoin's tops are getting smaller and smaller, which means you might miss the next top.For the bottoms we don't see a trend, the bottoms fall randomly between -0.5 and -1, so we could expect the next bottom to fall between -0.5 and -1 again.
For the tops, we can see a declining trend. This means that the next top could be even lower than 0.88. Maybe only 0.5.
3. Selling expensive bitcoin to buy cheap bitcoin could backfire in fiat termsSelling expensive bitcoin to buy cheap bitcoin later seems like a good idea. However, waiting in cash or gold for bitcoin to become cheap again takes time. The longer you wait, the higher the trend will be. If Bitcoin does not become cheap soon enough, the trend growth will exceed the cycle contraction. So you sell expensive bitcoin at a low USD price only to buy cheap bitcoin at a much higher USD price later.I think Bitcoin bubbles (How much new retail will join?) are less predictable than bitcoin bear markets (The stable core of bitcoiners keeps buying bitcoin). Bubbles are also more difficult to trade, because you are trading against the trend, whereas in bear markets you have the trend on your side. Selling in bubbles gives you a short window before the trend catches up. Buying in bear markets has the trend on your side.
Because one of the main risks of selling bitcoin during a bubble is running out of time, therefore I ask: "How much time do we have before the trend catches up with us?".
So instead of saying "the current bitcoin price is e^1 too expensive", we could say "The current bitcoin price will only be justified in 500 days.". Also, bitcoin bubbles are not dominated by growing bitcoin network effects, but by human behavior. So we work with simple days (e.g. 500 days) and not the growth of days relative to the bitcoin genesis block
ln(Date - 03 Jan 2009).
During peaks, the price of bitcoin is 500-1200 ahead of its trend. This means that the trend would have to continue for 500-1200 days to catch up with the current price. I like this chart because the peaks fall into a narrower band and since the peaks don't show a trend, you have to worry less about the next peak being outside of this band.
How many days ahead are too many?Since we have found our peak indicator "days ahead of price", we can now think about a cut-off point. If the current bitcoin price is 1000 or 1500 days ahead, we will probably be able to buy bitcoin cheaper if we wait a bit. However, if the current price of bitcoin is only 10 days ahead, we are unlikely to get a cheaper price until the trend catches up with the current price.
Green box: Since the bitcoin price has always returned to the trend, it was always good to buy bitcoin below the trend, as you got the increase in the trend price of bitcoin plus the cyclical price increase to return to the trend.
Red box: If bitcoin has become so expensive that the trend would have to continue for more than 700 days to justify the current price, then it was always better to wait to buy bitcoin until the current price is supported by the trend again.
Yellow box: When bitcoin was moderately expensive (0 - 700 days ahead of the trend), the picture is not clear. Sometimes waiting gave you cheaper prices in the future, sometimes not.
If you decided to wait until you could buy bitcoin without a premium to the trend, you would have been able to get cheaper bitcoin in more than half of the cases:
Does this mean that we should never buy expensive bitcoin and instead always wait until we can buy bitcoin at the trend price?
No!
First of all, when bitcoin is moderately expensive (e.g. trend + 10 days), in most cases you can successfully wait for the trend to return and buy bitcoin slightly cheaper (e.g. for 5% less EUR). However, sometimes you will have to wait a long time to buy bitcoin back at fair value, which will cost you much more in fiat terms (e.g. for 200% more EUR).
Second, if bitcoin is cyclically expensive, we could always wait for bitcoin to become even more expensive before selling.
Putting our strategy to the test.We invest 1000€ each month. We can either DCA or try to buy low and sell high.
If bitcoin is too expensive, we sell our bitcoin for gold.
If bitcoin is too cheap, we sell our gold for bitcoin.
If bitcoin is neither cheap nor expensive, we DCA into bitcoin and maintain our gold position.
How much do we outperform a DCA strategy depending on our definition of cheap and expensive?
Backtest 1:Cheap Bitcoin means Bitcoin is 18% (e^-0.2) to 59% (e^-0.9) below trend.
Expensive Bitcoin means that Bitcoin is 500 days ahead of the trend.
What do we learn?1.) In most scenarios we can significantly outperform DCA by up to 11076%.
2.) If we are too greedy and wait for Bitcoin 0.9 or 59% below trend, we will miss the re-entry into Bitcoin and thus underperform.3.) It is worse to be a little too greedy than a little too cautious. Waiting to buy bitcoin 18% below trend instead of 39% below trend will cost you 2x performance. Waiting to buy bitcoin 59% below trend instead of 55% below trend will cost you 12x performance.Sorry for the typo, the chart title should be:
Sell Gold, if Bitcoin is 39% below trend. Buy Gold if Bitcoin is 500 days ahead of trend. Otherwise keep your Gold position and DCA into Bitcoin.-> A re-entry into bitcoin at 0.5% or 39% below the trend looks best to me.
Backtest 2:Ceap Bitcoin means Bitcoin is 39% (e^-0.5) below trend.
Expensive Bitcoin means Bitcoin is between 200 and 1000 days above trend.
What do we learn?1.) Again, we can significantly outperform DCA by up to 11076%.
2.) We have two peaks at 4834% outperformance and 11076% outperformance. In between we have lower outperformance. There seem to be several local maxima that we can only hit with the benefit of hindsight. As my default position is in bitcoin and not gold, I would only sell my bitcoin when it is 700-800 days expensive.Backtest 3:To determine whether bitcoin is cheap relative to our trend function, we must first estimate the function. Therefore, we could not have started measuring Bitcoin vs. Trend from day 1. Currently we are about 5600 days from the Genesis block.
Therefore, I assume that we can only start selling expensive bitcoin and buying cheap bitcoin 3000 days after the genesis block, as only then will we have a stable trend function. Will we still outperform from day 3001 to day 5550?
Cheap bitcoin means bitcoin is 18% (e^-0.2) to 59% (e^-0.9) below trend.
Expensive Bitcoin means that Bitcoin is 750 days ahead of the trend.
What do we learn?We can confirm past results. In recent history, the strategy still offers significant outperformance. We should be cautious when trading bitcoin and not wait for too big a drawdown.Selling late (750 days high) is also better than selling early (500 days high).
Crating a simple decision chart for day to day useThe analysis in this post helped us to understand the Bitcoin trend, the Bitcoin cycle and optimum entry and exit points within the cycle. For daily usage I will visualize the relevant information in an simple chart.
Checking the model for weaknessesChecking the stability of the bitcoin trend lineRisk: We believe that bitcoin is cyclically cheap, but the bitcoin price trend just went down.
We need to measure the bitcoin price trend correctly in order to extract the cyclical price component correctly. Otherwise, we wouldn't know where we are in the cycle and would make inefficient decisions when buying and selling bitcoin. However, the early days of bitcoin's adoption dominate the data set, masking possible recent changes in the trend.
I would like to see a stable trend in the past. A stable trend in the past gives us more confidence in extrapolating that trend than an unstable trend in the past.
Stable: If we divide our data set into the first two major tops (16/10/2010 - 01/05/2016) and the second two major tops (02/05/2016 - 21/03/2024), we get a trend of almost 5.7 in both periods.
More or less stable: If we divide the data set into 3 sets from cycle bottom to cycle bottom, we get a slope of 6.7, 9.6, 6.7. If we divide the data set into 3 sets from cycle top to cycle top, we get a slope of 5.8, 3.5, 5.5. The trend looks reasonably stable at around 6.
One day in the future, the price of Bitcoin could change its behaviour and break our current model (when Bitcion is cheap or expensive). This model will need to be revised if the bitcoin price falls significantly more than 63% (e^-1 = -63%) below trend. This model will also need to be revised if the slope of our function changes significantly. This could be the case due to significant regulatory changes in the US or due to the introduction of Mayor. This could also happen if bitcoin adoption runs out of steam. In the long run, financial assets (cash, bonds, loans, gold, part of the value of real estate, most of the value of art) can't grow faster than the amount of goods and services. The bitcoin trend looks stable so far and we can reasonably expect this trend to continue for some years into the future. However, we should be aware that one day our model will break.
-> The model is stable so far
Introduction of M2 inflation for USD and EUR not necessary at presentWe measure the value of bitcoin against fiat. However, money printing devalues fiat and could affect our results. Adjusting for inflation reduces our slope from 5.8 to 5.2, but so far has not had a major impact on the model's results. This would change if the pace of inflation or monetary expansion in the US or the eurozone were to increase significantly. A much stronger monetary expansion in the future would increase the slope of our trend function. This could lead to a premature switch from bitcoin to gold, which would then also rise due to inflation, making this mistake less costly.
-> I use a bitcoin price that is not adjusted for M2 because bitcoin price data is more recent than M2 data and to keep the model simple. However, one should keep an eye on the monetary expansion of the major central banks.
TaxationSwitching between gold and bitcoin has an additional tax burden on realised taxes. As a rule of thumb, it is more efficient to let your wealth compound and pay your legal taxes later than earlier. In my country there is no capital gains tax on gold or bitcoin after 12 months, but your tax situation may be different.
PrivacyTrading in and out of bitcoin leaves data with exchanges, banks, etc. You may value your privacy more than additional financial wealth and therefore refrain from trading.
Even if privacy and tax concerns limit your trading decisions, you can still choose to postpone your regular DCA close to a top. If you are planning to sell some of your bitcoin anyway, you could choose the top. If bitcoin is significantly undervalued, you can buy additional bitcoin.
How do I apply this knowledge to my investment decisions?In general, I have two constraints on my bitcoin investments:
1. Liquidity constraint: I need a liquidity buffer for (i) expected negative future cash flows and (ii) unexpected liquidity needs, for which I assume 2 annual salaries. This liquidity buffer is invested in cash (for short term needs) and a minimum drawdown portfolio of equities/gold (for medium term needs). I make a cash flow projection for the next 8 years (salary plus other income minus food minus mortgage) and calculate my minimum excess liquidity during these 8 years. This excess liquidity is earmarked for buying bitcoin.
2. Single position risk constant: I'm willing to invest 2/3 of my current and expected future net worth in bitcoin. After 2/3, I can only buy bitcoin in the bear market if I sold bitcoin during the bull market.
I divide my excess liquidity into 3 equal buckets:1. bucket will be invested when we reach e^-1 undervaluation.
2. bucket will be invested when we reach fair value.
3. bucket will be partially invested each month as long as bitcoin does not exceed 150 days of overvaluation.
Unfortunately the current bitcoin price is lightly above trend. Therefore I can only deploy bucket nr. 3. I should have invested earlier, but I'm still in the process of formulating my strategy.
I hope my post offered some value to some of you. I personally got some insights out of my calculations. However since I'm relatively new to the Bitcoin space, it is possible that my thoughts are not new for some members here. Therefore I would like to get some feedback, if I made some mistakes to how to improve my model.
Do you think, it is possible to outperform investing into Bitcoin taking the cycle into account instead of just dollar cost averaging into Bitcoin?
Did you find any mistakes in my thought process?