There seems to be a lot of money floating around - bonds are expensive (relative to the amount of interest you get), stocks are expensive, real estate is expensive...
The extra money comes from the fed. They print more money, loan it to banks, and the banks buy treasury bills with it. This keeps interest rates down, and raises inflation. Because of this, people that used to invest in commercial paper and bonds can no longer earn a decent after tax/inflation return on bonds/commercial paper, so they switched to stocks and real estate. This lowers the dividend yield on the S&P, and raises home prices.