Shylock hates Antonio for two main reasons. First and foremost, Shylock is Jewish, while Antonio is Christian. Their differences in faith create a rift between the two, which is furthered by the larger implications of the historical Christian persecution of Jews. We see this realized in the play through the fact that Shylock is forced to live within the Venetian Ghetto under the decree of the Republic, which was largely Christian; this geographic containment was meant to restrict the physical, economic, and cultural presence of Jewish people, their faith, and their businesses. Antonio himself regularly behaves in an Anti-Semitic manner and has no qualms about bullying Shylock and mocking his Jewishness. The feelings of animosity between the two worsen once Shylock's daughter Jessica runs off with a Christian man (and Shylock's money), with Shylock proclaiming,
He hath disgraced me, and hindered me half a million; laughed at my losses, mocked at my gains, scorned my nation, thwarted my bargains, cooled my friends, heated mine enemies; and what's his reason? I am a Jew.
Secondly, Shylock dislikes Antonio because he regularly lends money to others without charging interest on those loans. This directly hurts Shylock's profits as a moneylender, since Antonio is consistently undercutting his rates and, thus, siphoning business away from him. As a Jewish man in Venice, Shylock does not have many other vocational opportunities; the interest he charges on loans is his livelihood.
I would argue that, despite Shylock's status as the antagonist within the play and his outwardly miserly attitude, he really is a victim within the community. Antonio, Shylock's own daughter, and the Christian authorities of Venice treat him unfairly and cause him great grief; it is no wonder that he is filled with spite.