All eight contestants for the 2018 Home Run Derby have been announced in the days leading up to the All-Star Break. One hitter is technically the favorite, but this year’s contest is truly up for grabs.

Chicago Cubs' outfielder Kyle Schwarber has the best betting odds ahead of Monday’s competition, even though he had the worst odds when the field was first made official. He’s given a slightly better chance to win than Washington Nationals' outfielder Bryce Harper and Milwaukee Brewers' first baseman Jesus Aguilar.

Chicago Cubs' infielder Javier Baez and Philadelphia Phillies' first baseman Rhys Hoskins have the exact same odds. Los Angeles Dodgers' utility man Max Muncy is right behind them.

If any contestants are considered long shots, it’s Atlanta Braves' first baseman Freddie Freeman and Houston Astros' third baseman Alex Bregman.

None of the top home run hitters in baseball will participate in the contest. J.D. Martinez and Jose Ramirez are tied for the league-lead with 28 homers, but they aren’t in the Home Run Derby. The same goes for Mike Trout, Francisco Lindor and Aaron Judge, all of whom have 25 dingers each.

Judge is the reigning Home Run Derby champion. Giancarlo Stanton won the 2016 Derby and led all players with 59 homers in the 2017 season. Stanton has 22 home runs in his first year with the New York Yankees, but he isn’t scheduled to be in the 2018 Home Run Derby or the All-Star Game.  

Aguilar leads all contestants with 24 home runs. The 28-year-old is having the best season of his career, having hit just 16 home runs last year.

Harper’s overall numbers are down, but he’s still hitting for plenty of power. He’s tied for second in the National League with 23 home runs. Schwarber has 17 home runs with a .247/.374/.490 slash line in 80 games.

Hoskins’ 14 home runs are the fewest of anyone in the 2018 Derby. He set a record last season by hitting 18 home runs in the first 34 games of his career.

No one in this year’s field competed in the 2017 Home Run Derby. In fact, Harper is the only one of the eight contestants that’s ever participated in the competition. Harper was in the 2013 Home Run Derby, where he lost in the final round as a 20-year-old.

Bryce Harper Washington Nationals Bryce Harper #34 of the Washington Nationals hits a two-run home run against Tim Peterson #63 of the New York Mets in the seventh inning during their game at Citi Field on July 12, 2018 in New York City. Photo: Al Bello/Getty Images