The Dow Jones industrial average was up 50 points at 13,321 shortly after 11 a.m. EDT. A close at that level would be the Dow's highest since December 2007. The average reached this year's peak of 13,279 on May 1.
The broader Standard & Poor's 500 index rose six points to 1,424. That would also be a four-year closing high. The S&P's peak this year was a close of 1,419 on April 2.
The Nasdaq composite index rose 11 points to 3,087.
Bank stocks rose the most, 1.2 percent as group, while telecommunications stocks fell the most, down 0.5 percent. Trading was relatively light, with much of Wall Street on summer vacation.
Facebook's stock sank 3 percent after one of its earliest backers, venture capitalist Peter Thiel, sold most of his stake in the social network. Last week was the first time some insiders could sell their stakes.
On Tuesday, Facebook stock lost 66 cents to $19.33. Facebook went public in May at a price almost twice that, $38.
Best Buy fell 6 percent, the biggest loss in the S&P 500. The country's largest consumer electronics retailer reported a 90 percent drop in net income during the second quarter, dragged down by restructuring charges and weak sales.
The chain is waging a public fight with its former chairman and co-founder Richard Schulze, who wants to take the company private. Best Buy's stock dropped $1 to $17.11 and has lost 15 percent this week.
Markets in Europe edged up amid hints of progress in calming the region's debt crisis. Spain managed to raise $5.4 billion from bond investors at sharply lower interest rates than at the last such auction.
Germany's DAX added 0.5 percent and France's CAC-40 0.7 percent.
Among other stocks making moves:— Urban Outfitters jumped 15 percent. The clothing retailer reported earnings late Monday that beat analysts' forecasts, thanks to stronger sales. The stock surged $5.15 to $36.43.— Barnes & Noble posted a smaller quarterly loss, helped by sales and e-books and surging sales of the "Fifty Shades of Grey" book. The largest traditional bookstore chain rose 4 cents to $12.37.