To re-write your sentence correctly, you should also replace the passive "have done" with "do", so the correct non-passive sentence will read:
"Since the new market opened, I do my shopping there."
In general, it is better to always avoid passive voice in writing. The reason for this is that passive voice sentences are less clear in meaning; a passive voice sentence often doesn't specify clearly who is performing the verb. Passive voice also require using more words for the same meaning in a sentence
Another example sentence that displays this clarity/word-length issue:
Active: "John picked up the rock."
Passive1: "The rock was picked up."
Passive2: "The rock was picked up by John."
Active and Passive1 both use the same number of words, but in Passive1 we don't know who picked up the rock.
Active and Passive2 have the same meaning, but passive2 is two words longer and makes it harder to determine if the noun of the sentence is "rock" or "John".
Passive voice in general is almost never the "best" way to write sentences. The following link shows some examples of when passive voice is acceptable, but most of the examples of acceptable passive voice shown are due to the writer not caring if they communicate the specific noun/cause of an verb/action in a sentence.
Humorous note: I forced myself to review my answer multiple times in an attempt to remove all passive sentences from my answer. Passive voice occurs often in modern English, so even though it is not the best way to structure sentences or communicate, it is still extremely common.