• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Monte Carlo simulation of instantaneous spot rate

Joined
2/26/09
Messages
76
Points
16
Hi all,

I am using Hull-White model to simulate short interest rate. I already built LIBOR curve (from LIBOR data, Euro-future data and swap data). I also obtained parameters by calibrating H-W model based on market swaption data.

Now what I am doing is to use the obtained H-W model parameters to implement Monte-Carlo simulation. Currently I am not using any variance reduction techniques and no LDN. I am just using the most common (and intuitive) way: generating random numbers using MATLAB function RANDN().

I run 10,000 paths and take average. My result gave me non-smooth spot rate curve over 30 years (as seen in attached JPG file). Note, my input of observed term structure (LIBOR curve) is relatively smooth.

So, my questions are:

(1) Is it normal (or correct, or acceptible) that the obtained spot rate curve is non-smooth?
(2) When you guys do such kind of simulations, are your curve smooth?
(3) Do those techniques (variance-reduction methods, quasi-Monte Carlo, LDN) help to generate smoother curve?

Thanks a lot for your help.

Regards,
Derek
 

Attachments

  • ShortRateMonthly.jpg
    ShortRateMonthly.jpg
    21.4 KB · Views: 71
2. Try using more paths.

3. Yes. They are not much more code, give them a try.
 
2. Try using more paths.

3. Yes. They are not much more code, give them a try.

Thanks a lot for your helpful answer.
So, I assume generally you get smooth rate curve, that's why you suggest more path, right? I will try with more path.

However, by tuition, I think too smooth curve may not be realistic, since market volatility shall 'distort' the curve......maybe I am wrong.
 
I increase the number of path to 100,000,still got almost same result.
 
I think that you get this kind of curve because of the values of your calibrated parameters.

What are the values of your parameters after the calibration routine ?
 
Hi Pulco,

Thanks a lot for your reply.

The two parameters that I obtained from calibrating Hull-White model is:

($a=0.068$)
($\sigma=0.015$)

These two parameters give good fitting to swaption volatility data, and also they match the data range recommended by John Hull. I ever tried time-dependent a and sigma, no significant increase of accuracy, so I still stick with constants.

Another input is currently observed term structure, which is the LIBOR-Curve built from LIBOR data (<3-month), Euro-future (<2 year) and swap (> 2 year). The obtained zero-coupon LIBOR Curves for USD and Sterling are attached here.

Thanks a lot for your help.

I think that you get this kind of curve because of the values of your calibrated parameters.

What are the values of your parameters after the calibration routine ?
 

Attachments

  • Yield_Curves.png
    Yield_Curves.png
    5.2 KB · Views: 32
Back
Top