Every day, someone different is calling for an end to the rally. I've even written a piece laying out three reasons why the rally will come to a grinding halt. While none of us can time the market, we can certainly see the writing on the wall.

Criticisms withstanding, this upturn has been impressive. But it has been built on the backs of earning surprises and unexpected corporate growth. According to Morgan Stanley (NYSE:MS), non-financial stocks in the S&P 500 beat 3Q estimates by an average of nine percentage points. Tech companies like Amazon.com (NASDAQ:AMZN) all the way to struggling car makers like Ford (NYSE:F) have chalked up huge surprises. For the most part, though, staggering earnings have been a result of controlling labor costs (see Time Warner (NYSE:TWX)).

As The Economist notes: "Cutting costs makes sense at the individual company level but not in aggregate; one company's sacked worker or pay freeze translates into another company's sluggish demand."

In addition, companies and governments alike have been able to borrow at unprecedentedly low rates. But how long can rates stay so low?

According to The Economist, central banks are keeping rates low because "they are correct in assessing that the economy is still fragile ... or they are underestimating the strength of the recovery, in which case inflationary pressures will start to emerge."

One way or another, this rally has got to give.

How long until the rally subsides? Sound off in the comments box below.