The contract also contains a $15 million player option for 2021 with a $1 million buyout.
Davis, 32, was 4-2 with 32 saves in 33 opportunities and a 2.30 ERA for the Chicago Cubs last season. He also had four postseason saves.
Davis replaces former Kansas City Royals teammate Greg Holland as the Rockies' closer. Holland saved 41 games last season before declining a $15 million player option and becoming a free agent.
The right-handed Davis became a closer for the Royals in 2015 after Holland suffered an arm injury. He has been an All-Star each of the past three seasons -- twice in Kansas City and last year with the Cubs.
Davis has been one of the top relief pitchers in baseball since the Royals converted him in 2014. He began his career with the Tampa Bay Rays in 2009 and won a combined 23 games over the 2010-11 campaign.
He joined Kansas City in 2013 and was part of the team's 2015 World Series-winning squad.