  We summarize the fundamental issues at stake in algorithmic trading, and the
progress made in this field over the last twenty years. We first present the
key problems of algorithmic trading, describing the concepts of optimal
execution, optimal placement, and price impact. We then discuss the most recent
advances in algorithmic trading through the use of Machine Learning, discussing
the use of Deep Learning, Reinforcement Learning, and Generative Adversarial
Networks.
