This book provides an introduction to the mathematical modelling of real world financial markets and the rational pricing of derivatives, which is part of the theory that not only underpins modern financial practice but is a thriving area of mathematical research. The central theme is the question of how to find a fair price for a derivative; defined to be a price at which it is not possible for any trader to make a risk free profit by trading in the derivative. To keep the mathematics as simple as possible, while explaining the basic principles, only discrete time models with a finite number of possible future scenarios are considered. The theory examines the simplest possible financial model having only one time step, where many of the fundamental ideas occur, and are easily understood. Proceeding slowly, the theory progresses to more realistic models with several stocks and multiple time steps, and includes a comprehensive treatment of incomplete models. The emphasis throughout is on clarity combined with full rigour. The later chapters deal with more advanced topics, including how the discrete time theory is related to the famous continuous time Black-Scholes theory, and a uniquely thorough treatment of American options. The book assumes no prior knowledge of financial markets, and the mathematical prerequisites are limited to elementary linear algebra and probability. This makes it accessible to undergraduates in mathematics as well as students of other disciplines with a mathematical component. It includes numerous worked examples and exercises, making it suitable for self-study.