What is the link between the price discovery process and fixing software bugs? In a debugging process, one can never eliminate all the bugs*. This is because fixing a known bug can potentially create more unknown bugs, implying that there exists a point of diminishing returns where fixing more bugs will not yield any more benefits.
The stock market shares the same essential characteristics as open source software: anyone can participate. In the stock market, anyone can buy and sell securities. Likewise, any programmer can participate in an open source project. When a stock market participant discovers the “solution” to a price (i.e. fixes a bug) based on certain information that he’d gathered, he will simultaneously affect the price (i.e. creates a bug). This newly arrived at price becomes a new piece of information that acts as a signal to other traders who cause the price to change again (i.e. creates more bugs). And because not all bugs can be fixed, prices at any time cannot be correct and never will be.
How much money should one devote to “fixing bugs” in the stock market at most? The answer is: spend money up to the point of diminishing returns! This point is defined simply by the Kelly Criterion.Wealth is destroyed when more resources are allocated than necessary (Kelly Criterion’s f). This is exactly what caused the current boom/bust cycle of the finance industry – there was simply too much finance. The society had overspent its resources (beyond the point of diminishing returns) to making the markets more efficient. Isn’t it ironic that in the pursuit of more efficiency, we have made it more inefficient, and destroyed our own wealth?
*In theory, it is possible for a software to be completely bug-free. However, in practice, the more complex the system, the higher than probability of a buggy system. In the same token, the efficient market hypothesis is correct in theory, but the complexity of the market system causes prices to tend toward equilibrium, but never quite get there.