VIEWS: 124 PAGES: 64 CATEGORY: Templates POSTED ON: 10/12/2012
Swaps and Other Derivatives Richard Flavell Summary by Patrick Gillen, 11 October 2012 Chapter 1 (Swaps and Other Derivatives) Spreadsheet: Ch 1 Market Statistics.xls This workbook summarises BIS statistics over the past years. The BIS statistics (adjusted for double counting) are the amounts outstanding in billions of US dollars for the OTC derivatives market, broken down by half year, asset class, and product type. Both notional amounts outstanding and gross market values are given. Simpler ISDA data from an earlier period are presented too. For the two largest asset classes, viz., FX and interest rates, the statistics are broken down by contract maturity and currency also. Key points: Despite all the publicity given to more exotic transactions, the overwhelming workhorse is the relatively short-term interest rate swap The majority of FX derivatives, predominantly forwards, are under 1 year in maturity; interest rate derivatives are typically much longer, averaging between 5 and 10 years In terms of currencies, the major ones are EUR, USD, JPY, and GBP Chapter 2 (Short-term Interest Rate Swaps) Spreadsheet: Ch 2 Short-term swaps.xls Market data Cash rates for 7-day, 1-month, 3-month, 6-month, and 12-month maturities with 2-day settlement are given. A cash rate for a maturity between 1 and 3 months is derived using linear interpolation. Worksheet to calculate a discount factor from a set of cash rates Using the same cash rates, discount factors for 2 days hence are derived assuming ACT/360 day count convention. A cubic curve is fitted to both rates and discount factors. A discount factor for a maturity of 9 months is derived using (a) linear interpolation of cash rates and deriving discount factor from interpolated rate, (b) cubic interpolation of cash rates and deriving discount factor from interpolated rate, (c) cubic interpolation of discount factors, (d) linear interpolation of logs of discount factors and deriving discount factor from interpolated value by taking exponential. The maximum difference arising from using these different methods to derive a factor to discount $100 million is more than $50,000 or 5bps. Worksheet to demonstrate the concepts of discounting Using the discount factors derived from 3- and 12-month cash rates, deals with exactly the same maturity dates as the cash rates but paying different coupons are compared. Worksheet to calculate forward rates from a set of cash rates 3/6, 6/9, and 9/12 forward rates are calculated using the 9-month interpolated discount factor derived earlier. The results are shown below. 3.2% 3 monthly 3.0% forward rates 2.8% Linear interpolation of rates Cubic interpolation of rates 2.6% Linear interpolation of DF's 2.4% Cubic interpolation of DF's Log-linear interpolation of DF's 2.2% 3/6 6/9 9/12 [Another] Worksheet to calculate forward rates from a set of cash rates Using the same four interpolation techniques as before, discount factors are derived for maturities 15 days apart, out to 1 year. A set of 15-day forward rates are derived for each set of discount factors. These are compared below. 3.5% 15-day forward rates 3.0% 2.5% 2.0% Linear Interpolation of rates 1.5% Cubic Interpolation of rates 1.0% Linear Interpolation of DF's Cubic Interpolation of DF's 0.5% Log-linear Interpolation of DF's 0.0% - 50 100 150 200 250 300 350 400 The maximum difference between forward rates with the same settlement and maturity dates is more than 40bps; the average difference is more than 11bps. Worksheet to use futures to calculate a FRA Eurodollar futures1 prices for 3-month contracts with maturities in Mar and Jun ’08 are given. An FRA2 for a 3-month period beginning between Mar and Jun ‘08 is priced by estimating the fair 3- month rate from the rates implied by the futures prices3: this is usually done by simple linear interpolation between neighbouring implied futures rates. The net P/L from a portfolio comprising two sold futures in the ratios shown in the formula above and one sold $1,000,000 FRA is computed for parallel and rotational shifts under simplifying assumptions that (a) P/L from futures can be calculated by multiplying $25 by number of basis points applied in shifts at their maturity dates and (b) P/L from FRA can be calculated by multiplying - $1,000,000 by number of actual days between its settlement and maturity dates as fraction of 360 by number of basis points applied in shift at its settlement date. From a credit perspective, is it correct to use futures to price an FRA? Futures are effectively risk free due to the margining process, whereas an FRA is an OTC product. We will see later that since OTC products use collateralisation extensively futures and FRA rates are comparable. 1 The buyer of a futures contract benefits from its price increasing or equivalent the implied interest rate falling; the price of the contact at maturity is derived from the spot 3-month LIBOR rate at that time. 2 The seller of an FRA agrees to pay a floating interest rate to receive a fixed interest rate; the buyer of an FRA agrees to pay the fixed interest rate and to receive the floating interest rate. 3 Although forward rates can be created by spot money market transactions, FRAs are off-balance sheet whereas cash trades are on-balance sheet. If a liquid interest rate futures market exists it is much more likely to be used to price and hedge FRAs. Pricing a money market swap using Futures and Cash A money market swap is a short-dated swap typically priced and hedge using a futures strip. This spreadsheet prices a 1-year swap to receive fixed annual on Actual/360 basis and to pay 3-month LIBOR on Actual/360 basis quarterly. A strip of cash rates out to 1 year and a strip of futures prices out to slightly beyond 1 year are given. The maturity dates of the (interpolated) cash rates coincide with the fixing/payment dates of the swap; the maturity dates of the futures contracts do not. Nevertheless using the same technique as in the previous spreadsheet the futures prices are used to estimate the forward LIBOR rates. Using the discount factors implied by the cash rates, the net present value of the floating leg is calculated. The net present value of the fixed leg is calculated assuming a coupon of 100% and is derived by solving for the value that sets the net present value of both legs equal. The net P/L from a portfolio comprising four sold futures in the ratios needed to hedge the floating leg and the floating leg itself is computed for a non-parallel increase in the implies rates of the futures contracts under simplifying assumptions that(a) P/L from futures can be calculated by multiplying $25 by number of basis points applied in shifts at their maturity dates and (b) P/L from floating leg can be calculated by re-computing the LIBOR fixings using the new implied rates of the futures contracts and discounting the cash flows using discount factors derived from the original (un-shifted) cash rates. This a serious practical flaw in the model, in that it uses futures for estimating the future LIBOR fixings and cash rates for deriving the discount factors but although both markets are providing information over the 12-month period shifts are only applied to futures and not to cash rates. Pricing a money market swap off a futures strip [tweak to previous worksheet] This spreadsheet uses the linearly-interpolated cash rate to the first futures contract’s maturity and the implied interest rates for the futures strip to derive discount factors for the maturity dates of the futures strip. These are translated into zero rates, which are linearly interpolated to arrive at values at the fixing/payment dates of the swaps, whence the discount factors for computing the net present value of the swap payments are obtained. This method of discounting the discount curve is widely used, often under the name “continuously compounded interpolation”. Simple linear interpolation of neighbouring futures implied rates is used to obtain LIBOR fixings, as before. The construction of a discount curve when futures are not evenly spaced - correcting for the date mismatches in the futures This spreadsheet converts the simple implied rates of interest for the futures contracts into daily compounded rates, creates a set of non-overlapping contiguous periods, either copies over compounded rates or averages compounded rates of neighbouring periods, and converts the results into simple interest rates to derive discount factors as before. The swap is re-priced with negligible change in net present value. Simple linear interpolation of neighbouring futures implied rates is used to obtain LIBOR fixings, as before. This spreadsheet also contains the results of “blipping” the curve. Because futures affect the swap both through the estimation of LIBOR fixings and the discounting process, it is easiest to use numerical perturbation to estimate the impact of changing market conditions. In turn, each futures price is perturbed 1 basis point downwards (equivalent to 1 basis point increase in the implied rate, which is conventional) and the change in net present value of the swap is noted. Pricing a money market swap off a futures strip - version 2 This spreadsheet is similar to the one before the previous one, except that instead of deriving discount factors via continuously compounded interpolation (of zero rates), they are estimated directly from the estimated LIBOR fixings of the swap of the swap. The author notes that this technique can only be used when the fixed and floating legs have the same payment frequencies or the frequency of one if a multiple of the other4. Pricing a money market swap off a futures strip using forward valuing The final spreadsheet in this workbook demonstrates another way of computing the fixed payment at maturity necessary to render the swap’s net present value at inception equal to zero. We assume that the bank funds the floating leg cash flows at each payment date borrowing at LIBOR flat. The fixed cash flow received at maturity must be enough to repay the outstanding borrowings at that date. Conventionally, swap pricing assumes that banks can always fund themselves at LIBOR flat. This forward-valuing approach can be applied to embed the bank’s funding cost into a swap. For example, if we use LIBOR + 100bps as our effective borrowing cost on the floating leg, the rate on the fixed leg rises by about 4bps. This approach will be applied to more complex transactions later. Aside: Convexity bias in futures [not in worksheet] Thinking about selling a single futures contract versus buying an FRA with the tenor, dates, etc., what should the implied rate on the futures contract be in comparison to the rate agreed in the FRA? If rates increase, we can expect to make money on both positions; however, the futures margin is received immediately and can be invested at the higher rate whereas the win on the FRA position is only realised at maturity. All other things being equal, this bestows an economic advantage to the seller of the futures contract versus the buyer of the FRA, and the former must pay for by accepting a lower price on day 0, i.e., agreeing to a high implied rate of interest. The theoretical adjustment that needs to be added onto the FRA rate can be modelled within the HJM framework. The adjustment is small under 2 years; typically it is about 6bp for the 5-year forward rate and 18bp for the 10-year forward rate. Chapter 3 (Generic Interest Rate Swaps) Spreadsheet: Ch 3 Generic swaps.xls Market data Cash rates for o/n 7-day, 1-month, 3-month, 6-month, and 12-month maturities with spot settlement are given. Mid-level swap rates annual actual/360 basis against 3-month LIBOR are given for maturities from 1 to 30 years. Finally, a strip of futures prices out to 10 years is given. Worksheet to generate the cashflows of a generic USD swap 4 Yet another alternative is to estimate both LIBOR fixings and discount factors via continuously compounded interpolation (of zero rates). This spreadsheet shows the cash flows for a 7-year swap to receive fixed and pay floating. The first LIBOR fixing is known; the others are just showed as ‘Libor’. The spreadsheet also demonstrates how the notional exchange of principal and the start and end of the swap can be included without changing the economics. A set of discount factors for the (annual) payment dates of the fixed leg is derived from a fixed simple interest rate,cou and using these discount factors the net present value of the cash flows on the fixed leg, including initial and final notional exchange of principal, is shown to be zero. Worksheet to demonstrate the discovery of a synthetic par bond This spreadsheet shows how to go from semi-annual actual/365 yields-to-maturity for government bonds to annual actual/360 swap rates by adding spread to account for (i) differences in credit between underlying bond market and interbank swap market, (ii) demand versus supply, and (iii) hedging costs, e.g., buying bond to hedge paying fixed and financing transition through reverse repo with borrowing rates typically lower than LIBOR but with potential to rise over quarter and give rise to additional costs/risks; and re-stating resultant rate on annual actual/365 basis. It is observed that the resultant rates are not too far off swap rates for similar maturities quoted in the market (yes— that the purpose of the spreads added to the yields-to-maturity.) To price a swap at a maturity not represented by the underlying bond market, one approach demonstrated in this spreadsheet is to interpolate the yields-to-maturity available in the bond markets and calculate the swap spreads at maturities available in the swap market. Adding the interpolated yield-to-maturity and swap spread gives the swap rate at the desired maturity. Worksheet to generate the fixed cashflows of a generic USD swap This worksheet demonstrates how to calculate net present value of the fixed legs of 2- and 10-year swaps, taking into account day count conventions, etc., and using discount factors calculated on a subsequent worksheet. (Repeat of concept demonstrated in previous spreadsheet, to some extent.) Worksheet to calculate a discount curve using linear interpolation on the swap curve and different methods on the discount curve This worksheet presents a subset of the market rates shown earlier: 7-day, 1-month, 3-month cash rates, a strip of futures to beyond 15 months, a strip of 14 swaps from 2 to 30 years. Step 1, futures prices for 6-, 9-, and 12-months are computed using linear interpolation. Step 2a, the maturities of the “missing swaps”, e.g., 11-, 13-, 14-year swaps, are computed by adding whole numbers of years onto settlement date using modified forward convention. Step 2b, the rates of the “missing swaps” are computed using linear interpolation. Step 3a, the discount factors corresponding to the maturities of the cash rates are computed in the usual way (simple compounding). Step 3b, the discount factors corresponding to 6-, 9-, and 12-month maturities are computed in the usual way (simple compounding of previous discount factor). Step 3c, the discount factors corresponding to the maturities of the augmented set of swaps are computed by figuring out how the final cash flow (final notional exchange of principal plus final coupon) must be discounted such that when combined with the present value of the earlier coupons (discounted using already computed factors) and the initial notional exchange of principal results in a swap worth par. Step 4, the zero coupon rates corresponding to the maturities of the augmented set of swaps are computed in the usual way. The rest of the spreadsheet interpolates discount factors for a set of evenly spaced dates 3 months apart using a variety of interpolation schemes: (i) linear interpolation of discount factors, (ii) linear interpolation of zero coupon rates, and (iii) linear interpolation of logs of discount factors. The average maximum difference between the three methods is about 7bps. There are very significant jumps in the forward rates across the maturity dates of the original set of swaps. Details of Hermitian Interpolation This spreadsheet demonstrates the use of Hermitian interpolation to smooth out the original set of swap rates. The idea is that we fit a cubic polynomial to the values of the target function and its derivatives (approximated using finite difference) at each end of each segment. Worksheet to calculate a discount curve using Hermite interpolation on the swap curve and different methods on the discount curve This spreadsheet shows a comparison of bootstrapped discount factors both derived using continuously compounded interpolation, i.e., linear interpolation of zero coupon rates. (The spreadsheet repeats the illustration of the other methods that may used to interpolate discount factors but the comparison is limited to the case of continuously compounded interpolation.) The curves differ in that the second set take as the starting point the augmented set of swap rates obtained using Hermitian interpolation rather than using linear interpolation as we did earlier. The differences in implied forward rates fluctuate by -30bps to +30bps, although the average difference is quite small—which is to be expected because both curves will “price” the original set of swap rates correctly and these swap rates are in a sense an average of the forward rates along the curve. Moreover, the two forward curves diverge appreciably at the long end. Worksheet to calculate a discount curve using an optimisation approach This spreadsheet computes the discount factors out to 1 year using in the usual way using a 3-month cash rate and future prices for 3-, 6-, and 9-month maturities (interpolated if necessary). After that date, discount factors are derived from 3-month forward rates and these are chosen by an optimisation routine that attempts to minimise the sum of the square of the change from one forward rate to the next while correctly pricing the original set of swap rates, i.e., there is no augmented set of swap rates and the methodology focuses on fitting the actual information provided by the market. The resultant curve is considerably smoother than the boot-strapped curve and yet remains arbitrage-free. Bootstrapping a swap curve 7.0% 6.0% 5.0% 4.0% Cubic Hermite 3.0% interpolation of swap… 2.0% 0 10 20 30 Building a blended curve using optimisation The previous worksheet produces an arbitrage-free curve that is also smooth. This worksheet attempts a more difficult problem in that there is overlap between the futures and swaps segments, making it impossible to achieve both objectives completely. Therefore, the worksheet sets as its objective 90% of total (square) error fitting to market data plus 10% of smoothing measure (defined as earlier). 3 monthly Forwards 6% 5% 4% Axis Title 3% 2% Smooth 1% Arbitrage-free 0% 0 2 4 6 8 10 Axis Title Addendum – curve fitting in the real-world At a Tier 1 bank, Patrick worked at for many years... Discount factors were derived from cash, futures, and swaps using bootstrap for cash and, optionally, futures, and a non-linear solver for swaps. Overlapping futures are handled similarly to how they are handled in the workbook Short-term swaps.xls, except that the number of days in the separate segments are taken into account. Cash rates maturing after the first cash rate to overlap the first futures contract are immediately discarded. The remaining overlap may be handled either by bootstrapping (stub rates) or via the non-linear solver. Gaps between futures contracts or between the cash rates and futures rates are filled via interpolation. Discount factors at dates that are not maturities of build instruments may be determined in a variety of ways, including continuously compounded interpolation (i.e., linear interpolation of zero rates). Chapter 4 (The Pricing and Valuation of Non-generic Swaps) Spreadsheet: Ch 4 Non-generic swaps.xls Market data The market data for this workbook are zero coupon rates for maturities out to 30 years and spaced 3 months apart—from which discount factors and forward rates are derived. 4.2: Pricing of Non-Generic Swap - 1/5 Forward Starting - using Hedging Swaps This spreadsheet demonstrates how the correct fixed rate for a 1-into-4 (forward starting) swap can be deduced from the rates for (spot starting) 1- and 5 year swaps. 4.3: Pricing of Non-Generic Swap - 1/5 Forward Starting - using NPA This spreadsheet demonstrates the same pricing as 4.2, except by valuing the fixed leg of the swap (including initial notional outflow of principal) at par. 4.4: Pricing of Non-Generic Swap - 1/5 Forward Starting - using Implied Forwards This spreadsheet bites the bullet and values the 1-into-4 year swap’s fixed and floating legs using the discount factors and forward rates implied by the market data. 4.5: Pricing of Non-Generic Swap - 1/5 Forward Starting - using a Formula This spreadsheet gives a simple formula for implying the 1-into-4 swap rate: which follows from comparing the interest paid on the floating leg to the interest paid on the fixed leg. 4.6: Pricing of Non-Generic Swap - 1/5 Forward Starting - using the Reference rate method and Implied Forwards This spreadsheet allows the tenor of the reference rate for the floating leg to differ from the period between fixing/payment dates. This swap can be valued in the standard way using implied forwards, etc. Remaining spreadsheets The remaining spreadsheets in this workbook show how to value amortising and rollercoaster swaps using the techniques already demonstrated. Chapter 5 (Asset Packaging) Spreadsheet: Ch 5 Asset Packaging.xls Market data The market data for this workbook are zero coupon rates for maturities out to 30 years and spaced 3 months apart, plus rates for 1 week and 1 month. 5.2: Diagram of the Impact of the Accord on Capital This spreadsheet shows a stylised plot illustrating how capital requirements are risk sensitive under Basel 3. 5.3: Creating a simple Par asset swap with a bond trading below par A par asset swap is the combination of a bond purchase (pay bond dirty price, receive bond cash flows, net present value of zero) plus a par swap with fixed leg pays away bond cash flows. The margin over LIBOR on the floating leg can be worked out in the usual way. The purpose of this spreadsheet is to compute this margin. Note, the initial outlay to purchase the bond is 100, which means if the bond is trading at a discount then the discount is paid away via the swap’s fixed leg at inception. Of course, the redemption amount from the bond is also 100 and exchange of principal on the swap legs is only notional. 5.4: Creating a simple Par maturity asset swap with a bond trading below par This spreadsheet is similar to the one before except that the dates of the bond cash flows, therefore also the dates of the swap’s fixed leg cash flows, are different from the dates of the swap’s floating leg cash flows. Effectively the redemption amount of the bond is paid at the (regularised) final date of the swap’s floating leg. 5.5: Creating a simple discount asset swap with a bond trading below par This spreadsheet is similar to 5.3 except that the money received from and paid back to the investor is 90 (rather than 100) and the swap’s leg is adjusted to provide/remove the additional funding at inception/termination. Of course, the margin on the LIBOR leg increases, because the shortfall between what the investor pays and the cost of the bond is being financed. The limitation is in this spreadsheet is that the financing is happening at LIBOR flat even though the investor may not warrant this. The next spreadsheet gets around this limitation. 5.6: Forward Valuing an Asset Swap In Ch 2 Short-term swaps.xls we discussed the concept of forward valuing cash flows, where, instead of discounting, we assumed all cash flows paid have to be borrowed at some rate (possibly a spread over LIBOR) and all cash flows received have to be invested in the money market account to earn LIBOR flat. We use this same technique to factor in a cost of credit (for the bond’s issuer) in the discount asset swap considered in 5.5. We assume the initial shortfall between the cost of the bond and the amount paid by the investor has to be financed at LIBOR + 50 bps p.a. This has the effect of reducing the margin paid on the swap’s floating leg by several basis points. The idea here is that if the bond’s issuer defaults, the investor loses his investment but no more, which means the amount lent to make up the purchase price of the bond is lost. In effect, this risk is paid for by the 50 bps p.a. spread over LIBOR. Chapter 6 (Credit Derivatives) Spreadsheets: Ch 6 Credit Derivatives.xls, Ch 6 Credit Adjusted Pricing.xls, Ch 6 Appendix Modelling a portfolio CDS Market data The market data for this workbook are zero coupon rates for maturities out to 30 years and spaced 3 months apart, plus rates for 1 week and 1 month. This worksheet also presents next Standardised Credit Market roll dates, which occur on 20th of Mar, Jun, Sep, Dec of each year adjusted (forward) for weekends. There is also a graph showing gross CDS notional principal outstanding between 2011 and 2008, with a peak of USD 62.2 trillion in 07H2, 6.2: Creating a simple Par maturity asset swap This spreadsheet models a par maturity asset swap that exchanges the coupons from a 5-year bond paid on odd dates for a spread paid over LIBOR on the standardised credit market roll dates. Note, the initial outlay to purchase the bond is 100, which means if the bond is trading at a discount then the discount is paid away via the swap’s fixed leg at inception. 6.3: Estimating the Z-spread for a bond This spreadsheet computes the z-spread for the bond modelled in the previous worksheet. The z- spread is the constant spread that must be added to the zero coupon rate curve such that resultant discount factors price the bond correctly to market. The z-spread is lower than the spread computed in the previous spreadsheet. Note the spread over LIBOR does not need to price the default risk of the bond’s issuer because the full purchase price has been paid by the investor and he has undertaken to continue to pay the bond’s coupons whether or not he receives them from the bond’s issuer. 6.4: Hedging a generic CDS The spreadsheet is premised on the observation that selling protection via a CDS is equivalent to buying a “risk free” FRN with matching maturity for 100, generating LIBOR, and selling a risky FRN for 100, assuming the same credit risk as under the CDS, generating LIBOR + spread. The spread, which can be estimated using the par maturity asset swap considered in the previous worksheets, is called the Asset Swap (ASW) spread. In this spreadsheet, a small drop in the bond price (due to increased riskiness) is translated into an equivalent increase in the ASW spread. Because of various factors, such as cost of funding bonds, delivery option for physical-settled CDS, material change clauses embedded in bond illiquidity of bonds, the basis between the CDS premium and the ASW spread averages out at about 10-20bps above zero but of course supply and demand plays a major role. 6.5: Modelling a CDS on a quarterly basis This spreadsheet prices a 5-year CDS under the simplifying assumption that if default occurs during a quarter the event payment occurs at the end of the period and if the reference entity survives to the beginning of the quarter then the premium is received (without risk) at the end of the period. The spreadsheet takes as its input the strip of quarterly Forward Default Probabilities ( ). The author states these are unconditional probabilities of default for each quarter, from which probabilities of default conditioned on survival to start of quarter (default intensities) are derived—nevertheless, these are used as if they are conditional probabilities of default, i.e., default intensities. ASSUME THIS AN ERROR 6.6: Modelling a CDS on a monthly basis This spreadsheet repeats the same calculation as before but now using monthly forward default probabilities. The solved-for margin is materially unchanged. 6.7: Estimating FDP curve using quarterly time periods This spreadsheet estimates a strip of quarterly forward default probabilities out to 30 years by first interpolating quarterly CDS prices using Hermitian interpolation of actual CDS prices in the market for a small set of yearly / half-yearly maturities (in reality even these are not available). The quarterly forward default probabilities are solved for analytically, such that the interpolated CDS prices are reproduced (i.e., such the net present value of the floating and fixed legs are matched for each swap). 6.8: Hermitian interpolation This spreadsheets carries out the actual interpolation of CDS prices used above using Hermitian interpolation (i.e.., fits cubic polynomials in each segment to match terminal values and first order derivatives calculated using finite differ.9rencing). 6.9: Estimating FDP curve using monthly time periods This spreadsheet is similar to 6.7, except that it gives monthly forward default probabilities. However, the forward default probabilities are assumed to be constant within quarters. In theory, this leads to more accurate approximation to net present values of floating and fixed legs. Note, it’s no longer possible to compute the forward default probabilities analytically, and instead we have to resort to optimisation. 6.10: Estimating FDP curve using daily time periods This spreadsheet is similar to 6.9, except that it gives daily forward default probabilities. In theory, this leads to even more accurate approximation to net present values of floating and fixed legs. Note, it’s no longer possible to compute the forward default probabilities analytically, and instead we have to resort to optimisation. 6.11: Estimating forward default probability curve using optimisation on a quarterly basis This spreadsheet returns to computing quarterly forward default probabilities but using optimisation instead of doing so analytically. The optimisation attempts to match the CDS prices observed in the market, so no Hermitian interpolation of CDS prices is carried out, and additionally it seeks to to maximise the smoothness (actually minimise the sum of the squared changes) of the forward default probability curve. Estimating FDP curves using GM data 6% 5% 4% 3% 2% Optimisation Bootstrapping, using qu hermitian interpolation 1% 0% 0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 6.12: Estimating forward default probability curve using optimisation on a monthly basis This spreadsheet is very similar to 6.11, except that it leads to monthly forward default probabilities. Again, the optimisation attempts to match CDS prices observed in the market (no interpolation) and a smoothness criterion is imposed. The assumption of constant forward default probabilities within each quarter is dropped. 6.13: Estimating forward default probability curve by fitting a Nelson-Siegel curve This spreadsheet estimates quarterly forward default probabilities to match quarterly CDS prices derived using Hermitian interpolation. The forward default probabilities are constraint to fit a Nelson-Siegel curve of the form: b0 + b1 * exp{-t/tau} + b2 * (t/tau) * exp{-t/tau}. The four parameters b0, b1, b2, and tau are calibrated through optimisation with minimisation of sum of square errors in (interpolated) CDS prices as objective. 6.14: Modelling a 3 year knock-out forward starting CDS This is a straightforward forward-starting CDS. The survival probabilities using to net present value the fixed leg and the probabilities of default in the various periods take account of the possibility of default before either leg commences. 6.15: Modelling a 3 year no-knock-out forward starting CDS In contrast to the previous model, this one makes the floating leg more valuable (therefore commensurately a lower spread is required to be paid on this leg) by making the payment of the first premium contingent only on survival during the preceding period, i.e., survival probability to start of first accrual period is reset to 100%. 6.16: Pricing a Floating Credit default swap This spreadsheet prices a floating CDS, which means the premium is not fixed over the lifetime but is refixed at the beginning of each period. Effectively this means that in each accrual period the premium compensates for the default risk in just that period. The PVlet of the fixed and floating legs are equal for each accrual period. 6.17: Constant Maturity Credit default swap pricing with no convexity adjustment, 6.18: Estimated volatilities and correlations for convexity adjustment, 6.19: Constant Maturity Credit default swap pricing with convexity adjustment [These spreadsheets tackle the pricing of a constant maturity CDS where, like a floating CDS, the premium resets each period but in this case is linked to a longer term CDS rate, just like a yield curve swap] 6.20: Valuing an old CDS This spreadsheet demonstrates the pricing of a CDS with an off-market premium. This presents no issues and is a straightforward application of techniques already covered. 6.21: Market data for Credit Adjusted pricing Strip of discount factors 3 months apart out to 10-years, whence strip of 3-month forward rates is derived. Strip of 3-month forward log-normal volatilities out to 10 years. Calculated is strip of PV01s, each with periodicity 1 year, out to 30 years, whence spot swap rates are derived. Strip of 1- year forward rates also derived; corresponding strip of 1-year forward volatilities derived via arithmetic averaging. 6.22: Modelling the Forward IR envelope For a sequence of forward simulation times, this spreadsheet calculates 95% confidence intervals for the remaining 1-year forward rates, knitting them together to give simplistic “95% confidence” envelopes for the strips of remaining 1-year forward rates. Forward curve with 95% envelopes 12% 1 yr forward 10% 5yrs forward 12yrs forward 8% 6% 4% 2% 0% 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 These evolved forward rates are used to derive evolved discount factors, PV01s, and swap rates at each simulation time—whence we evolve the net present values of swaps struck at inception with unchanging fixed rates. 6.23: Worksheet to summarise modelling swap exposure and to plot Potential Future Exposure This spreadsheet collects together the results for 5- and 12-year swaps and plots them. 95% exposure envelopes 25% 12 year 20% 5 year % 15% of NPA 10% 5% 0% 0 2 4 6 8 10 12 maturity 6.24: Estimation of PELs for IRS and CCS 6.25: IRS PEL 6.26: CCS PEL These spreadsheets contain extracts and plots of a Bank of England report estimating the PELs (peak exposure limits) for an IRS and CCS under a range of maturities and probability envelopes. 6.27: Worksheet to calculate the credit adjustment on the pricing of an IRS This worksheet calculates the credit adjustment for an IRS under a range of maturities using the formula This charge is calculated on the basis that it should be sufficient to cover a 95% loss with no recover and ignores any possibility that the swap might have a current market-to-market loss. The survival probabilities, etc. are derived from extracted from Moody's Corporate Bond Default report, Jan 1995 Table 8. 6.28: Accumulative default probs This chart plots the default probabilities extracted from Moody’s Corporate Bond Default report, Jan 1995 Table 8. 6.29: Graph of CA pricing It follows that the number of basis points that should be collected periodically until the time of default of the counterparty is These are plotted in this chart for an IRS under a range of counterparty ratings and swap maturities. 6.30: Market data for Appendix to Chapter 6 A strip of discount factors out to 30 years, spaced one quarter of a year apart, is given. Base correlation matrix between sectors The following base correlations between sectors are given Sectors Financial Chemical Mining Oil Transport 1 2 3 4 5 Financial 100% 30% 20% 30% 40% Chemical 30% 100% 40% 60% 30% Mining 20% 40% 100% 50% 40% Oil 30% 60% 50% 100% 80% Transport 40% 30% 40% 80% 100% From this a shifted correlation matrix between sectors is derived using the formula Additionally, the following recovery rates data are given Recovery rates (% of Face Value) Mean St dev Senior secured 53.80% 26.86% Senior unsecured 51.13% 25.45% Senior subordinated 38.52% 23.81% Subordinated 32.74% 20.18% Junior subordinated 17.09% 10.90% 6.32: Accumulative default probabilities (from S & P) The following rate-specific term structures of default probabilities are given 0 3 6 9 12 ... AAA 0.00% 0.00% 0.00% 0.00% 0.00% AA 0.00% 0.00% 0.00% 0.01% 0.02% A 0.00% 0.00% 0.00% 0.01% 0.02% BBB 0.00% 0.02% 0.05% 0.09% 0.13% BB 0.00% 0.24% 0.51% 0.80% 1.12% B 0.00% 1.02% 2.12% 3.27% 4.46% CCC 0.00% 6.48% 12.26% 17.42% 22.03% Time 0 0.25 0.5 0.75 1 ... stretching out to five years. These are derived from S&P data. 6.33: Original Portfolio - with full details A portfolio of 100 (reference) assets is presented. Each asset is assigned a sector, rating, seniority, principal, and maturity—whence PD to maturity and LGD are assigned based on the lookup tables given earlier. A base correlation with sector parameter is assigned to each asset, presumably based on an (unseen) factor model for asset value return. These parameters can be shifted using the formula presented earlier. 6.34: Constructed Asset correlation matrix from sectoral factors This spreadsheet computes the asset correlations between in the individual assets in the pool using their correlations with the sector indices and the correlations between sector indices. If where is the sector index of the -th asset then the correlation between and is given by This matrix is decomposed into 5. 6.35: This worksheet runs a single scenario to calculate the PV of payments to be made under the CDS Step 1: generate 100 variates from independent uniform distributions Step 2: transform using inverse standard normal distribution function6; we now have 100 variates from independent standard normal distributions, which we assemble into vector Step 3: Calculate vector ; we now have 100 variates from correlated standard normal distributions Step 4: transform using standard normal distribution function; we now have 100 variates from correlated uniform distributions, which we assemble into vector Step 5: If then asset has defaulted; term structure of PDs for asset’s rating until maturity can be used to determine timing of default7. Step 6: Calculate net present value of payments from defaulted assets from principal, LGD, and appropriate discount factor 6.36: This worksheet runs a single antithetic scenario to calculate the PV of payments to be made under the CDS This worksheet is identical to previous spreadsheets, except that samples in Step 1 are generated as antithetic8 variates. 6.37: This worksheet will run a range of scenarios (currently 500 normal and 500 antithetic), build a Loss Distribution and fit a Weibull distribution Using the TABLE function, which I don’t understand, this worksheet reruns the two earlier ones to come up with 1,000 scenarios (including ones based on antithetic variates) for the net present values of payments from default assets. From these data, a frequency distribution sliced into 10 buckets (this is a parameter) is derived and then conditioned on the event of one or more defaults by 5 The Cholesky decomposition or Cholesky triangle is a decomposition of a Hermitian, positive-definite matrix into the product of a lower triangular matrix and its conjugate transpose. When it is applicable, the Cholesky decomposition is roughly twice as efficient as the LU decomposition for solving systems of linear equations. In a loose, metaphorical sense, this can be thought of as the matrix analogue of taking the square root of a number. 6 The spreadsheet also offers the possibility of mapping using t-distribution function, with number of degrees of freedom as free parameter. 7 The spreadsheet appears to have a bug whereby it uses term structures for A or BBB or else defaults to BB. 8 The antithetic variates method is a variance reduction technique used in Monte Carlo methods and is based on the observation that if N is a standard normal variable then so is N (see http://en.wikipedia.org/wiki/Antithetic_variates for mathematical explanation). This method has two advantages. First, it enables the number of simulations to be doubled without simulating more random numbers. Second, it reduces the variance of estimators derived from the simulation. Another good feature of this method is that all odd moments of the simulation are correct. dividing through by the probability of this event. A parametric distribution (Weibull) is fit to the resultant empirical distribution. Loss distribution 55% 50% 45% 40% 35% 30% 25% 20% 15% 10% 5% 0% 0.0% 0.7% 2.0% 3.4% 4.7% 6.1% 7.4% 8.8% 10.1% 11.5% The spreadsheet makes no attempt to price tranches on the pool of assets but this would be only a few additional steps. Chapter 7 (More Complex Swaps) Spreadsheets: Ch 7 Mismatch Swaps.xls, Measuring the convexity effect in an IRS using BGM.xls, Appendix Convexity structures.xls 7.1: Market data A strip of zero coupon rates for 1-week, 1-month, 3-month, 6-month, etc. is given, from which discount factors are derived. The 1-week and 1-month rates are not used. 7.2: Pricing an in-arrears swap This spreadsheet “prices” a contract that receives 3-month LIBOR in advance (“the normal kind”), which means payment at end of accrual period is based on fixing at beginning of accrual period, in exchange for paying 3-month LIBOR in arrears, which means payment at end of accrual period is based on fixing at end of accrual period. It is noted that the “fair spread” over LIBOR on the pay leg is 7.52 basis points, which is similar to 7.83 spread between the first and last LIBOR fixing. 7.3: Creating a customised average-rate swap This spreadsheet demonstrates and “prices” a typical application of an average rate swap. A client is holding a portfolio of floating rate bonds each paying 3-month LIBOR (in advance) but resetting on different dates. She enters into an average-rate swap that receives the weighted average of the forward rates of five floating rate bonds and pays a fixed rate, both rates accrued on the total notional of the bonds. 7.4: Creating a compound swap This spreadsheet demonstrates and “prices” a typical application of a compound swap. A client wishes to swap 3-month LIBOR paid quarterly for a fixed rate paid annually but is concerned about the credit risk on the fixed leg. Instead she reinvests the floating payments as they are paid at the new 3-month LIBOR for the next period. Eventually a single cash payment is made at the end of the year, matching the frequency of the fixed side and thereby reducing the credit exposure substantially. 7.5: Pricing a Constant Maturity Swap - using sa. Reference Rate This spreadsheet “prices” a 4-year swap that semi-annually exchanges 6-month LIBOR for 5-year CMS less a spread. The payment frequency on both legs is semi-annual. The payment frequency of the fixed leg of the (reference) 5-year CMS is also semi-annual. The CMS rates are computed from the initial term structure of discount factors (by computing forward swap rates) with no convexity adjustments. 7.6: Pricing a Constant Maturity Swap - using qu. Reference Rate paying sa This spreadsheet “prices” a 4-year swap that exchanges 6-month LIBOR for 5-year CMS less a spread. The payment frequency on both legs is semi-annual. In contrast to the previous spreadsheet, however, the payment frequency of the fixed leg of the (reference) 5-year CMS is quarterly. The CMS rates are computed from the initial term structure of discount factors (by computing forward swap rates) with no convexity adjustments. 7.7: Pricing a Constant Maturity Swap - using sa. Reference Rate paying qu This spreadsheet “prices” a 4-year swap that exchanges 6-month LIBOR for 5-year CMS less a spread. In contrast to the previous two spreadsheets, the payment frequency on both legs is quarterly. Similar to spreadsheet 7.5, however, the payment frequency of the fixed leg of the (reference) 5- year CMS is semi-annual. The CMS rates are computed from the initial term structure of discount factors (by computing forward swap rates) with no convexity adjustments. 7.8: Pricing a Participation Constant Maturity Swap - using sa. Reference Rate Similar to spreadsheet 7.5, this worksheet “prices” a 4-year swap that exchanges 6-month LIBOR for 5-year CMS. Instead of subtracting a spread from the CMS leg, however, a participation rate is compute to set the fair value of the swap to zero at inception. The participation is a scalar applied to the reference rate of the CMS leg, e.g., 78%. 7.9: Estimating the convexity effect of a Generic IRS using forward rates This spreadsheet examines the convexity, defined as the sum of the P/L for +/- 100bp parallel shifts of the forward curve, for par receiver swaps of varying maturities. The convexity effect, expressed in basis points of swap notional normalised by swap maturity, is seen to increases with the maturity of the swap. 0.14 0.12 0.10 0.08 0.06 0.04 0.02 0.00 0 5 10 15 20 25 30 35 7.10: Pricing a Constant Maturity Swap: how does it change in Value for a shift in the Forward Curve This worksheet conducts an analysis similar to spreadsheet 7.9, except that it examines changes in the value of a CMS swap for parallel shifts of the forward curve of varying sizes. The convexity effect, expressed in basis points of swap notional, for a 4-year swap that pays 5-year CMS and receives 6-month LIBOR is seen to increases with the size of the parallel shift. 0.70 0.60 0.50 0.40 0.30 0.20 0.10 0.00 0 100 200 300 400 500 600 7.11 Market data: extracted from Market Data worksheet for Chapter 7 Appendix The market data for this workbook are discount factors and zero coupon rates for maturities out to 30 years and spaced 3 months apart—from which the gradient of the zero coupon rate curve at various points are derived. 7.12 Pricing an in-arrears swap with CX adjustments This worksheet is similar to spreadsheet 7.2 in that it prices a contract that receives 3-month LIBOR in advance and pays 3-month LIBOR in arrears, except that it includes a convexity adjustment. After taking account of the convexity adjustment, the margin is increased from 7.52bp to just over 8bp. The formula for the convexity-adjusted in-arrears rate paid at time is where is implemented exactly as in the appendix separately for the cases of constant instantaneous volatility ( ) and reverting instantaneous volatility ( ). 7.13 Pricing an in-arrears swap via Simulation to assess CX This worksheet is similar to spreadsheet 7.2 in that it prices a contract that receives 3-month LIBOR in advance and pays 3-month LIBOR in arrears, except that it adds the convexity adjustment computed in spreadsheet 7.12 to the pay (normal LIBOR) leg. It runs a simulation for the implied forward rates using a log-normal model for forward bond prices. For each scenario, it computes the additional margin (incremental to the theoretical convexity adjustment) needed to value the swap at par. The average additional margin across 500 scenarios is 0.54bp; the range is -35.86bp to 30.09bp. [I’m not sure of the point of this worksheet] 7.14 Creating a customised average-rate swap with CX adjustment This worksheet is similar to spreadsheet 7.3 in that it prices a contract that receives the weighted average of the forward rates of five floating rate bonds and pays a fixed rate, both rates accrued on the total notional of the bonds, except that this version includes a convexity adjustment. After taking account of the convexity adjustment, the margin is increased from 7.52bp to just over 8bp. The formula for the convexity-adjusted floating rates paid at time is where is implemented exactly as in the appendix for the case of constant instantaneous volatility. Here is the fixing date of the rate, is its tenor, and is the time when the fixing is paid. A volatility of 1% lowers the fixed rate paid by just under 0.2bp. A volatility of 5% lowers the fixed rate paid by just 4.5bp. And a volatility of 10% lowers the fixed rate paid by just under 18bp. 7.15 Turbo Swaps - pricing a 4 year qu/qu swap with CX adjustment This worksheet demonstrates the pricing of a turbo leg of a four-year, quarterly swap. The price of the leg of the four-year swap is 4.107 without convexity adjustment. It increases to 4.1819 with convexity adjustment based on constant instantaneous volatility of 1%. And it increases further to 6.2164 with convexity adjustment based on constant instantaneous volatility of 5%. These results are based on a power of turbo of 1.2. If instead the power of turbo is 2.0, the equivalent results are 10.7665, 12.6586, and 58.0805! Evidently the convexity effects for a turbo swap can be significant. 7.16 Pricing a Constant Maturity Swap with Convexity Adjustment This worksheet is similar to spreadsheet 7.5 in that it prices a 4-year swap that semi-annually exchanges 6-month LIBOR for 5-year CMS less a spread, except this version includes a convexity adjustment. (Note, since the swap pays semi-annually, the CMS rate must be divided by two when used as a par yield in convexity adjustment.) The fair spread to subtract from the CMS leg is 91.08bp without convexity adjustment. The fair spread to subtract from the CMS leg is 91.31bp with convexity adjustment based on constant instantaneous volatility of 5%. 7.17 Pricing a Constant Maturity Swap with CX Adjustment - using Hagan's model [Convexity adjustment using Hagan’s model (not studied)] 7.18 Pricing a Constant Maturity Swap with Convexity Adjustment and Timing Adjustment This worksheet is similar to spreadsheet 7.16 in that it prices a 4-year swap that semi-annually exchanges 6-month LIBOR for 5-year CMS less a spread, except this version includes an additional timing adjustment. The fair spread to subtract from the CMS leg is 91.31bp without timing adjustment. The fair spread to subtract from the CMS leg is 91.28bp with timing adjustment based on constant instantaneous swaption and caplet volatilities of 5% and instantaneous correlation of 70%, i.e., the additional adjustment makes very little difference. 7.19 Measuring the convexity effect of a Constant Maturity Swap under parallel shifts [Not studied] 7.20 Measuring the scale of the convexity effect of a Constant Maturity Swap by simulation [Not studied] 7.21 – 7.26 [These worksheets measure the convexity effect in an IRS using BGM] Appendix A broad class of exotic interest rate derivatives, including in-arrears, average-rate, compound, and constant-maturity swaps, can be valued simply by adjusting the forward interest rate. This is known as a convexity adjustment. The author discusses two approaches. The first is based on evaluating the expectation of the payoff with respect to the forward measure approximately using a Taylor expansion of the price of a bond in terms of its yield, assumed to be log-normally distributed. The second is based on evaluating the expectation of the payoff with respect to the risk-neutral probability measure exactly using a simple HJM model, assuming either constant or reverting instantaneous volatility. See Convexity Adjustment.pdf for theoretical discussion Chapter 8 (Cross-market and Other Market Swaps) Spreadsheets: Ch 8 Cross-market and other market swaps v2.xls, Ch8 Inflation swap models v3.xls, Ch8 Inflation – Seasonality adjustments.xls, Ch8 LPI Inflation swap.xls, Ch8 Building an inflation curve by optimisation.xls 8.1: Market data A strip of USD zero coupon rates for 1-week, 1-month, 3-month, 6-month, etc. is given, from which discount factors and 3-month forwards are derived. A strip of JPY zero coupon rates for the same maturity tenors, from which JPY rates for the same maturity dates as USD cash rates are derived using linear interpolation. The spot USD/JPY exchange rate is given. A strip of 1-month forward rates for USD, presumably obtained by fitting a smooth curve through the other rates for USD. 8.2 Modelling an EONIA swap This spreadsheet calculates the (realised) cash flows from a 1-month EONIA9 swap that pays the accrued interest on a notional amount invested at the overnight rate and receives a fixed rate on the same notional amount. The swap leg that pays the overnight rate compounds the interest, making its actual payment only at the end of the month-long period. An EONIA swap is an example of an overnight index swap (OIS). In the example presented, both the 1-month and overnight rates accrued on ACT/360 basis. 8.3 Some Basis swap quotes This spreadsheet gives quotes for Fed Funds, Prime, Commercial Paper, and T-Bill swaps of various maturities. All these quotes are added to the non-LIBOR reference rate. For example, a bank would enter into a 10-year swap to pay (resp. receive) 3-month LIBOR and receive CP + 30bp (resp. pay CP + 15bp). 8.4 Modelling CP-LIBOR swaps When a CP swap is first entered into, obviously the CP fixings are unknown and need to be implied off a forward curve. This spreadsheet constructs the forward curve from the basis swap curve, using the current LIBOR forward curve and LIBOR discount factors on each side. If we put the principals in on both sides, the LIBOR leg will have a zero value and so we can write Given we know the quoted margins we can therefore estimate the implied forward rates . The spreadsheet actually derives spreads over the LIBOR forward curve such that the basis swaps are priced to market and the resultant CP curve meets a smoothness criterion. 9 Euro Overnight Index Average 1-month CP-Libor curves 6.0% 5.5% 5.0% 4.5% 4.0% 3.5% CP forwards 3.0% Libor forwards 2.5% 2.0% 0 12 24 36 48 60 72 84 96 108 120 8.5 Modelling Muni-LIBOR swaps Other forward reference curves can be constructed in a very similar fashion to the method described above for CP-LIBOR swaps, with one major exception: muni-LIBOR swaps are quoted very differently. The basic structure is to receive 13-week arithmetic average of a muni index and to receive times 3-month LIBOR, where is a constant depending on maturity. Using the same approach as spreadsheet 8.4, we can work out the forward curve for 13-week average muni rates. If we make the additional assumption that the 13-month average muni rates are times the corresponding 13-week average LIBOR rates, we can solve for these multiplicative factors as follows: Finally, the spreadsheet assumes that the 3-month muni rates are times the corresponding 3- month LIBOR rates. A smoothness criterion is applied to the multiplicative factors in the optimisation. 3-month Muni - Libor swap 6.0% 5.0% 4.0% 3.0% Muni forwards 2.0% Libor forwards 1.0% 0.0% 0 20 40 60 80 100 120 8.6: Example of Fixed Notional Equity Swap - without randomness This spreadsheet demonstrates the cash flows from a 2-year swap that pays the performance of the S&P Index plus 10bp and receives USD LIBOR on a quarterly basis. The spreadsheet also demonstrates how the swap may be hedged by borrowing the principal notional amount and purchasing a represent portfolio of S&P Index constituents. In theory, as with most basis swaps, a LIBOR-equity swap should be priced very close to flat. The existence of the margin reflects supply and demand, the bank’s efficiency in replicating the index, the bank’s ability to fund in the interbank market, various costs of running the portfolio, and, of course, the required return on capital required. 8.7: Example of Fixed Notional Equity Swap - with randomness This spreadsheet is almost identical to the worksheet 8.6 except that the “observed” performance of the S&P Index and the LIBOR fixings are simulated. The purpose of this is to show that the hedging strategy outlined already always works. 8.8: Example of Variable Notional Equity Swap - without randomness This spreadsheet is also almost identical to worksheet 8.6 except that the notional principal amount also accretes with the performance of the S&P Index. This structure is more common because it avoids the need to liquidate potentially small amounts of the constituents of the index. 8.9: Example of Variable Notional Equity Swap - with randomness This is the analogue of worksheet 8.7 for the variable notional equity swap. 8.10 – 8.13 Cross-currency fixed- and variable-notional equity-LIBOR swaps [Demonstrating cash flows and hedging] 8.14 Gilt data This worksheet presents a strip of normal bonds with redemption dates out to 50 years. 8.15 Index-linked data This worksheet presents a strip of linker bonds with redemption dates out to 50 years. Some of the bonds are based on RPI set to 100 in Jan 1987 and some are based on RPI set to 100 in Jan 1974. Some of the bonds use 3-month inflation lag as the reference. Some of the bonds use 8-month inflation lag as the reference. 8.16 Input Data This worksheet selects a subset of the normal bonds and all the linker bonds. It also presents the bond yields for bonds sets of instruments, and the quoted dirty prices for the linker bonds. 8.17 Input RPI Index This worksheet presents the historical values of the RPI indices rebased to 100 in Jan 74 and Jan 84 respectively. The former is shown between Jan 99 and Sep 02. The latter is shown between Jan 99 and Jan 08. The (common) publication dates are also given. 8.18: Worksheet to calculate the dirty price of the non-linked gilts from the yield This worksheet uses the formula for the sum of a geometric progression to calculate the price of each normal bond discounted to the next coupon date using the bond’s yield. The bond is then discounted back to the settlement date using the formula where is the time to the next coupon. 8.19: Building a gilt discount curve using a parametric Nelson-Siegel curve This worksheet estimates a parametric Nelson-Siegel curve to discount factors by minimising the RMSE error between normal bond prices quoted in the market and those derived using zero coupon rates derived from the discount factor curve. The discount factor curve is built at a regularly spaced sequence of dates. Zero coupon rates at the cash flow dates of the various bonds are derived using linear interpolation. 8.20: Worksheet for modelling all the non-index-linked gilt cashflows for N-S modelling This worksheet lays out all the cash flows paid by the various bonds and discounts these cash flows using interpolated zero rates derived from the Nelson-Siegel discount factor curve. 8.21: Building a gilt discount curve by bootstrapping This worksheet bootstraps a curve for zero coupon rates by minimising the RMSE error between normal bond prices quoted in the market and those derived using zero coupon rates derived from the discount factor curve. The zero coupon rate curve is built at an irregularly spaced sequence of dates located at the redemption dates of the bonds. The zero coupon rates at the cash flow dates of the various bonds are derived using linear interpolation. 8.22: Worksheet for modelling all the non-index-linked gilt cashflows for bootstrapping This worksheet lays out all the cash flows paid by the various bonds and discounts these cash flows using interpolated zero rates derived from the bootstrapped zero coupon rate curve. 8.23: Worksheet displaying constructed zero-coupon curves from non-index-linked gilts This worksheet compares the zero coupon rates derived from the Nelson-Siegel curve (smooth) and the bootstrapped curve (jagged). Gilt zero-coupon curve 6.00% 5.00% 4.00% 3.00% 2.00% 1.00% 0.00% 0.0 10.0 20.0 30.0 40.0 50.0 8.24: Building a Forward Inflation Curve using Nelson-Siegel curves This worksheet fits a parametric Nelson-Siegel curve to year-on-year inflation (annual RPI growth) by minimising the RMSE error between linker bond prices quoted in the market and those derived using zero coupon rates derived from the discount factor curve. The inflation curve is built at a regularly spaced sequence of dates (first business day of each month—not date of publication—but this date is only used to fit the parametric curve10). The index levels at the cash flow dates of the various bonds are derived using linear interpolation (after the end of the historic time series, index levels are derived by applying the annual RPI growth rates to previous values of the index). The 3- or 8-month lag is taken into account when selecting the reference index level used to inflate cash flows. The zero coupon rates used to discount real cash flows are derived from the bootstrapped curved in 8.21. 10 However, if the lag is not 8 months, there is an adjustment to extrapolate the index level to the actual date of the cash flow. Why is this not done if the lag is 8 months? Arguably a more straightforward way of proceeding would have been to build the inflation curve at the sequence of historic and future publication dates, and use interpolation to compute reference index levels at lagged dates needed to inflate cash flows. 8.25: Worksheet for modelling all the index-linked gilt cashflows for use in a N - S model This worksheet lays out all the (inflated) cash flows paid by the various bonds and discounts these cash flows using interpolated (nominal) zero rates derived from the bootstrapped zero coupon rate curve. 8.26: Building a Forward Inflation Curve by bootstrapping This worksheet bootstraps a curve for zero year-on-year inflation (annual RPI growth) by minimising the RMSE error between linker bond prices quoted in the market and those derived using zero coupon rates derived from the discount factor curve. The zero coupon rate curve is built at an irregularly spaced sequence of dates located at the redemption dates of the bonds plus 3- or 8- month lags. The index levels at the cash flow dates of the various bonds are derived using linear interpolation. 8.27: Worksheet for modelling all the index-linked gilt cashflows for use in a bootstrapping model This worksheet lays out all the (inflated) cash flows paid by the various bonds and discounts these cash flows using interpolated (nominal) zero rates derived from the bootstrapped zero coupon rate curve. The spreadsheet is identical to 8.25 except that the index levels are obtained from the bootstrapped curve for year-on-year inflation. 8.31-8.32: Building an inflation curve by optimisation This (separate) workbook uses the same data on linker bond prices and historic RPI index levels presented in 8.15 and 8.17. Additionally, it takes the zero coupon rates bootstrapped in 8.21. The idea underpinning the workbook is similar to that presented in “Building a blended curve using optimisation” above. The free parameters are a sequence of (regularly spaced) non-overlapping year-on-year inflation (annual RPI growth) rates. These free parameters are chosen to minimise a smoothing constraint while exactly pricing the linker bonds to the supplied market quotes. This approach combines the arbitrage-free outcome of bootstrapping with the smoothness of the Nelson-Siegel curve. Annual RPI Growth Data from 4 February 2008 5.0% 4.5% 4.0% 3.5% 3.0% 2.5% 2.0% Optimisation 1.5% Bootstrapped 1.0% 0.5% Nelson-Siegel 0.0% Jan-00 Sep-13 May-27 Jan-41 Oct-54 8.33: Mid zero-coupon inflation swap curve - taken from market quotes This worksheet derives future RPI index levels from zero-coupon inflation swap quotes. A zero- coupon inflation swap exchanges a fixed cash flow for a floating one where is a contract fixed rate, is a number of years, is a notional amount, is a level of the RPI index, and is a lag. Setting aside the issue of the lag, the value of the floating leg of the swap is given by By foreign-currency analogy11, the nominal price of a real zero-coupon bond equals the nominal price of the contract paying one unit of the inflation index at bond maturity: This yields the model-independent price Equating the values of the fixed and floating legs of the zero-coupon inflation swap, we obtain 11 In this approach, real interest rate, defined as the difference between nominal interest rate and inflation rate, is treated as the interest rate of a foreign currency, while the inflation index is treated as the exchange rate FOR/DOM between domestic and foreign currencies. That is, In the spreadsheet, the last historic level of the inflation index is published two months earlier than the spot/settlement date of the swap and so months. Zero-coupon inflation swap quotes, , are interpolated for a sequence of monthly future dates, , from which future levels of the RPI index are deduced using the formula The resulting inflation curves from the zero swap and the cash linker markets show good agreement for the first 30 years. Forward inflation index curves 1,200 4 February 2008 1,000 800 600 400 Zero curve Cash linker 200 0 Jan-99 Sep-12 May-26 Jan-40 Oct-53 8.34: Example of Pricing a Payer's YoY Inflation swap with no Convexity adjustment12 A year-on-year inflation swap exchanges a series of fixed cash flows for floating ones at the end of each accrual period where is a contract fixed rate, is a notional amount, is a day count fraction, is a level of the RPI index, and is a lag. Usually the accrual periods are whole years, corresponding to annual growth rates, in which case the day count fraction is set to 1. Setting aside the issue of the lag, the value of the -th payment of the inflation leg of the swap is given by which, assuming , can be calculated as 12 See Chapters 15-16 of Interest Rate Models by Brigo & Mercurio The inner expectation is the zero-coupon inflation swap rate from to . Compared to a zero- coupon inflation swap, the valuation of a year-on-year inflation swap is more complicated: there is a convexity effect arising from the joint behaviour of and , which removes the possibility of model-independent pricing. This worksheet “prices” a year-on-year inflation swap without any convexity adjustment by deriving implied growth rates for the accrual periods from the forecast levels of the RPI index. 8.35: Inflation volatilities, 8.36: Pricing a YoY swap with cx [Example of pricing a payer's YoY inflation swap with convexity adjustment] 8.37: Fixed-floating swap [Another structure for which there is a convexity effect but which is ignored in simple breakeven “pricing”] 8.38: Libor, 8.39: Forward inflation curve, 8.40: LPI Swap [Another structure, involving Limited Price Index (LPI) which reflects year-on-year inflation growth but with annual cap and/or floor, for which there is a convexity effect. This separate workbook simulates the cash flows exchanged by an LPI swap] 8.41: Pricing an Inflation-fixed vs. Libor swap Structure that exchanges a fixed coupon inflated by for LIBOR flat, therefore no convexity adjustment 8.42: Inflation hedging [Hedging a portfolio of inflation swaps, including year-on-year inflation swap, with zero-coupon inflation swaps] 8.43: Worksheet to estimate non-parametric monthly adjustments for seasonality from historic data This worksheet estimates the seasonality adjustment required for the inflation index based on 5 years of historical differences between annualised inflation growth between consecutive months (e.g., Jan 2005 to Feb 2005) and the growth from one year to the next (e.g., 2005 to 2006). These annualised differences, one for each pair of consecutive months, are converted into raw monthly multiplicative adjustments and then normalised so that their product is unity. The normalised monthly multiplicative adjustments are used to remove the seasonal variation from historical levels of the RPI index. Annualised growth rate 10% 8% 6% 4% 2% 0% -2% Monthly growth annualised -4% -6% Annual growth -8% M A N Feb-04 ay-04 ug-04 ov-04 Mar-03 ay-03 ug-03 ov-03 M A N M A N Feb-06 Feb-05 ay-05 ug-05 ov-05 8.44: Model to fit a seasonally adjusted polynomial to RPI This spreadsheet fits a cubic polynomial plus additive monthly adjustment to 26 years of the RPI index. The coefficients of the polynomial as well as the additive monthly adjustments are chosen by least squares. The additive monthly adjustments are constrained to sum to unity. Fitting a seasonal polynomial 200 190 180 170 Actual 160 Fitted 150 140 0 2 4 6 8 10 8.45: Model to fit a seasonally adjusted polynomial to ln(RPI) This spreadsheet is the same as 8.44 except that the model is fit to ln(RPI). Effectively this gives monthly multiplicative adjustments. 8.46: Calculates mid zero-coupon inflation swap curve and applies seasonality adjustment This worksheet backs out the future RPI index levels from zero-coupon inflation swap quotes, just as in 8.33 but with market quotes for different spot/settlement date. It then applies the normalised monthly multiplicative adjustments derived in 8.43 to remove the seasonal variation from historical/future levels. Seasonally adjusted index 218.00 216.00 214.00 212.00 210.00 208.00 206.00 204.00 No seasonality 202.00 Seasonally adjusted 200.00 198.00 196.00 Jan-07 Apr-07 Jul-07 Oct-07 Jan-08 Apr-08 Jul-08 Oct-08 Jan-09 8.46: Worksheet to demonstrate variance hedging See appendix for theoretical discussion This worksheet plots the sensitivity of a call option with respect to the variance13 for a range of current stock prices . 13 The sensitivity of a call option with respect to the volatility is given by Variance sensitivity 120 100 80 60 40 20 0 50 100 150 200 250 Current spot level 8.47: Worksheet to demonstrate variance hedging [This worksheet contemplates an alternative scheme for weighting the prices of call and put options] 8.48: Worksheet to demonstrate variance hedging This spreadsheet demonstrates how to price a 1-year variance swap when 1-year call and put options are available for a sequence of regularly spaced strikes only. The worksheet calculates the prices of calls and puts for a sequence of strikes separated by 5 price units that is approximately centred on the forward price. Although the spreadsheet contemplates a different weighting scheme, a fairly good approximation can be obtained by weighting each option price by and summing across calls and puts. The options are priced assuming a flat vol of 20%. (Note, the time value of money is implicitly ignored.) 8.49: Worksheet to demonstrate variance hedging This worksheet proposes a quadratic form for the volatility smile centred on an ATM forward vol of 20%. 8.50: Worksheet to demonstrate variance hedging This worksheet re-prices the 1-year variance swap modelled in 8.48 except using the volatility smile proposed in 8.49. Appendix The payoff of a volatility swap is given by where is the notional of the swap in dollars per point of volatility. A volatility swap is very close to being a pure play on volatility, and can be used to hedge other volatility exposures such as would arise from holding a portfolio of options. A variance swap, which is closely related to a volatility swap, has a payoff at expiry of It is market practice to determine the number of contract units as follows: This makes the payoff of a variance swap comparable to that of a volatility swap. Variance swaps have fewer direct applications but are easier to price and hedge. Consider a variance swap that starts at and ends at , covering distinct observations. Define the simply return and the annualised variance Suppose we stand at . We can write where . Since is known we can write the mark-to-market of the swap as where is the annual fixed variance of a new swap that starts at and ends at and is the discount factor at time to time . Clearly the swap’s vega approaches zero as . Unfortunately, none of these results applies to volatility swaps. As usual the fair price of the swap when it first starts has a (risk-neutral) expectation of zero such that Variance swaps only make sense in a world in which is a random variable, either because it is directly driven by its own diffusion term or because it is indirectly driven by the diffusion term of the underlying stock price. The payoff of a variance swap can be expressed in terms of the payoffs of puts and calls. We first assume that the underlying stock price is described as follows: This implies that which may be verified by applying Ito’s Lemma to the LHS and using the diffusion for the stock price. Putting these two pieces together we get That is, Hence the fair fixed strike on the swap is given by Under the risk-neutral measure, the drift term in is so the first term in the curly braces evaluates to . Any twice differentiable (European) option payoff can be re-written as14 Applying this relation to such that and and then choosing yields Taking expectations with respect to the risk-neutral measure and changing the order of integration gives where is a forward price and and are prices of plain-vanilla calls and puts. This implies a variance swap may be priced—hence hedged—using a portfolio of European call and put options with weights inversely proportional to the square of the strike. Any volatility smile 14 See Appendix 1 of http://www.math.nyu.edu/research/carrp/papers/pdf/twrdsfig.pdf model that prices vanilla options can therefore be used to price the variance swap. Care must be taken with the behaviour of the smile model in the wings as this can have a disproportionate effect on the price. Chapter 9 (Cross-currency Swaps) Spreadsheet: Ch 9 Cross Currency.xls A cross-currency swap has a three-part structure: an initial exchange of principal amounts15; periodic exchanges of interest payments; re-exchange of the principal amounts at maturity. An off-market cross-currency swap has the relationship16: Off-market = At-market + Loan or deposit 9.1: DF - USD This spreadsheet presents of USD discount factors for a regular sequence of quarterly dates out to 30 years, and derives zero coupon rates and the gradients of the zero-coupon rate curve. 9.2: DF - JPY This spreadsheet presents of JPY discount factors for a regular sequence of quarterly dates out to 30 years, and derives zero coupon rates and the gradients of the zero-coupon rate curve. It then computes the semi-annual forward swap rates for a sequence of semi-annual dates out to 5 years. 9.3: Worksheet to estimate Yen-USD forward rates This worksheet computes the skew for 3-, 6-, and 9-month JPY/USD FX forwards. The skew is expressed as the difference between the JPY zero-coupon rate implied by the market FX forward and that implied by the theoretical FX forward17: The skew can be positive or negative. 9.4: Example of pricing a cross-currency basis swap [Conservative pricing based on micro-hedging (not studied)] 15 At spot FX for at-market swap 16 The majority of CCSs are only slightly off-market, usually to ensure that the principal amounts are both round amounts. Off-market CCCs may be used to conceal embedded loans off-balance sheet. 17 where is the zero-coupon rate for currency 9.5: Deriving DF's from a generic swap curve plus a CCBS curve This spreadsheet demonstrates how to calibrate a CCBS-adjusted discount curve for JPY such both JPY swaps and JPY/USD cross currency swaps are correctly priced to market. The implications of using a CCBS-adjusted discount curve are that JPY flat floaters are no longer priced par; however, at- market JPY swaps remain at-market, i.e. IRS pricing is only impacted for off-market swaps. 9.6: Creating a synthetic foreign asset: Swapping a USD bond into floating Yen [This worksheet illustrates how to use the CCBS-adjusted discount curve to price a USD bond swapped into a 5.5-year par maturity JPY package18 (not studied)] 9.7: Swapping a SA bond into USD Libor [Another example of CCBS-adjusted pricing similar to 9.6 (not studied)] 9.8: Pricing a 5 year Yen-USD diff swap A diff swap is a CCBS with no exchange of principals. This worksheet prices a 5-year JPY-USD diff swap using the unadjusted discount curve to forecast JPY LIBOR rates and using the adjusted discount curve to present value the ensuing JPY cash flows. Diff swaps were devised to remove most of the FX exposure from the investor, but they still do expose him to some FX risk. 9.9: Pricing a 5 year Yen-USD quanto diff swap To eliminate all FX risk, quanto-diff swaps were devised. This worksheet “prices” a 5-year that pays 6-month JPY LIBOR on JPY 10 billion notional and receives 6-month USD LIBOR on the same JPY 10 billion notional. Because the currency of the cash flow is determined by the principal, this is really a single-currency swap, albeit using a foreign USD reference curve. The required FX-IR convexity adjustment is discussed in the appendix. The breakeven spread “over” USD LIBOR is calculated to be -237 basis points. 9.10: Pricing a USD-Yen LTFX: analysing the USD leg (1), 9.11: Pricing a USD-Yen LTFX: analysing the USD leg (2), 9.12: Pricing a USD-Yen LTFX [Not studied] 9.13-9.21 [Simulation (not studied)] 9.22: Swapping a reverse dual currency A$-Yen bond into floating USD There are two main types of dual-currency bonds: (i) dual where coupon is paid in a foreign currency but principal is repaid in domestic; (ii) reverse-dual where coupon is paid in the domestic currency but principal is repaid in foreign. 18 Pricing for asset swaps was discussed in Chapter 5 This worksheet presents the cash flows associated with a 3-year dual-currency bond swapped into USD. The bond pays a JPY-coupon on a JPY-principal but repays the principal in AUD. Because of the low coupon relative to the expected depreciation of AUD versus JPY, the bond cash flows represent a Net PV (USD) of 10,234,131 to the issuer (when discounted off inter-bank swap curve). If these cash flows are swapped into USD, i.e., bond issuer pays margin over USD LIBOR with exchange of USD 100 million principal at start and end of swap, the margin turns out to be -375.89 basis points. These complex bonds frequently contain embedded options, very often protecting the issuer from paying large amounts and protecting the investor from ever receiving effectively a negative payment. Power reverse dual-currency (PRDC) notes have been extremely popular with Japanese investors. For example, the following was issued by the European Investment Bank in July 2005, and swapped into 3-month Euribor less a margin. Size JPY 1 billion Issue price 100 Coupon paid in JPY o 10% in year 1 o thereafter, subject to a non-negativity constrain, where is JPY/AUD spot rate measured 10 days before issue and 10 days before each coupon date Redemption AUD 1,666,667 Trigger o set on July 2006 o set each year o If on any coupon date then mandatory redemption in JPY This note pays a highly attractive guaranteed coupon in the first year but thereafter the coupon is subject to the vagaries of the AUD/JPY spot rate. If JPY strengthens the coupon will drop. If JPY weakens the coupon will rise but the triggers will ensure early redemption. 9.23: Swapping a dual currency A$-Yen bond into floating USD: calculating the breakeven coupon rate [Not studied] 9.24: Pricing a 5 year Yen-USD quanto diff swap with Convexity - Approach 1 In Chapter 7 we discussed the general approach of using the HJM model with simplified assumptions for the instantaneous volatility to estimate the convexity adjustments required to price a broad range of exotic single-currency interest rate derivatives. The same approach can be used to estimate the convexity adjustments required to price quanto derivatives where the contracts reference foreign rates but pay in domestic currency. For example, to price the exotic leg of the quanto diff swap we must compute the following expectation: If we make the following simplified assumptions: The domestic and foreign forward rates satisfy HJM-style SDEs with reverting instantaneous volatilities o The domestic term structure has one source of uncertainty o The foreign term structure has two sources of uncertainty and 19 The spot FX rate satisfies a GBM-style SDE with constant volatility and three sources of uncertainty , , and The correlations between the three sources of uncertainty are constant Then: where is a function of the HJM model parameters. This worksheet re-prices the swap in 9.9 except that includes the convexity adjustment computed using the formula above and the parameters below: Convexity data rate vol. lamda1 lamda2 Domestic: 15% 0% Foreign: 15% 0% 0% FX rate: 20% d-f d-FX f-FX Correlations 50% 30% -30% The impact is to lower the breakeven spread “over” USD LIBOR to -241 basis points, i.e., 4 basis point difference. 9.25: Pricing a 5 year Yen-USD quanto diff swap with Convexity - Approach 2 The most impactful parameter in the convexity adjustment for the quanto diff swap’s exotic cash flow is the covariance between the FX spot rate and the foreign term structure. Based on this observation, a widely used approximation is This worksheet re-prices the same quanto diff swap except using the convexity adjustment based on the approximation above. The new breakeven spread “over” USD LIBOR is -245 basis points. 19 This means there are two mean reversion parameters for the foreign term structure Chapter 10 (OTC Options) Spreadsheets: Ch 10 Simple OTC Options.xls, SABR model v1.xls 10.1: Market data This worksheet presents USD discounts factors for dates 3 months apart out to 30 years, from which the zero rate curve and its gradients are computed. Using these data the spreadsheet computes spot and 3-month forward starting rates for quarterly swaps with maturities 1, 1.5, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 20, 25, and 30 years. The worksheet also presents JPY discount factors for dates 3 months apart out to 1 year. 10.2: Cap Pricing Model This worksheet prices a 3-year cap by summing the prices of a strip of adjacent caplets, priced using Black’s formula: where is the start date of the LIBOR fixing underlying the caplet, and are computed using the average (terminal) volatility , and is the forward value of the LIBOR fixing. This formula is consistent with a forward LIBOR model constructed under the -forward measure. The strip of caplets are priced using the same constant volatility and strike. Illustration of Standard Cap using implied 3 mo. forwards 4.00% 3.75% Cost of Cap = 69 bp 3.50% 3.25% 3.00% 2.75% 2.50% 2.25% 2.00% 0.0 0.5 1.0 1.5 2.0 2.5 Years 3.0 10.3: Worksheet to calculate 180-day rolling unweighted and weighted volatilities This worksheet does what it says on the can, for 12-month cash rates observed daily. 180-day Volatility of 12mo. USD cash rate 4.0% 3.5% 3.0% Unweighted Weighted, lamda = 0.94 2.5% 2.0% 1.5% 1.0% 0.5% 0.0% 1 201 401 601 801 1001 1201 10.4: Par cap smile curve - against 3mo USD Libor This worksheet demonstrates the usual hump-shaped volatility curve for ATM caps of varying maturities. Because each caplet is independent, what constitutes ATM for an entire cap is not obvious. The usual convention is to set the strike of each caplet to be constant and equal to the fixed swap rate of the same maturity and frequency as the cap. ATM implied volatility curve 18 16 14 12 10 8 6 4 2 0 0 5 10 15 20 25 30 35 10.5: Building a moneyness smile surface This worksheet uses linear interpolation to convert from a matrix of par volatilities for fixed strikes... T Strike ATM 1.50 1.75 2.00 2.25 2.50 3.00 3.50 4.00 5.00 6.00 7.00 8.00 10.00 1y 2.867 10.44 30.86 27.90 23.80 18.52 14.40 10.61 11.93 13.70 17.46 20.55 22.63 24.44 27.53 18m 2.760 12.72 24.95 21.30 18.61 15.82 14.08 13.43 15.06 16.49 18.65 20.27 21.58 23.03 25.76 2y 2.766 13.53 23.34 19.32 17.56 15.68 14.49 14.16 15.49 16.69 18.70 20.30 21.63 23.17 26.06 3y 3.000 14.78 23.11 19.70 17.99 16.84 15.83 14.78 15.59 16.36 17.65 18.87 19.93 20.96 22.77 4y 3.235 15.27 21.67 20.49 18.84 17.73 16.77 15.61 15.53 16.06 17.14 18.15 19.05 19.80 21.48 5y 3.459 15.48 22.92 21.13 19.52 18.39 17.49 16.12 15.51 15.84 16.60 17.48 18.29 19.02 20.48 6y 3.663 15.52 22.15 20.81 19.89 18.71 17.82 16.37 15.69 15.65 16.17 16.88 17.58 18.28 19.64 7y 3.828 15.48 21.63 20.32 19.99 18.88 17.99 16.57 15.78 15.53 15.84 16.41 17.05 17.66 18.84 8y 3.964 15.38 21.12 21.34 20.10 19.01 18.13 16.70 15.82 15.39 15.55 16.00 16.54 17.10 18.12 9y 4.090 15.24 20.71 20.93 19.88 19.01 18.12 16.73 15.78 15.31 15.33 15.64 16.12 16.61 17.62 10y 4.197 15.11 20.43 20.64 19.66 19.06 18.15 16.73 15.71 15.26 15.05 15.27 15.74 16.25 17.16 12y 4.361 14.76 19.77 19.96 19.10 18.90 18.01 16.60 15.55 15.01 14.66 14.68 14.93 15.31 16.17 15y 4.536 14.25 18.94 19.12 19.26 18.45 17.67 16.34 15.35 14.71 14.11 14.01 14.19 14.49 15.14 20y 4.671 13.63 17.99 18.15 18.27 17.56 17.10 15.85 14.85 14.18 13.48 13.25 13.32 13.55 14.19 25y 4.719 13.13 17.31 17.48 17.60 16.90 16.52 15.33 14.41 13.76 12.99 12.75 12.81 13.03 13.67 30y 4.729 12.79 16.85 16.99 17.10 16.48 16.09 14.90 14.02 13.40 12.68 12.51 12.61 12.83 13.47 to a matrix of par volatilities for strikes as a percentage of ATM strikes... 20% 30% 40% 50% 60% 70% 80% 90% 100% 110% 120% 130% 140% 150% 160% 170% 180% 1y 34.22 26.84 22.93 19.73 16.62 14.06 12.22 11.10 10.44 13.60 16.23 19.47 22.79 25.26 27.22 28.65 29.76 18m 30.95 24.67 21.45 19.49 17.79 16.33 14.90 13.65 12.72 14.07 15.47 17.24 18.92 20.33 21.67 23.15 24.47 2y 31.59 24.93 21.52 19.55 17.92 16.57 15.38 14.36 13.53 14.48 15.42 16.60 17.73 18.66 19.66 21.30 22.75 3y 27.30 22.77 20.45 18.87 17.65 16.73 15.98 15.32 14.78 15.35 15.83 16.61 17.33 17.99 18.84 19.60 20.83 4y 26.66 22.14 19.87 18.57 17.53 16.73 16.11 15.63 15.27 15.75 16.32 16.82 17.50 18.15 18.74 19.48 20.18 5y 25.80 21.60 19.49 18.22 17.27 16.56 16.09 15.74 15.48 15.94 16.44 17.05 17.60 18.19 18.79 19.36 20.03 6y 25.29 21.14 19.07 17.81 16.95 16.34 15.95 15.69 15.52 15.92 16.30 16.90 17.48 18.03 18.57 19.16 19.72 7y 24.23 20.47 18.59 17.45 16.65 16.11 15.77 15.61 15.48 15.81 16.27 16.73 17.32 17.84 18.37 18.87 19.43 8y 23.13 19.76 18.07 17.06 16.33 15.85 15.54 15.45 15.38 15.73 16.17 16.61 17.18 17.72 18.21 18.72 19.22 9y 22.90 19.46 17.73 16.70 16.03 15.59 15.36 15.32 15.24 15.57 15.95 16.45 16.95 17.49 17.96 18.45 18.93 10y 22.16 18.98 17.38 16.43 15.74 15.27 15.10 15.12 15.11 15.43 15.72 16.26 16.74 17.30 17.80 18.26 18.76 12y 21.25 18.12 16.56 15.62 15.03 14.74 14.67 14.71 14.76 15.05 15.40 15.85 16.36 16.86 17.37 17.83 18.28 15y 19.26 16.80 15.58 14.84 14.36 14.10 14.04 14.11 14.25 14.64 14.99 15.37 15.87 16.29 16.78 17.22 17.62 20y 18.46 15.97 14.73 13.98 13.50 13.30 13.29 13.44 13.63 14.01 14.32 14.73 15.18 15.62 16.05 16.48 16.86 25y 18.02 15.50 14.25 13.49 13.00 12.79 12.77 12.93 13.13 13.54 13.85 14.24 14.65 15.06 15.45 15.86 16.23 30y 17.84 15.31 14.05 13.30 12.80 12.59 12.53 12.64 12.79 13.18 13.47 13.85 14.24 14.63 15.01 15.42 15.79 10.6: This worksheet bootstraps a piece-wise constant forward volatility curve from a par curve In practice, each caplet should be using the volatility for its own individual forward rate. This is called forward volatility20. Par volatilities represent an average of the forward volatilities over all the caplets in an entire cap, and are a convenient way of quoting volatility. This worksheet sets the first three forward volatilities equal to the first par volatility and by using a piece-wise constant assumption bootstraps the forward volatility curve by backing out caplet prices from the prices of caps. 20 This is not great terminology. Later, when building trees, it is important to distinguish between forward or local forward rate volatilities and terminal or spot forward rate volatilities. What Flavell refers to as forward vols may be more precisely termed as terminal or spot forward rate vols. Volatility curves: USD 4 February 2008 18% 16% 14% 12% 10% Par volatilities Piece-wise constant Forward volatilities 8% 0 5 10 15 20 25 30 10.7: This worksheet constructs a smooth forward volatility curve from a par curve This worksheet is the same as 10.6 except that instead of bootstrapping forward volatilities they are arrived at via an optimisation that minimises a smoothness constraint subject to all caps being priced back to market. Volatility curves: USD 4 February 2008 18% 16% 14% 12% 10% Par volatilities Smoothed forward volatilities 8% 0 5 10 15 20 25 30 10.8: This worksheet constructs a forward volatility curve from a par curve by direct calculation [Third approach (not studied)] 10.9: Forward volatility surface produced by bootstrapping, 10.10: A smoothed forward volatility surface These worksheets show the output of applying the techniques in 10.6 and 10.7 to strips of caps for different strikes. 10.11: Cap & Floor Pricing - with USD data This worksheet prices a 3-year floor by summing the prices of a strip of adjacent floorlets, priced using Black’s formula: 10.12: Pricing a curve cap This worksheet prices a curve cap, i.e., a strip of caplets with strikes that are a fixed margin above the forward curve. Illustration of Curve Cap 4.0% 3.5% 3.0% 2.5% 2.0% 1.5% Strike Spread = -8.75bp 1.0% 0.5% 0.0% 0.0 0.5 1.0 1.5 2.0 2.5 3.0 Years 10.13: Pricing a mid-curve cap This worksheet prices a 3-year mid-curve cap, which comprises conventional caplets in year 1, caplets referencing forward-rates-observed-at- end-of-year-1 in year 2, and caplets referencing forward-rates-observed-at- end-of-year-2 in year 3. The maturity of the mid-curve option is less, and therefore likely to be cheaper. For the instrument priced in this spreadsheet, the strikes of the caplets are equal to the 3-month cash rate in year 1, the 3-month forward rate settling at start of year 2 in year 2, and the 3-month forward rate settling at start of year 3 in year 3. The same forward volatilities are used to price the caplets in years 2 and 3 but their maturities are shortened to either 1 or 2 years21. 10.14: Collar Pricing 21 This appears to be theoretically correct. See Chapter 10 of Shreve II. This worksheet demonstrates how the total cost of a bought cap may be reduced by combining with a sold floor. 10.15: Structuring a Participation An alternative structure to collars is “participations”, which are constructed by adjusting the amounts of the cap and floor. For example, suppose a zero-cost collar was based on a constant principal amount of $100m. Instead of buying the floor struck at x%, suppose it was struck at y% (>x%) thus increasing its value. The collar is no longer zero-cost. However, by only selling the floor on a fraction of $100m, the overall structure is again no-cost. This worksheet structures a participation by adjusting the notional of the floor such that when combined with the 3-year cap it has no cost. 10.16: Digital Cap & Floor Pricing This worksheet prices a 3-year digital cap and floor. Each digital caplet is priced using the formula Each digital floorlet is priced using the formula 10.17: Worksheet to replicate a standard call by a strip of digitals This worksheet does what it says on the can, for a 1-year call. 10.18: Cap & Floor Pricing for embedded structures - note that this includes the first fixing, 10.19: Capped Loan – 1, 10.20: Capped Loan – 2, 10.21a: Worksheet to price a capped swap, 10.21b: Worksheet to price a floored swap, 10.22: Worksheet to price a reverse floating swap with a collar [Not studied] 10.23: Swaption Pricing - with USD data This worksheet prices swaptions using Black’s formula: (payer) (receiver) where and are the start and end times of the swap underlying the swaption, is the present value of 1 basis point paid quarterly between times and , and is the forward swap rate observed today. This formula is consistent with a forward swap rate model constructed under the measure corresponding to the swap numéraire. When a swaption is exercised a swap is delivered on the exercise date. It is possible to get cash-settled swaption, under which the cash value of the underlying swap is paid to the option purchased. However, the cash flows from the fixed leg of swap are discounted using the swap rate itself. The reason for this convention is that there may well be disagreement about the construction of a discount curve whereas the option 22 counterparties are likely to agree on the swap rate as a visible traded rate. The receiver and payer swaptions priced in this worksheet reference 5-year swaps. 10.23: Swaption Pricing - with USD data This worksheet is the same as 10.23 except the receiver and payer swaptions reference 1-year swaps. 10.25: This worksheet contains an ATM swaption volatility surface and extracts from a volatility smile This worksheet shows ATM swaption vols for different option terms and swap tenors: Tenor Term 1y 2y 3y 4y 5y 6y 7y 8y 9y 10y 15y 20y 25y 30y 1m 13.9% 14.4% 14.7% 14.7% 14.7% 14.4% 14.1% 13.7% 13.4% 13.1% 12.5% 12.0% 11.7% 11.4% 2m 13.8% 14.4% 14.8% 14.9% 15.0% 14.6% 14.3% 13.9% 13.6% 13.3% 12.5% 12.0% 11.7% 11.5% 3m 14.1% 14.6% 15.0% 15.2% 15.1% 14.8% 14.5% 14.3% 14.0% 13.7% 12.8% 12.3% 12.0% 11.7% 6m 14.8% 15.2% 15.2% 15.2% 15.1% 14.8% 14.6% 14.3% 14.0% 13.8% 12.9% 12.4% 12.0% 11.8% 9m 15.4% 15.4% 15.4% 15.3% 15.1% 14.8% 14.6% 14.3% 14.1% 13.8% 13.0% 12.5% 12.2% 12.0% 1y 15.6% 15.6% 15.5% 15.3% 15.0% 14.8% 14.6% 14.3% 14.1% 13.9% 13.1% 12.6% 12.3% 12.1% 18m 15.7% 15.6% 15.4% 15.3% 15.0% 14.8% 14.5% 14.3% 14.1% 13.9% 13.1% 12.6% 12.3% 12.2% 2y 16.0% 15.7% 15.5% 15.1% 15.0% 14.7% 14.5% 14.2% 14.0% 13.8% 13.0% 12.6% 12.3% 12.1% 3y 15.9% 15.7% 15.4% 15.2% 14.7% 14.5% 14.2% 14.0% 13.8% 13.6% 12.9% 12.5% 12.2% 12.0% 4y 15.7% 15.4% 15.0% 14.8% 14.4% 14.2% 13.9% 13.7% 13.5% 13.4% 12.7% 12.2% 12.0% 11.8% 5y 15.4% 15.1% 14.8% 14.4% 14.1% 13.8% 13.6% 13.4% 13.2% 13.1% 12.4% 12.0% 11.7% 11.6% 7y 14.4% 14.1% 13.9% 13.5% 13.2% 13.1% 12.9% 12.8% 12.6% 12.5% 11.9% 11.5% 11.3% 11.1% 10y 13.2% 12.9% 12.7% 12.5% 12.3% 12.2% 12.1% 12.0% 12.0% 11.9% 11.3% 10.9% 10.7% 10.4% 15y 11.9% 11.8% 11.7% 11.6% 11.4% 11.3% 11.3% 11.2% 11.2% 11.2% 10.6% 10.3% 10.0% 9.8% 20y 11.4% 11.2% 11.1% 11.0% 10.8% 10.7% 10.7% 10.7% 10.7% 10.7% 10.2% 9.7% 9.5% 9.4% 25y 11.0% 10.8% 10.7% 10.6% 10.4% 10.5% 10.5% 10.4% 10.4% 10.4% 9.8% 9.5% 9.4% 9.4% 30y 11.1% 10.8% 10.7% 10.5% 10.3% 10.3% 10.3% 10.2% 10.2% 10.2% 9.6% 9.4% 9.4% 9.3% It also shows the smile for different option terms and swap tenors: Term Tenor Strike Price ATM vol -200 -100 -50 -25 0 25 50 100 200 3m 2y 3.9951 14.60% 20.55% 16.64% 15.33% 14.88% 14.60% 14.48% 14.50% 14.88% 16.18% 3m 5y 4.0201 15.10% 21.29% 17.22% 15.86% 15.39% 15.10% 14.97% 15.00% 15.38% 16.71% 3m 10y 4.2658 13.70% 19.98% 15.76% 14.40% 13.96% 13.70% 13.62% 13.69% 14.14% 15.57% 3m 20y 4.3476 12.30% 19.22% 14.56% 13.06% 12.58% 12.30% 12.21% 12.29% 12.78% 14.29% 3m 30y 4.3247 11.70% 19.17% 14.12% 12.52% 12.00% 11.70% 11.61% 11.69% 12.22% 13.81% 1y 2y 4.0507 15.60% 20.68% 17.32% 16.22% 15.85% 15.60% 15.47% 15.44% 15.65% 16.58% 1y 5y 4.0618 15.00% 20.40% 16.82% 15.66% 15.26% 15.00% 14.87% 14.85% 15.08% 16.08% 1y 10y 4.0604 13.90% 19.45% 15.71% 14.53% 14.14% 13.90% 13.80% 13.81% 14.12% 15.23% 1y 20y 4.2136 12.60% 18.73% 14.58% 13.29% 12.86% 12.60% 12.49% 12.51% 12.84% 14.01% 1y 30y 4.2795 12.10% 18.73% 14.23% 12.83% 12.38% 12.10% 11.98% 12.01% 12.37% 13.60% 5y 2y 4.1665 15.10% 19.87% 16.76% 15.75% 15.38% 15.10% 14.90% 14.79% 14.75% 15.16% 5y 5y 4.0162 14.10% 18.76% 15.68% 14.71% 14.36% 14.10% 13.92% 13.82% 13.81% 14.26% 5y 10y 4.2077 13.10% 18.13% 14.82% 13.76% 13.38% 13.10% 12.91% 12.80% 12.79% 13.27% 5y 20y 4.2779 12.00% 17.60% 13.90% 12.73% 12.31% 12.00% 11.80% 11.69% 11.71% 12.28% 5y 30y 4.3470 11.60% 17.62% 13.62% 12.37% 11.92% 11.60% 11.39% 11.29% 11.34% 11.98% 10y 2y 4.4552 12.90% 17.42% 14.44% 13.51% 13.17% 12.90% 12.71% 12.58% 12.48% 12.72% 10y 5y 4.4765 12.30% 17.00% 13.89% 12.92% 12.57% 12.30% 12.11% 11.98% 11.91% 12.19% 10y 10y 4.4759 11.90% 16.84% 13.56% 12.55% 12.18% 11.90% 11.70% 11.57% 11.49% 11.79% 10y 20y 4.5098 10.90% 16.26% 12.68% 11.59% 11.20% 10.90% 10.69% 10.57% 10.51% 10.87% 10y 30y 4.5098 10.40% 15.97% 12.23% 11.10% 10.70% 10.40% 10.20% 10.08% 10.04% 10.45% 10.26: Worksheet to transform Forward Interest Rate volatility to Forward Swap volatility This worksheet exploits the relationship between swap rates and LIBOR fixings to derive a formula for swaption vol in terms of forward vols and the correlations between LIBOR fixings. A common correlation structure is to assume a “ridge” such as . With perfect correlation, swaption vol is the same as flat forward vol. As the correlation reduces, the swaption vol reduces as well. 22 Presumably this invalidates the use of Black’s formula? 10.27: Pricing extendible and retractible swaps, 10.28: Pricing a simple European callable swap, 10.29: Worksheet to calculate USD-Yen FX forward contracts - basic market data, 10.30: Worksheet to calculate some vanilla FX options, 10.31: Worksheet to demonstrate option replication - based on option to Receive Foreign, Put Domestic, 10.32: Detailed analysis extracted from Worksheet 10.31 - with no randomness [Not studied] 10.33: Market data - Forward USD volatility surface (extracted from Worksheet 10.9) This worksheet presents a matrix of forward (caplet) vols for various strikes and option maturities/tenors. The first row is used to price caplets with maturity dates at 0.25, 0.5, and 0.75 years and payment dates at 0.5, 0.75, and 1 years. The second row is used to price caplets with maturity dates at 1.25 years and payment dates at 1.5 years. And so on... Strike 1.5 1.75 2 2.25 2.5 3 3.5 4 5 6 7 8 10 0 1 30.86% 27.90% 23.80% 18.52% 14.40% 10.61% 11.93% 13.70% 17.46% 20.55% 22.63% 24.44% 27.53% 1.25 1.5 21.52% 18.46% 16.42% 14.61% 13.87% 16.43% 16.43% 16.43% 16.43% 16.43% 16.43% 16.43% 16.43% 1.75 2 22.09% 16.61% 15.74% 15.28% 15.28% 14.87% 15.57% 16.86% 16.86% 16.86% 16.86% 16.86% 16.86% 2.25 3 22.46% 20.60% 18.80% 18.99% 18.22% 15.37% 15.62% 16.31% 17.76% 18.99% 20.03% 20.23% 20.23% 3.25 4 19.28% 21.69% 20.94% 20.31% 19.40% 17.22% 15.48% 15.83% 16.88% 17.92% 18.85% 19.78% 21.52% 4.25 5 24.20% 22.60% 21.50% 20.67% 20.06% 17.70% 15.46% 15.46% 16.03% 16.97% 17.85% 18.65% 20.11% 5.25 6 19.05% 19.77% 21.24% 20.11% 19.35% 17.42% 16.29% 15.18% 15.42% 16.10% 16.84% 17.63% 19.05% 6.25 7 20.97% 18.20% 20.20% 19.61% 18.84% 17.57% 16.16% 15.11% 14.99% 15.46% 16.16% 16.74% 17.86% 7.25 8 18.75% 23.73% 20.58% 19.66% 18.87% 17.41% 16.02% 14.78% 14.56% 14.86% 15.33% 15.93% 16.89% 8.25 9 19.40% 19.20% 18.68% 18.87% 18.06% 16.91% 15.54% 14.87% 14.39% 14.39% 14.90% 15.35% 16.53% 9.25 10 19.20% 19.30% 18.43% 19.50% 18.38% 16.69% 15.19% 14.93% 13.57% 13.67% 14.32% 15.07% 15.92% 10.25 12 18.50% 18.15% 17.41% 18.40% 17.51% 16.09% 14.93% 14.08% 13.42% 13.11% 13.06% 13.37% 14.43% 12.25 15 17.69% 17.46% 19.57% 17.26% 16.68% 15.52% 14.72% 13.76% 12.54% 12.37% 12.62% 12.94% 13.50% 15.25 20 17.05% 16.86% 16.60% 15.83% 15.89% 14.67% 13.57% 12.78% 11.87% 11.48% 11.48% 11.74% 12.64% 20.25 25 16.25% 16.19% 15.99% 15.10% 14.75% 13.50% 12.74% 12.06% 10.95% 10.75% 10.91% 11.23% 12.13% 25.25 30 15.81% 15.65% 15.44% 14.92% 14.29% 12.81% 11.93% 11.32% 10.77% 11.05% 11.47% 11.77% 12.57% 10.34: SABR Parameters estimated using Nelder-Mead least squares algorithm This worksheet contains pre-computed SABR model parameters fitted to the market data on the previous worksheet. A separate set of parameters is needed for each option maturity. 10.35: Modelling the smile using the SABR model The SABR model assumes forward rates are stochastic: where the volatility is itself stochastic: and where The parameter is a measure of vol of vol; is the correlation between the forward rate and vol. A parameter value yields a log-normal model favoured by most traders. For an option of maturity with strike and implied forward rate , the Black volatility surface is a function of the SABR model parameters. In the log-normal model the parameter can be determined analytically from the ATM forward vol. The other parameters can be estimated by some robust least-squares fitting algorithm. For a given option maturity, this worksheet models the smile using the SABR model. The parameters have been pre-computed and are stored on the previous worksheet. Comparing the SABR curve with Market data Example: T = 10 yrs 25% 20% 15% 10% SABR curve 5% Market Volatilities 0% 0% 2% 4% 6% 8% 10% 12% Strike Chapter 11 (Swapping Structured Products) Spreadsheets: Ch 11 - summary of spreadsheets.xls, Ch 11 BDT Builder.xls, Ch 11 Decomposing a correlation matrix.xls, Ch 11.1 Modelling WB accrual note.xls, Ch 11.3 BDT Modelling a swap.xls, Ch 11.10 BDT Pricing and calibrating a CMS.xls, Ch 11.22 Pricing a callable range accrual.xls, Ch 11.28 Implying forward-forward volatilities.xls, Ch 11.36 Example of BGM simulation.xls, Ch 11.41 Example of very long-step BGM simulation.xls, Ch 11.49 Modelling a sticky floater.xls, Ch 11.56 Modelling a TARN.xls, Ch 11.62 Modelling a callable snowball.xls, Ch 11.67 BDT with a smile.xls, Ch 11.69 Hull & White example.xls, Ch 11.80 BDT Pricing a caplet and some swaptions.xls Examples of some structured securities: Range accrual swap o where equals number of days 3mo. LIBOR fixes in pre-defined accrual ranges o (spread steepener) where equals number of days fixes at or above pre-defined accrual barrier o where equals number of fixings in pre-defined range where reference in year equals euro swap rate Sticky floater o subject to TARN o subject to and mandatory early redemption on any coupon date if total accrued coupon (including current coupon) exceeds knockout level, e.g., 20% Snowball o subject to where starts at 2.5% and increments by 25bp each period In addition, these structures may have an embedded strip of calls, which makes the structures forward-looking in as much as whether the issuer exercises his option depends on the anticipated value of forward cash flows. The sticky floater and TARN structures have dependencies on the backward path of coupons. The simpler range accruals are fairly straightforward to price analytically as they only depend upon the level of the reference on a given date. There are two main approaches that can be used to model the more complex structures. Trees or finite-difference grids are usually applied to forward-looking structures whereas Monte Carlo simulation is used to handle both backward and, with some difficulty, backward-forward structures. 11.1: Swapping World Bank Accrual Note This worksheet prices a simple range accrual swap analytically. The structure is a 2-year swap that pays where equals number of days 3mo. LIBOR fixes in pre-defined accrual ranges [2%, 2.75%] in first six months, [2%, 2.3.00%] in second six months, [2%, 3.25%] in third six months, and [2%, 3.50%] in last six months. The spreadsheet evaluates each cash flow of the “exotic” leg of the swap as follows: Note, to value each digital call, it is necessary to estimate the 3-mo forward LIBOR fixing at the option maturity. When modelling accrual notes, it is important to take the smile effect into account, or to use a stochastic volatility model such as SABR. The breakeven spread “over” LIBOR on the floating leg is -45bp. 11.2: Market data Strips of LIBOR discount factors, zero-coupon rates, and gradients, spaced regularly three months apart; (ATM) (forward) volatility term structure 11.3: Valuing a swap by different analytic approaches, and building a rate tree, 11.4: Discounting tree, 11.5: X tree, 11.6: This worksheet models a swap twice, and demonstrates the same pricing, 11.7: Modelling a Bermudan callable swap using the two different representations, We develop a binomial tree implementation of the Black-Derman-Toy model (BDT): Although the model was originally described in algorithmic language, and not using stochastic calculus or martingales, it has been shown to imply the above stochastic differential equation. Re-write the above expression as Approximate using a simple binomial model in which has only two equally-likely outcomes This implies 23 Under BDT, using a binomial tree, one calibrates model parameters to fit both current term structure of interest rates (yield curve), and volatility structure for interest rate caps (usually implied by Black-76-prices for each component caplet). Using calibrated tree one can then value a variety of more complex interest-rate sensitive securities and interest rate derivatives. Calibration means: (1) we assume probability of up-move is 50% under risk-neutral measure; (2) for each input discount bond price : (a) iteratively adjust rate at bottom-most node of time-step, ; (b) find all other nodes in current time-step, where these are linked to node immediately below via formula 24; (c) discount recursively through tree, from time-step in question to first node in tree; (d) repeat until calculated discount bond price (i.e. discount factor for time-step in question) equals input value; (3) Once solved, retain these known short rates, and proceed to next time-step (i.e. input discount bond prices for other maturities), "growing" tree until it incorporates full input yield-curve. 25 These worksheets calibrate a 5-year binomial tree with quarterly time steps. The inputs are Black caplet vols and discount bond prices. The calibrated tree is used to price a callable payer swap, callable quarterly. The owner of the option, viz., the counterparty paying fixed, would only want to call the swap if the future expected value was negative, so we can modify the formula for calculating the value of the contract at each node to There is an old trader’s trick for pricing Bermudan structures: price it to the first call, price it to the final maturity, and take the higher of the two. It works well for monotonic curves. 11.8: Notes, 11.9: Market data, 11.10: Pricing a Constant Maturity Swap with Convexity Adjustment, 11.11: Building the rate tree, 11.12: Discounting tree, 11.13: X tree, 11.14: Valuing forward swaps, 11.15: Estimating CMS rates, 11.16: Estimating CMS rates, 11.17: Estimating CMS rates, 11:18: Pricing a CMS swap, 11:19: Pricing swaptions, 11.20: Callable CMS swap These worksheets price a 5-year CMS, paying 3 mo. LIBOR and receiving the 10-year rate plus a margin on ANN Act/360 daycount. As before, the market data comprises discount bond prices and Black caplet vols out to 30 years. First, the swap is priced analytically, with (-133.45bp) and without (-128.27bp) the convexity 23 is the forward or local vol for the short rate between time-steps and . This equation ensures that the volatility is matched; the calibration ensures that the yield curve is matched. 24 The forward vol for the short rate between time-steps and is assigned the index in the spreadsheet. This is consistent with Hull, J. (2008), “The Black, Derman, and Toy Model”, Technical Note No. 23, Options, Futures, and Other Derivatives. 25 The spreadsheet actually takes as input a “volatility term structure”, which, given how it is used, is a strip of forward or local forward rate vols. In practice, these forward rate vols would need to be calibrated to a strip of spot or terminal forward rate vols, i.e., Black caplet vols, but this calibration is not performed in the spreadsheet. adjustment. Next, a 30-year binomial tree with quarterly time steps is calibrated. From this, we can estimate the CMS fixings and build the CMS pricing tree itself. The implied swaption vols required in the convexity adjustment formula are backed out using Black’s model from swaption prices calculated using the binomial tree. Finally, the model is extended to introduce a strip of call options, exercisable on each CMS coupon date. This “increases” the margin to -164bp. 11.21: Market data, 11.22: Pricing a Range Accrual analytically, 11.23: Building the rate tree, 11.24: Discounting tree, 11.25: X tree, 11.26: Pricing range accrual, 11.27: Callable range accrual These worksheets price a 5-year accrual paying 3 mo. LIBOR + 50bp, but with the fixings of 3 mo. LIBOR subject to the following ranges: Year 1, [2.00%, 3.50%] Year 2, [2.10%, 4.00%] Year 3, [2.20%, 4.50%] Year 4, [2.30%, 5.00%] Year 5, [2.40%, 5.50%] Because the tree is built with quarterly time-steps whereas the range accrual feature needs to be checked daily, 11.26 assumes that the fixings change smoothly from the beginning of the period to the end, and calculates the proportion of these fixings, for up-move and for down-move, that lie in the applicable range. Hence the expected proportion would be an estimate of the probability of fixings lying with the specified range. The structure can then be modelled on the tree in the same way as before, by discounting the expected LIBOR cash flows. The graph below shows the tree probabilities compared with the analytic ones calculated using the Black digital model. Differences between Tree and Analytic Probabilities 100% 95% 90% 85% 80% 75% 70% 65% Tree probabilities 60% Analytic probabilities 55% 50% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Finally, as before, we can introduce a call strip giving the issuer the right to call back the security on any 26 27 coupon date at par . This alters the breakeven margin “over” LIBOR from -36bp to -95bp . 11.28: This worksheet estimates forward-forward volatilities from a current forward volatility curve This worksheet estimates forward forward-rate volatilities from the current term structure of spot forward- rate volatilities. Let be the forward (instantaneous) volatility of the -period forward rate at time , i.e., a measure of how much this forward rate might move between times and . Let be the spot (terminal) volatility of the -period forward rate at time , i.e., a measure of how much this forward rate might move between times 0 and . We have the following relationship between these two types of volatilities: 28 If we assume the forward volatility take the time-homogeneous form of then it is simple albeit tedious to perform the integration analytically. Hence, given a spot forward-rate 29 volatility curve , , we can estimate the parameters by doing a least-squares minimisation. Black forward Forward-forward volatility curves from tj to tj+1 = tj +Step ====> volatilities tj = 0 0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25 tk 0.25 9.7147% 9.7147% 0.5 10.0856% 10.023% 10.147% 0.75 10.9748% 10.841% 10.973% 11.109% 1 12.4933% 12.267% 12.415% 12.566% 12.721% 1.25 13.6952% 13.369% 13.527% 13.689% 13.856% 14.027% 1.5 14.5518% 14.123% 14.287% 14.456% 14.629% 14.807% 14.990% 1.75 15.0376% 14.511% 14.678% 14.848% 15.024% 15.204% 15.389% 15.579% 2 15.1263% 14.516% 14.679% 14.847% 15.020% 15.197% 15.380% 15.567% 15.760% 2.25 15.3588% 14.659% 14.821% 14.988% 15.159% 15.336% 15.517% 15.703% 15.894% 16.091% 11.29: This demonstrates bootstrapping breaking down Unfortunately, in reality, the market variances do not always increase, possible due to supply and demand, and so the method described in 11.28 cannot always be relied upon. This worksheet provides one such example. 11.30: Market data This worksheet presents quarterly forward rates and Black caplet volatilities out to 30 years for USD currency. 11.31: This worksheet estimates a parametric forward-forward volatility curve This worksheet is a duplicate of 11.28. See theory in the notes for 11.28 and 11.36. 26 This is a straightforward extension of the model as it is only a matter of evaluating the remaining cash flows from the range accrual and comparing their present value to par. 27 This is paid in exchange for the “exotic” cash flows from the range accrual. 28 Of course the forward forward-rate volatilities drop off as the forward rate fixes. 29 viz., Black caplet volatilities 11.32: Correlation matrix This worksheet generates a correlation matrix for the sub-strip of forward rates out to 20 years using the extended parametric form discussed in the note for 11.36. The parameters values used are and . A full-spanning matrix is derived using Cholesky decomposition. 11:33: R(i,j) This worksheet calculates for years. See theory in the note for 11.36. Simulation times run from right to left and settlement (fixing) times run from top to bottom, e.g., at the second simulation time the first forward rate has dropped away. In effect, is computed from the forward rates in 11.30; in practice, all values of are computed from values of the forward rates in 11.36. The important point is that can be computed from forward rates known at the observation time . 11.34: Sum s(i,j).R(i.j),rho(k,i) This worksheet calculates for and . See theory in the note for 11.36. Note, so that equivalently the spreadsheet calculates The forward forward-rate volatilities are taken from 11.31. 11:35: rv’s This worksheet generates 80 x 80 = 6,400 independent normally-distributed variates. 11.36: BGM Sampling There are many structures that cannot (easily) be handled by tree, such as sticky floaters and TARNs that are path-dependent. The forward LIBOR model—alternatively known as the BGM model or LIBOR market model— has become the industry standard. Theory We recall how we can lock in a simple (annualised) interest rate at time (spot when and forward when ) by taking a short position in -maturity zero-coupon bonds and a long position in -maturity zero- coupon bonds, where . The risk-neutral (forward) probability measure corresponding to the numéraire is given by and is a Brownian motion under . Here is integral between times and of the instantaneous volatility at time of the instantaneous forward rate settling at time in a 1-factor HJM model. The no-arbitrage price at time of backset LIBOR paid at time on a notional of unity is . This implies is the -forward price at time of backset LIBOR paid a time on a notional of unity, which means this price process is a -martingale. Accordingly, for piecewise-constant forward forward-rate volatilities 30. In writing the discrete version of the SDE for the evolution of forward LIBOR, we are assuming that only structures with price-sensitive events on fixing times will be priced using the model. The forward LIBOR model constructed in this way means that is log- normally distributed under . We assume we know the Black caplet volatility for each forward rate, i.e., the spot forward-rate volatility averaged over the time period . We have the following relationship between the spot and forward forward-rate volatilities: With this set-up we can evolve the forward LIBOR for in a way that is consistent with the market cap prices. However, the SDE for different forward rates are with respect to different forward measures. We would like to determine the relationship between these different equations so that all forward rates can be evolved in one overarching simulation. This can be done by subtracting the expression for from the expression for such that the terms cancel, and then using the resultant recursive relationship to express in term of 31: Putting these pieces together, we get the following simulation equation for any forward rate , : 30 We have the following relationship between the market rate volatility and the instantaneous volatility: 31 The expression in footnote 30 is used to deduce this relationship. We know have a single Brownian motion driving all forward rates. Thus to construct the forward LIBOR model we choose a Brownian motion, which we call , under a probability measure . We assume the initial forward rates are known from market data. With these initial conditions we can generate the forward rates process , first generating , which has no drift, and using it in the differential equation for ; then using and in the differential equation for ; and so on. Implicit in this computation is dependence between among these different forward LIBOR processes, i.e., changes in forward rates are perfectly correlated. If instead we build the forward LIBOR model with respect to the numéraire , then we get following simulation equation for any forward rate , : Practice This is the formulation actually used by Flavell except that he presents a multi-factor version of this model in which the forward rates are driven by independent Brownian motions: where , , , are the coefficients of the lower triangular matrix in the Cholesky decomposition of the matrix of correlations between forward rates at time . It also feasible to develop a forward swap-rate model using swaption volatilities and a forward PV01 numéraire. This would be more appropriate for simulating forward swaps or CMS structures, but the drift term is more complex and inputs are less observable. In practice, the forward LIBOR model is more commonly applied, especially when modelling mixtures of LIBOR and swap rates. Correlations between the forward rates are required inputs in this model. Whilst it might be feasible to use historical relationships, a parametric form such as the one following is far more common in practice: This would then enable the parameters to be estimated by calibrating the simulation to selected European swaptions, typically by minimising squared errors. This assumes that forward rates that are equidistant apart have the same correlation, and rates that are far apart have an effective zero-correlation. An extended formula is: This implies correlation can never drop below . In practice forward rates at the long end of the curve are generally more highly correlated than rates at the short end: this is known as correlation convexity. There are formulae with more parameters that incorporate this, but they require considerably more computational effort, and run into the danger of overfitting. 32 The next step is to estimate the coefficients from the correlation matrix . The parameter may lie between and . If then the forward curve will only exhibit parallel shifts. Alternatively, if 32 We assume a time-homogeneous correlation matrix. then this is a full spanning model and the coefficients can be uniquely determined from the correlation matrix using Cholesky decomposition. But we know that real forward curve tend to exhibit a limited range of movements. A full spanning model may therefore introduce forward curve movements that are unlikely in the real world. For this reason, setting might be more appropriate. However, this means that the coefficients are determined numerically by minimising the errors between and the full correlation matrix (perhaps estimated parametrically). This approach is at the heart of principal components. There is still one more aspect to clarify before we can run a BGM simulation: we must determine the forward forward-rate volatilities . These are determined from the Black caplet volatilities using the parametric form described in 11.28. We are now in a position to evolve the forward curve. Note, this spreadsheet produces a single realisation of the forward curve. 11.37: Market Data This worksheet is a duplicate of 11.30. 11.38: This worksheet estimates a parametric forward-forward volatility curve This worksheet is a duplicate of 11.28. 11.39: Correlation matrix This worksheet is a duplicate of 11.32 with and . 11.40 , 11.41: Generation of Long-Step Forward curves For any given forward, the algorithm in 11.36 generates a path of quarterly observations from today (spot) until the settlement (fixing) date. Whilst this may be very useful information for some structures, for most it is too much, as the only relevant information is the actual fixing. The path taken to get this fixing is not relevant. Ideally we would like to make a single time step for the th forward rate from to but we do not know what drift to apply. Rebonato suggests the following very long-step approach: Generate a test forward rate using the drift term for the first period extrapolated to the very 33 long-step; for the vol term, use the Black caplet vol Calculate the drift term for the period Generate a final forward rate using the average drift term and the same random numbers as before Note, this spreadsheet produces a single realisation of the fixing of each forward rate. These realisations run from top to bottom. 11.42: Modelling swaptions using long-step BGM simulation This worksheet demonstrates how to use a single realisation of the fixing of each forward rate generated in 11.41 to compute the discounted payoffs for four swaptions. It employs a one-input data table to re-compute the discounted payoffs using two antithetic pairs of 500 simulations. Averaging the discounted payoffs for 33 Formulaically, each swaption gives its present value under the BGM model. Because the correlation parameters are 34 variables the spreadsheet can be used to find the parameter values that minimise the sum of the square errors between the market and model prices for the swaptions. This is a crude form of calibration. 11.43: Market data This worksheet is a duplicate of 11.30. 11.44: This worksheet estimates a parametric forward-forward volatility curve This worksheet is a duplicate of 11.28. 11.45: Correlation matrix This worksheet is a duplicate of 11.32 with and . 11.46 σ(i).ρ(k,i), 11.47: Very long-step Sampling This worksheet is a duplicate of 11.40. 11.48: Modelling a floater with no stickiness This worksheet prices a 6-year floater with no stickiness that pays 50bp over LIBOR semi-annually. The note is issued at a discount, and the “price” is expressed as a running fixed number of basis points paid quarterly. Of course, being a floater that pays a spread over LIBOR and being issued at a discount means that the number of basis points paid quarterly must be positive, and it turns out to be 56.68bp. 11.49: Simulating two floaters - one sticky, and one not This worksheet demonstrates how to use a single realisation of the fixing of each forward rate generated in 11.47 to compute the sum of the discounted cash flows of a 6-year floater with stickiness that pays 50bp over LIBOR semi-annually. The stickiness takes the form . It employs a one-input data table to re-compute the sum of the discounted cash flows using two antithetic pairs of 500 simulations. Averaging the sum of the discounted cash flows of the sticky floater, including the initial cash flow reflecting its discount issue price, gives the derivative’s present value under the BGM model. To improve the accuracy of the calculation, the spreadsheet uses the present value of the non-sticky floater also computed using the 35 simulation as a control variate . That is, the corrected margin for the sticky floater is estimated by the average simulated margin for the stick floater plus the difference between the average simulated margin for the non-sticky floater and 56.68bp. This number of basis points paid monthly turns out to be -14.05bp! There is no particularly appropriate calibration for this structure, possibly caplets on 6mo. LIBOR. The correlation parameters are unlikely to have a significant effect. 11.50: Market data, 11.51: Forward-Forward Vols, 11.52: Correlation matrix, 11.53 σ(i).ρ(k,i), 11.54: Very long- step Sampling These worksheets are duplicates of 11.37-11.41. 11.55: Modelling a spread floater with different maturities 34 Worksheet 11.39 can re-compute both the correlation matrix and the Cholesky decomposition on-the-fly. 35 The control variates method is a variance reduction technique used in Monte Carlo methods. It exploits information about the errors in estimates of known quantities to reduce the error of an estimate of an unknown quantity (see http://en.wikipedia.org/wiki/Control_variates for mathematical explanation). The purpose of this worksheet is to analytically price a spread floater, which will be used as a control variate for the TARN considered in 11.56. In fact, because we do not know the effective of the TARN, the spread floater is modelled for a range of maturities and, as we shall see, the correct maturity will be selected for each scenario of the TARN. An adjustment can then be made, not on average across all scenarios, but for each scenario. The spreadsheet calculates the fixed spread that must be paid quarterly in return for paid annually, for a variety of maturities between 2 and 10 years. No convexity adjustment is applied. The discount factors are taken from 11.50. 11.56: Modelling a TARN This worksheet demonstrates how to use a single realisation of the fixing of each forward rate generated in 11.54 to compute the sum of the discounted cash flows of a (maximum) 10-year that pays subject to and mandatory early redemption on any coupon date if total accrued coupon (including current coupon) exceeds accrual barrier of 20%. For each realisation, the breakeven fixed spread that must be paid quarterly in return for these exotic cash flows is computed. The spreadsheet also the breakeven fixed spread that must be paid quarterly in return for the cash flows from the spread floater described in 11.55. The corrected breakeven margin for the TARN is estimated by the simulated margin for the TARN plus the difference between the simulated and analytically-computed breakeven margins for the spread floater with the same effective maturity as the TARN. It employs a one-input data table to re-compute the corrected breakeven margin for the TARN using two antithetic pairs of 500 simulations. Averaging over these 36 values gives the derivative’s risk-neutral breakeven margin under the BGM model . The most suitable instruments to calibrate the simulation to would be fixed length European swaptions such as /2 and /10 where would range from 1-year out to 10 years. Another fairly common structure is an index amortising swap (IAS), in which the amortisation schedule is driven dynamically by some function of a reference index. The function is usually a ratchet, i.e., the notional can decrease only. Such instruments may be used to hedge MBS with prepayment optionality. A balance guarantee (or guaranty) swap is similar to an IAS except where the amortisation schedule exactly matches the actual schedule. These can be modelled by simulating IAS under a range of different (but likely) prepayment schedules, and taking some conservative outcome as the price. 11.57: Market data, 11.58: Forward-Forward Vols, 11.59: Correlation matrix, 11.60 σ(i).ρ(k,i), 11.61: Very long- step Sampling These worksheets are duplicates of 11.37-11.41. 11.62 Snowball This worksheet demonstrates how to use a single realisation of the fixing of each forward rate generated in 11.61 to compute the sum of the discounted semi-annual cash flows of a 7-year snowball that pays 7% in year 1 and thereafter subject to where starts at 2.0% and increments by 25bp each period. For each realisation, the breakeven fixed spread that must be paid quarterly in return for these exotic cash flows is computed. It employs a one-input data table to re- compute the breakeven margin for the snowball using two antithetic pairs of 500 simulations. Averaging over these values gives the derivative’s risk-neutral breakeven margin under the BGM model. 11.63 Snowball with calls 36 This turns out not to be too far away from the average breakeven margin for the spread floaters across all maturities considered. The call strip makes this an example of a backward-forward structure. Handling call strips (or other forward- looking conditions) is difficult within simulations. At a particular time step the cash flows that results from immediate exercise and from its postponement are both known. However, the decision to exercise depends on the continuation value where is the cash flow at time step conditional on the option not being exercised at time step and the option holder following the optimal stopping policy at each exercise date. In their paper “Valuing American Options by Simulation: A Simple Least-Squares Approach”, Longstaff & Schwartz propose a least squares approach that estimates this conditional expected continuation value without recourse to squaring the simulation time. [Not studied] 11.64: This worksheet demonstrates the basic principles of incorporating a smile within a numerical tree, 11.65: Market data, 11.66: Floorlet with no smile, 11.67: Floorlet with smile These worksheets show how to incorporate a smile into the BDT binomial tree. The procedure described does 37 38 not make complete sense , and as an alternative the following is suggested : Follow the exact same procedure as in the non-smile model except use the formula The inputs are Black caplet vols for different maturities and strikes, and discount bond prices. 11.66 and 11.67 price a $100m 5-year Bermudan floorlet, set with a fixed strike, and exercisable on any coupon date after the first year. If the strike is considerably OTM, so that it is up in the wings of the smile, then the smile price is 14% higher than the non-smile price. However, if the strike is close to ATM then the two prices are only 2% apart. 11.68: Market data Strips of LIBOR discount factors, zero-coupon rates, and gradients, spaced regularly three months apart out to 30 years; Black volatility term structure. 11.69: Building a Hull & White tree with a time-dependent volatility curve These are probably the other form of tree most commonly used for modelling interest rates. The commonest implementation uses the following SDE for the short rate: 39 Unlike BDT, this is a normal model and is not a Black volatility . The model permits mean reversion, and this additional parameter requires a trinomial model, introducing an additional degree of freedom to that in BDT. 37 For example, the determination of the strikes in the formula nd on top of page 263 (2 ed.) is puzzling. 38 However, this should not be used for serious applications without validating it against the literature. 40 Suppose that , , and are the probabilities of up, middle, and down movements at each node and is the length of the time step. We suppose that the short rate, , follows the same process as the short rate. The first stage in building a tree for this model is to construct a tree for a variable that is initially zero and follows the process If terms of higher order than are ignored, the expected value of is – and the variance is . At time the nodes are chosen to be at 41 where is a positive or negative integer . The probabilities are chosen to match the expected change and variance of the change in over the next time interval . The probabilities must also sum to unity. This leads to three equations in three unknowns, the solution to which is The second stage in the tree construction is to convert the tree for into a tree for . This is accomplished by displacing the nodes on the -tree so that the initial term structure of interest rates is exactly matched. Define We calculate the ’s iteratively so that the initial term structure is matched exactly. It is sometimes convenient to modify the standard branching pattern. Two alternative branching possibilities are “up two/up one/straight along” (useful for incorporating mean reversion when interest rates are low) and “straight along/down one/down two” (useful for incorporating mean reversion when interest rates are high). Hull’s technical note explains how to calculate the transition probabilities for these branching methods also. Most of the time, the standard branching is appropriate. When , it is necessary to switch to the first alternative for sufficiently large (call the switching value ; similarly it is necessary to switch to the second alternative for sufficiently negative (call the switching value . Hull and White show that probabilities are always positive if we set and . In this worksheet is assumed to be a constant 10% so that the probabilities , , and depend only 42 on the node and not on the time . is calculated to be 7, and the tree extends out to . Neither does the spreadsheet calibrate the volatility parameter, as this is “derived” by multiplying zero coupon rates 39 The same could be said for BDT but the author appears to skirt over this fact. 40 This follows Technical Note 9 on Hull’s website. 41 Hull says this proves a good choice from the viewpoint of error minimisation. 42 In a practical application the mean-reversion parameter could be calibrated along with the volatility parameter from a calibration set rich enough in options of different types and maturities. Flavell says this is difficult to do and it is common to set the mean reversion to a time-independent constant and calibrate the volatility. 43 by Black vols . The tree is built so that time advances down the rows and the nodes run from left to right across the columns. 11.70: Pricing a Bermudan caplet with time-dependent volatility curve This worksheet prices a 5-year Bermudan caplet, struck at 3%, using the tree calibrated in 11.69. The price of the caplet is 37.285bp. The price of a European version is 37.057bp. The very small difference in price is due to the relatively low number of times it is optimal to exercise early. 11.71: Building a H&W tree, and calibrating the tree to known swaption prices, 11.72: Pricing a 2 x 4 European swaption, 11.73: Pricing a 2 x 6 European swaption, 11.74: Pricing a 4 x 4 European swaption These four worksheets demonstrate how to determine the volatility parameter by calibrating the HW tree to three European swaptions. 11.76: Market data, 11.77: Building the rate tree, 11.78: Discounting tree, 11.79: X tree, 11.80: Pricing a Bermudan caplet, 11.81: Pricing European swaptions These six worksheets are used to price the Bermudan caplet in 11.70 and the European swaptions in 11.71- 11.74 except using a BDT tree for comparison. Appendix The BDT and HW models are by far the most common in practical use. It is feasible to modify the process in the HW tree to become log-normal by using where follows 44 the normal algorithm . The model may be built by modifying the initial expectation and variance equations to give a trinomial, mean-reverting, log-normal process. This version is often referred to as a Black-Karasinski model, and it may also be regarded as an extension of the BDT model. Another problem with the HW model is that the mean reversion parameter may end up negative when calibrating to a humped Black volatility curve. Constraining the parameter to be positive results in a downward-sloping volatility curve with no hump, thus being unable to fit the market data. HW tried to overcome this problem by introducing a two-factor model. A two-factor model can be expressed as follows: In such a model changes in the long rate and the short rate are imperfectly correlated. Hull & White construct a two-dimensional tree which is trinomial in both dimensions. See Hull for details. 43 This is wrong in a couple of ways. First, the required vols are forward forward-rate vols and not spot forward rate vols. Second, the Blacks vols should be normalised by multiplying them by forward rates and not zero rates. 44 The author reports using the normal version to price a zero-strike floor and finding positive value.