You don't have to invest the money in any particular securities. You can leave it in your account without purchasing anything and you'll get the bonus. They pay half of the bonus a week or two after you create and fund the account and the other half comes a few months later. Keep the account open for 9 months or they will try to charge you for the miles.
BTW, the Starwood account bonus pays 20k Starpoints for half the deposit amount ($25,000). The redemption to CO is not great, but it is worth considering.