US stocks edge higher, led by banks and smaller companies