In this textbook the authors introduce the important concepts of the financial software domain, and motivate the use of an agile software engineering approach for the development of financial software. They describe the role of software in defining financial models and in computing results from these models. Practical examples from bond pricing, yield curve estimation, share price analysis and valuation of derivative securities are given to illustrate the process of financial software engineering.

Financial Software Engineering also includes a number of case studies based on typical financial engineering problems:

*Internal rate of return calculation for bonds

* Macaulay duration calculation for bonds

* Bootstrapping of interest rates

* Estimation of share price volatility

* Technical analysis of share prices

* Re-engineering Matlab to C#

* Yield curve estimation

* Derivative security pricing

* Risk analysis of CDOs

The book is suitable for undergraduate and postgraduate study, and for practitioners who wish to extend their knowledge of software engineering techniques for financial applications


This unique, accessible textbook gives a comprehensive introduction to software architecture, using ‘clean architecture’ concepts with agile methods and model-driven development.  

The work introduces the key concepts of software architectures and explains the importance of architectural design for the long-term usefulness and sustainability of software systems. In addition, it describes more than 30 architectural styles and patterns that can be used for constructing mobile applications, enterprise and web applications, machine-learning systems, and safety-critical systems.

Topics and features:

  • Combines clean-architecture principles with agile model-driven development
  • Employs practical examples and real industrial cases to illustrate architectures for mobile apps, web apps, enterprise systems, safety-critical systems and machine-learning systems
  • Explores support tools for architectural design and system development using the approach
  • Provides tutorial questions and slides to support teaching and learning
  • Delivers material that has been class-tested over 10 years with more than 1,000 students

The textbook can be used to support teaching of an undergraduate module in software architecture, yet also includes more advanced topics suitable for a specialised software architecture module at master’s level. It also will be eminently suitable and relevant for software practitioners and researchers needing or wanting to explore the field in short courses or self-study.

Dr. Kevin Lano is Reader in Software Engineering, Department of Informatics, King's College London, UK.  Dr. Sobhan Yassipour Tehrani is a Lecturer, Department of Computer Science, University College London, UK.