U.S. stocks gained for a third time on Thursday, as a better-than-expected report on retail sales overshadowed another weak employment report. Ninety five percent of stocks in the S&P 500 rose on the day.

Financials helped to support the rally after Bank of America CEO Ken Lewis Bank said he expects the company will earn close to $50 billion in pre-tax, pre-provision earnings in 2009, adding it was unlikely that the bank will need additional public funds. Lewis joined Citigroup CEO Vikram Pandit and JP Morgan Chase CEO Jamie Dimon, who earlier this week affirmed that their banks are having strong quarters.

Bank of America gained nearly 20% on the day while Citigroup and JP Morgan gained 5.20% and 13.14% respectively.

General Electric shares and bonds rallied after Standard & Poor’s lowered its debt ratings one level (AAA to AA+) but raised the outlook to “stable.” Investors had feared a possible sharper cut in the company's debt. GE, which maintained its AAA rating since 1956, said in a statement it doesn’t foresee “any significant operational or funding impacts” from the loss of its top credit rating. Shares rose 13.55%.

At Thursday's close of floor trading on the NYSE, the DOW was on 7169.82 with a gain of 239.42 points (3.45%) while the S&P finished on 750.68, up 29.32 points (4.06%). The technology-heavy NASDAQ closed on 1426.10 after gaining 54.46 points (3.97%).

The dollar trended lower against the higher-yielders in N.Y. as stocks advanced after gaining in overnight markets. The greenback ended up finishing the session with a loss of 0.48% to the euro, 0.03% on Australia's currency and 0.40% to sterling as it gained 0.57% against the yen.

Treasury 30-year bonds rose after the government's auction of $11 billion of the securities drew stronger demand than forecast and the most bids in three years from an investor group that includes foreign central banks. The benchmark 30-year bond yield fell 4 basis points to 3.63%. Yield on the 2-year note rose 0.002 basis points to 1.201% while yield on the 10-year note lost 2.7 basis points to 2.881%.

Crude for March delivery was recently trading up $4.59 (10.80%) to $46.92 per barrel.

Gold for April delivery was recently trading up $14.80 (1.63%) to $925.20 per ounce.