This book is the definitive and most comprehensive guide to modeling derivatives in C++ today. Providing readers with not only the theory and math behind the models, as well as the fundamental concepts of financial engineering, but also actual robust object-oriented C++ code, this is a practical introduction to the most important derivative models used in practice today, including equity (standard and exotics including barrier, lookback, and Asian) and fixed income (bonds, caps, swaptions, swaps, credit) derivatives. The book provides complete C++ implementations for many of the most important derivatives and interest rate pricing models used on Wall Street including Hull-White, BDT, CIR, HJM, and LIBOR Market Model. London illustrates the practical and efficient implementations of these models in real-world situations and discusses the mathematical underpinnings and derivation of the models in a detailed yet accessible manner illustrated by many examples with numerical data as well as real market data. A companion CD contains quantitative libraries, tools, applications, and resources that will be of value to those doing quantitative programming and analysis in C++. Filled with practical advice and helpful tools, Modeling Derivatives in C++ will help readers succeed in understanding and implementing C++ when modeling all types of derivatives.

principal components is: n λ i / k (9.39) ∑ i =1 Given the column order labeling in W, the largest eigenvalue λ that corre- 1 sponds to the first principal component, P , explains the largest total proportion of 1 the total variation in X. λ corresponds to P and explains the second largest total 2 2 proportion, and so on. Since W′ = W–1, equation (9.37) can be written as: X = PW′ (9.40) that is, X = w P + w P + . . . + w P (9.41) i i 1 1 i 2 2 ik k Equation (9.41) is the

fewer spline points than exercise dates. This also reduces the number of simulations needed to get a smooth estimate of the exercise boundary. 14.4 LONGSTAFF AND SCHWARTZ METHOD Longstaff and Schwartz developed a method to value American- and Bermudan- style options by computing both the intrinsic value and the expected value of hold- ing the option, waiting for a later exercise date. As discussed earlier, due to complex dynamics, the LIBOR market model doesn’t lend itself well to computa-

( ) = E X ( 2 Var s ( ) d ) s ∫ a Note: The integral t Z 2 s dZ s ∫ ( ) ( ) 0 is not well defined as an Ito integral since Z(2 s) is not a nonanticipating process. B.4 ITO’S FORMULA We provide the derivation for Ito’s formula. Let S( t) be the process dS = µ Sdt + σ SdZ and consider the process f ( S( t), t) where f is a smooth function. Using a Taylor series expansion, we obtain f ∂ f ∂ 1 ∂2 f df = dt + dS + dS 2 ( ) t ∂ S ∂ 2 S ∂ 2 f ∂ f ∂ 1 ∂2 f = dt +

Multinomial Method for Option Pricing in Several Dimensions.” Journal of Computational Finance 5(3): 27–50. Halton, J. 1960. “On the Efficiency of Certain Quasi-Random Sequences of Points in Evalu- ating Multi-dimensional Integrals.” Numerische Mathematik 2: 84–90. Hamilton, J. 1994. Time Series Analysis. Princeton: Princeton University Press. Harrison, J., and D. Kreps. 1979. “Martingales and Arbitrage in Multiperiod Securities Markets.” Journal of Economic Theory 20: 381–408. Harrison,