Nowadays students and professionals intending to work in any area of finance must master not only advanced concepts and mathematical models but also learn how to implement these models computationally. This comprehensive text combines the theory and mathematics behind financial engineering with an emphasis on computation, in keeping with the way financial engineering is practised in today's capital markets. Unlike most books on investments, financial engineering, or derivative securities, the book starts from very basic ideas in finance and gradually builds up the theory. It offers a thorough grounding in the subject for MBAs in finance, students of engineering and sciences who are pursuing a career in finance, researchers in computational finance, system analysts, and financial engineers. Along with the theory, the author presents numerous algorithms for pricing, risk management, and portfolio management. The emphasis is on pricing financial and derivative securities: bonds, options, futures, forwards, interest rate derivatives, mortgage-backed securities, bonds with embedded options, and more. Each instrument is treated in a short, self-contained chapter for ready reference use. Many of these algorithms are coded in Java as programs for the Web, available from the book's home page.