US stocks close higher, post weekly gains