Stocks rise on economic data; Wal-Mart falters