Horatio is Hamlet's one true friend. This alone is an admirable quality. He is educated, cautious (he doesn't want Hamlet to go with the ghost), and he is trustworthy. Once he swears to something, he keeps his promise. He would be a good friend to have.
Negative qualities? I really don't see any unless you count his overprotectiveness of Hamlet.
Horatio is the one character without agenda in the play. He is set up as an obvious witness/testifier to tell the inner workings of Hamlet. We are to assume that Hamlet's dying words provide a lens through which he had seen the play to begin with.
This reduces Horatio from a character to a sort of story telling mechanism.
He is a faithful friend to Hamlet when his school chums are not. I do not believe Shakespeare assigns Horatio with negative traits since this would damage the reliability of the oral tradition of the story.