You didn't provide enough information, for example, how many sites do you have on shared hosting, because, cost of migration would depend on it.
Anyway, it's up to you to pick VPS hosting (digital ocean, linode,etc), and everything else is something I can do for you, including setting up all required services, migrating files and databases, optimizing services after initial testing, optimizing mysql queries and code. If you like I can introduce monitoring and alerting tools, high availability and load balancing methods, and more. My rate is 10$/hour, and we can agree about price of every step.