*dollar cost averaging*, or the practice of investing a fixed amount of money regularly. The alleged benefit is that when the price goes up, well, then your stake is worth more, but if the price goes down, then you get more shares for the same amount of money. According to Wikipedia, it “minimizes downside risk”, about.com says it “drastically reduces market risk”, and an article on Nasdaq.com claims that it’s a “smart investment strategy”.

# Dollar Cost Averaging

*total return*, i.e. with dividends reinvested, or you will understate the yield. You can get the data here.

Comparing lump sum vs dollar cost averaging is a bit weird since the cash flows are so different. One way you can do it is to compute the internal rate of return. Let’s look at five year investment horizons and what the value of a dollar cost averaging strategy would give us, versus a lump sum investment

We see that there’s a improvement in using DCA although it’s quite small — an additional return of about 25 basis points every year. However the simulation shows that dollar cost averaging actually is *more* likely to be in the red five years later, *12.9%* compared to *11.0%* for a lump sum investment.

If you look at it a bit closer, it turns out none of these differences are statistically significant. The conclusion here is that the difference, if it exists, must be very small

## How to compute IRR

Computing internal rate of return (also called annual percentage rate) is a fun little numerical problem. You want to find the rate rr such that the cost of payment stream is equal to zero:

∑ici(1−r)−i=0∑ici(1−r)−i=0where cici is the payment/income at time ii. Or if you use continuously compounding rates you have the equivalent relation ∑icie−i=0∑icie−i=0. Either way, it’s the same problem as finding the roots of a polynomial. `numpy.irr`

has a pretty terrible implementation of this that’s extremely slow. I ended up open sourcing a very simple implementation that uses binary search.

## Notes

- Vanguard put together a presentation getting to the same conclusion. Another article from Betterment is also quite good.
- All code is available as a gist.

Originally posted at erikbern.com