This thesis explores the use of ensemble machine learning algorithms for portfolio selection. Machine learning algorithms are increasingly used to automate and improve processes across a wide range of fields. It is possible to choose between many different algorithms, but not all of them are suitable to solve a given problem. In order to avoid selecting an inappropriate algorithm, ensemble learning methods can be used, as they combine multiple learning algorithms. This thesis starts by presenting theoretical reasons for ensemble learning methods to work. Then, a selection of ensemble learning methods is used in the implementation of a trading strategy. The trading strategies based on ensemble learning methods produce considerably higher returns compared to the benchmark index, when applied to a historical test dataset. In most cases, the returns of such strategies are also higher than those obtained when using the individual algorithms which form part of the ensemble. This shows that ensemble learning methods can help us avoid using the least suitable machine learning algorithms to solve a given problem.