The word opportunist seems to be used negatively for a person.
Is there a word with the same but positive meaning?
I think in the US we would say, "He is a go-getter." The word ambitious and proactive both are very positive and may fit your context too.
In the economic sphere, we have entrepreneur. More generally, we have initiative-taker, visionary, instigator, revolutionary, far-sighted person, strategist, tactician...
For a everyday usage I think that artful may describe a person who is attentive to his own personal advantage without having necessarily negative implications.
In the literary sphere, we have the Randian hero--an ideal person "who perseveres to achieve his values, even when his ability and independence leads to conflict with others."
And also the antihero, who "doesn't always think about what the right, moral thing to do - he often thinks about what's right for him."
As an opportunist takes advantage of situations for a short term or selfish gain, I don't see how another word can be positive and still mean the same thing. A similar term such as investor could be considered more positive in most cases, as it implies a longer and (possibly) beneficial outlook.
Another single word thats negative i would say thief. Its amazing how we use the same word , but we have different feelings.