Serving the Quantitative Finance Community

 
User avatar
boykie
Topic Author
Posts: 0
Joined: September 8th, 2009, 10:29 am

Hull-White Two-Factor Monte Carlo

September 22nd, 2009, 8:52 am

Hi guys,I am trying to implement the Hull-White Two-factor interest rate model by means of Monte Carlo. I am just interested in the rich patterns of the term structure that this model can induce. The literature that I am currently using is: BRIGO, D. & MERCURIO, F. 2007. Interest Rate Models - Theory and Practice. 2nd ed. New York: Springer, Berlin Heidelberg.Unfortunately this (amazing) book doesn't explain in laymen terms how to implement this method. Needless to say, I am a layman . I presume that some of the geniuses on this forum have already done this in their sleep; if that is the case, please advise me on some literature. I do not require the code for it, I just need the algorithm so that I can struggle with it myself in MATLAB I appreciate any advise.
 
User avatar
nicolasito
Posts: 2
Joined: November 23rd, 2005, 5:23 pm

Hull-White Two-Factor Monte Carlo

September 22nd, 2009, 9:48 am

Go to www.rnfc.org/ivey/Quant LibrariesLook for the Library FINAN_FI_MBS_SIMUL_LIBRThe simulation routine may help you!nico
 
User avatar
boykie
Topic Author
Posts: 0
Joined: September 8th, 2009, 10:29 am

Hull-White Two-Factor Monte Carlo

September 22nd, 2009, 10:05 am

Nico,very nice Library. I presume I am typing to the author of that specific VBA-script. If so, well done and nice work I have actually come across it before, in search of the same answers. I will give it another glance and hopefully it helps.Thanx alot
 
User avatar
nicolasito
Posts: 2
Joined: November 23rd, 2005, 5:23 pm

Hull-White Two-Factor Monte Carlo

September 22nd, 2009, 11:14 am

you welcome
 
User avatar
boykie
Topic Author
Posts: 0
Joined: September 8th, 2009, 10:29 am

Hull-White Two-Factor Monte Carlo

September 23rd, 2009, 6:13 am

My Question as evolved! w00t! How do you fit the initial term structure (theta(t) in Brigo/Mercurio) to a Two-Factor model using Monte Carlo? I have implemented the Single-Factor by using a Trinomial Tree, and there it is rather simple to fit the initial term structure (by using Arrow-Debreu prices). I cant seem to find a lot of literature on this.Again, any help is appreciated.
 
User avatar
nicolasito
Posts: 2
Joined: November 23rd, 2005, 5:23 pm

Hull-White Two-Factor Monte Carlo

September 25th, 2009, 7:40 am

Last edited by nicolasito on September 25th, 2009, 10:00 pm, edited 1 time in total.
 
User avatar
boykie
Topic Author
Posts: 0
Joined: September 8th, 2009, 10:29 am

Hull-White Two-Factor Monte Carlo

September 28th, 2009, 7:27 am

uhhhm, is your website down? I can't connect :/
 
User avatar
nicolasito
Posts: 2
Joined: November 23rd, 2005, 5:23 pm

Hull-White Two-Factor Monte Carlo

September 29th, 2009, 12:54 pm

 
User avatar
Church
Posts: 0
Joined: September 4th, 2007, 10:27 am

Hull-White Two-Factor Monte Carlo

October 7th, 2009, 12:18 pm

What do you mean by fitting the initial term structure (theta(t) in Brigo/Mercurio) to a Two-Factor model using Monte Carlo and why are you using a trinomial tree?You can simulate x(t) and y(t) using the standard formulas in section 4.2.1 of Brigo & Mercurio, and you can use formula (4.13) for calculating the integral of the theta(t), only requiring the market discount factors, and leading to a perfect fit with the yield curve.
 
User avatar
boykie
Topic Author
Posts: 0
Joined: September 8th, 2009, 10:29 am

Hull-White Two-Factor Monte Carlo

October 13th, 2009, 8:43 am

Nico, Thanks for the website, I have managed to simulate the G2++ model.Church, your advice was spot on! Thanks a lot. About the tree building, I did that previously for a single factor and was merely asking for any similarities regarding the initial fit for monte carlo. Nevertheless, I did exactly what you described and I presume I was successful. The next challenge is to calibrate this model. I am currently calibrating to caplet vols. So what I do is as follow: I take the market price (Black vol) and determine its price with standard Black Caplet formulae. Next I price the same caplet in my Two-Factor G2++ model. In order to do this I make further use of the T-forward measure (section 4.2.4, Brigo). Remembering that we have 5 parameters ( a, b, sigma, eta and rho) I use solver in excel to adjust these parameters until my model fits the market price. For interest sake, Excel calls my Matlab script repeatedly during this "solving" and each time adjusts the parameter values.Solver succeeds by matching my model price to the market price with an extremely minute error; something like 0.0000000256 plus/minus. This looks great! However, the real test is then to price a different caplet with these "new" parameter values. To explain this, assume we calibrated to a 12mX15m caplet (i.e. a 1-year caplet paying at 1.25 years, tenor=3month) and we obtain this amazingly close model price. Next we take a 15mX18m caplet (i.e. a 1.25year caplet paying at 1.5years, same tenor) and obtain a model price, using these new parameter values.The result is hopeless. The prices aren't even remotely close.I am considering some ways around this. My first and most recent proposition is as follow: I obtain 5 different (different maturities) market prices for caplets. Next i obtain model prices for these specific caplets. I use the same set of parameters for each one of these model prices. I then solve to minimize the squared sums of differences between market and model prices, by adjusting this common set of parameters. The result is more appealing. I am sure Profs. Hull & White would be rather nauseous after reading this , but unfortunately help is scares, especially for a MSc student like myself. As always, I appreciate any criticism.