This application prices a portfolio of LIBOR swaptions on a LIBOR Market Model using a Monte-Carlo simulation. It also computes Greeks.
In each Monte-Carlo path, the LIBOR forward rates are generated randomly at all required maturities following the LIBOR Market Model, starting from the initial LIBOR rates. The swaption portfolio payoff is then computed and discounted to the pricing date. Averaging the per-path prices gives the final net present value of the portfolio.
The full algorithm is illustrated in the processing graph below:
More details can be found in Prof. Mike Giles’ notes [1].
This benchmark uses a portfolio of 15 swaptions with maturities between 4 and 40 years. Different Open-Source AD frameworks are used to compute the sensitivities and the performance is compared to forward finite differences, i.e., bumping. For reference, a manually implemented adjoint code is also added to the comparison. The number of forward rates is varied between 20 and 200, and hence 20-200 delta Greeks are computed.
[1] M. Giles, “Monte Carlo evaluation of sensitivities in computational finance,” HERCMA Conference, Athens, Sep. 2007.