Bank of America names American Express a top pick despite consumer headwinds