Python代写-STA2570-Assignment 2

STA2570-W21 Assignment 2
Due on Monday March 1 at 11:59 pm
1. In this problem, you are asked to build a Hull-White lattice model and use it to price a swaption. The
annualized yield (using simple interest) of zero coupon bonds, for maturities up to 10 years, are given
in yield.txt, where the k-th entry is the yield rate for the zero coupon bond maturing in 0.25k years.
The cap quotes (with first reset date T0 = 0.25 years and quarterly payments, i.e. tenor = 3 months)
are given in cap.txt, where the three columns are maturity (years), Black flat implied volatility (%)
and ATM strike (%), respectively.
(a) Calibrate the mean-reversion speed parameter a and the volatility parameter σ to the cap data:
– Compute the market price Cmktn of the n-th cap above from the Black implied volatility.
– Write down the theoretical price Cˆa,σn of the n-th cap under the Hull-White short rate model:
drt = (θ(t)− art)dt+ σdWQt ,
where θ(t) is a deterministic function of time and a, σ are constants.
– Write down the Black vega of the n-th cap Cn.
– Write a program to find a, σ by minimizing the Black vega weighted squared cap price error:
15∑
n=1
1(
∂Cn
∂σ
∣∣
σ=σmktn
)2 (Cˆa,σn − Cmktn )2 .
You may use the Matlab function fminsearch.
– Report your calibrated a and σ.
(b) For ∆t = 0.25 years, calculate the Hull-White choice of ∆r and J .
(c) Taking ∆t,∆r, J from part (b), fit the mean short rate αm = α(m∆t) = Erm∆t to the provided
yield data. Plot αm for m = 0, . . . , 39.
(d) Using the calibrated Hull-White model, find the cost (on a notional principal of 100) of an at-the-
money receiver swaption with exercise date in 6 months and semi-annual settlement starting from
the end of year 1 till the end of year 5 (i.e. a total of 9 payments).
2. In this problem, you are asked to build a BDT tree using the yield and (implied) volatility data in
BDT.csv. Yields and volatilities for fractional maturities are to be obtained using spline interpolation.
The yield on the shortest term bond is assumed to be the same as the yield on one year bond (5.32%).
Similarly, the volatility for the first year is assumed to be the same as the volatility for year 1-2 (17.11%).
(a) Choose ∆t = 1/12 and T = 15. The BDT model contains two sets of parameters: rm0 and β
m.
For simplicity, set βm to be the interpolated volatility for the interval [(m− 1)∆t,m∆t]. Fit rm0 to
the yield curve. Plot on the same axes the graphs of the simple forward rates F (0; t, t + ∆t) and
the mean of the BDT short rate Ert. Report the numerical values for the simple forward rate and
BDT mean short rate at time t = 10 years.
(b) Using the calibrated BDT model, find the cost (on a notional principal of 100) of a prepayment
option after 5 years on a 13 year fixed rate loan where the rate is 5% payable annually.