---
# System prepended metadata

title: How to passively time the market
tags: [general]

---

---
tags: general
---

# How to passively time the market

## A simple and disciplined method to manage cash and passively time the market

![](https://i.imgur.com/c7t1VNM.png)

Timing the market, guessing the price dips and tops, is excessively hard as investors are never sure where the market is going. Bad decisions are frequent and lead investors to sell at lower prices than they bought.

Fortunately, they can still follow sound cash management principles and stay safe in volatile markets, while trying to catch additional returns. This post deals with the simplest two-asset case in which investors decide how much to invest in a volatile asset and a riskless asset (cash). These could be a diversified index fund bundled with a cash reserve or a money market fund or bitcoin and stablecoins in crypto-asset markets.

The problem share similarities with how bettors and casino gamblers manage their bankroll over a series of betting rounds. A good starting reference is the Kelly criterion which recommends betting a constant share of the bankroll. Transposed to financial markets, it means keeping a fixed share of the risky asset in portfolio. When price goes up, its share spontaneously increases. Its weight is then restored by selling an appropriate quantity of it. Conversely, when the price goes down, more risky assets are bought. This amounts to passively timing the market by buying at a low price and selling at a higher price. This contrarian strategy generates a return whenever the price goes back and forth.

To see how, let's consider a fixed weight portfolio endowed with $100,000 and invested in two assets: a stablecoin (e.g. DAI) and a volatile asset (ETH). The weights are w=0.85 for ETH and 0.15 for DAI. Starting with a market price of 1 ETH=$2,000 (assuming 1 DAI = 1 US dollar), the fund has $15k of DAI and $85k of ETH. If the ETH price goes down to $1,500, the portfolio is left with $63.75k ETH and the ETH weight is down to 81%. Then the investor rebalances his portfolio by buying 2.15 ETH so that the weight goes back to 0.85. Next, if the ETH price returns to $2,000, the 2.15 ETH are sold back and the investor makes an overall profit equal to 2.15*(2000–1500) =$1,075.

This example illustrates the benefit of *[volatility harvesting](https://jwm.pm-research.com/content/15/2/26)* which compounds over time whenever the price goes back and forth. In fact, in a long-term upward-trending market in which the price of the volatile asset goes up, short to medium-term volatility harvesting is a major reason why investors are willing to hold stablecoins in spite of the drag on portfolio value when the asset price increases.

However, rebalancing a fixed weight portfolio is not the best strategy if investors believe in a price floor and a price ceiling. For example, suppose investors make the reasonable assumption that the ETH price cannot go down below $940 and go up above $8,000 (at least over their investment horizon). With a price of $940, there is no reason to hold stablecoins anymore since the price is expected not to go down further. In our example, the investor still holds $8,260 of DAI at this price after rebalancing. To be fully consistent with investors' assumption, the share of stablecoins should be 0, not 15%. To the opposite, in the event ETH price would reach $8,000, there would be no reason to hold ETH anymore. The ETH weight should be zero, not 85%.

### Price-dependent weights

A simple way to make portfolio weights conditional on ETH price starts by computing a price state measure:
$$
s = \dfrac{p - p_{min}}{p_{max} - p_{min}}
$$

with $p$ the price of the volatile asset. Price state indicates how far the price is from its minimum and maximum, normalized $à$ and $1$.

Portfolio weight is an increasing function $1-s$: $[0,1] \longrightarrow [0,1$ ] of $1-s$:
\begin{equation}
\omega = w(1-s) \qquad \text{ with } w'(.) \geq 0, \text{ } w(0) = 0 \text{ and } w(1) = 1 \text{.}
\end{equation}

The fund is all in the volatile asset if the price crashes to its minimum ($s=1$) and all in cash if it reaches its maximum ($s=0$).

A nice property of this policy rule is that investors time the market in a consistent way. They cannot sell at a lower price they have bought and buy at a higher price they have sold. This is because the policy is path independent (weights are strictly determined by price whatever price history) and the risky asset is always sold when its price increases and bought when its price decreases.

As an illustration, let us consider the simple identity $w=1-s$ and let us go back to our previous example with a minimum ETH price of $940 and a maximum price of $8000. For 1 ETH = $2,000, the ETH weight is $\omega = 1-s = 0.85$, as in the fixed weight case. If the price goes down to $1,500, target weight rises to 0.92. The investor rebalances by purchasing 5.8 ETH, instead of 2.15 ETH in the fixed weight case. When the price returns to $2,000, he sells back the ETH and makes a profit of 5.8*500 = $2,900, compared to $1,075 in the fixed weight case.

By following a price-dependent weight, the investor concentrates liquidity over the price range where it matters and levers an extra return.

The fixed weight model is a particular case of the dynamically adjusted weighting model with $\omega = 1-s$, as can be seen by computing the slope of the weight with respect to the price:
$$
\dfrac{d \omega}{dp} = \dfrac{p - p_{min}}{p_{max} - p_{min}}
$$

The slope is decreasing with price range expanding. It is flat when the range is $(0,\infty)$; portfolio weight does not respond to price variations, as in the fixed weight model.


### When rebalancing?
Should an investor rebalance every 1% price variation, 10%, or 50%? Rebalancing every time the price varies by a small percentage is not necessarily a good policy. To see why, suppose in previous example that the portfolio is rebalanced after smaller price variations, e.g. at prices $1750, $1500, and then again at $1750 and $2000 on the way up, instead of at $1500 and $2000. When the price hits $1750, 2.7 ETH are bought (with a revised weight of 0.89). Additional 3.1 ETH are bought at $1500 (for an updated weight of 0.85). When the price returns to $1750 then $2000, 3.1 ETH then 2.7 ETH are sold. Total profit is
$$
2.7(2000–1750)+3.1(1750–1500) = 5.8 \times 250 = $1450
$$
instead of
$$
5.8(2000–1750) = 5.8 \times 500 = $2,900
$$

The benefit of rebalancing after smaller price variations is half the benefit of the previous example.

On the other hand, if transactions are triggered every small price variations, more local tops and bottoms could be caught, which could compensate smaller benefits per operation. This would be the case in the example if the price decreased below $1750 yet did not hit $1500 before returning to $2000.

To illustrate the trade-off, I back-tested a portfolio composed of ETH and DAI over the period beginning March, 13 2021 and ending June, 28 2021. During this not so quiet period, the ETH price started from $1900, went up to $4300 then crashed back to $1900.

![](https://i.imgur.com/LSoZzFL.png)
 <font size="2">*ETH daily price, March-June 2021 (Sources: CoinGecko)*</font>

I use the timing policy of the previous example with $940 and $8000 as the assumed minimum and maximum prices respectively. As an illustration, a policy in which re-weighting and rebalancing every time the ETH price is $500 up or down would have looked like this:

![](https://i.imgur.com/PkMCu4w.png)


The green stars indicate selling points, the red stars buying points. Compared to larger triggering price variations like $1000, investors sold at a lower average price on their way to the top. On the other hand, they were able to catch additional local bottoms and tops, circled into a black line.

The table indicates the returns from rebalancing using various triggering price variations ranging from $100 to $1500.

![](https://i.imgur.com/GkFDP7o.png)


Rebalancing every $100 price variation leads investors to buy or sell 186 times over the period. It also gives them the opportunity of catching a lot of local bottoms and tops, to earn an annualized return (APR) of 26.1% eventually. The profit only comes from harvesting price volatility as the price returned to its initial value at the end of the period.

This small step policy was not the best one however. An investor could have earned an APR of 90% by rebalancing 9 times whenever the price gained or lost $800. Return is decreasing above $800 as the policy begins to miss too many local tops and bottoms.

### Conclusion

A great advantage of automating a well-designed market timing policy is that investors buy and sell in a disciplined way. They cannot buy at a higher price they have previously sold and cannot sell at a lower price they previously bought. Automatic rules contrast with human decisions which fall prey to emotions, market rumors, fads and cognitive limitations. Investors are particularly bad at actively timing the market due to overconfidence, disposition effect or extrapolation bias.

Setting a maximum price is a key parameter of the investment policy and depends of investors' horizon. In an upward trending market, the further away the exit date, the higher the maximum price.

Back-testing simulations for ETH/DAI over a three-month period suggests that investors should rebalance only after the price has significantly changed (around +/-30 % in our simulations). This rule depends on price volatility and may not apply to other markets or periods. Back-testing the rule before implementing it, as illustrated for the ETH market, is an important preliminary step.