09/06/2012 01:17 EDT | Updated 11/06/2012 05:12 EST

S&P 500 hits 4-year high

America's broadest stock index hit its highest level in four years, as shares across North America were going through a strong buying spree today.

The S&P 500 hit 1,429 at midday, up 26 points of almost two per cent, the highest level since May 2008.

The main driver of optimism was word out of Europe that the ECD would buy "unlimited" amounts of bonds from debt-laden European governments, in an attempt to keep their borrowing costs down. That's in effect a new round of stimulus, giving governments more cash at their disposal to inject into the system, and investors view that as a strong positive for stocks.

The Dow Jones Industrial Average also gained about two per cent, up 239 points, to 13,287. In Toronto, the benchmark S&P/TSX composite index was also higher, up 123 points, or more than a per cent, to 12,113.

The Canadian dollar joined the party, gaining half a cent to 101.46, it's highest level in four months.

Oil was also higher, up $1.51 a barrel in New York to $96.87 US.

ECB president Mario Draghi said the program will have no set limit and be a "fully effective backstop."

But that doesn't mean there are no catches. The program comes on the condition that any country wanting the ECB to buy its bonds must first officially ask for help from Europe's bailout funds and agree to "strict and effective" budget policy conditions.