I have some implementations of interest rate lattice models. I would like to verify their performance. What would be the best approaches?

Currently I compare pricings of some interest rate dependent derivatives, but is there anything more direct?

I'm more interested in accuracy and possibly hedging performance.

  • $\begingroup$ How many factors are you looking at? What do you mean by performance? Speed? Accuracy? Hedging performance? $\endgroup$
    – mepuzza
    Commented May 14, 2012 at 9:59
  • $\begingroup$ I think this question is still too general. There are 1 factor models, 2 factor models, 3 factor models, gaussian models, lognormal models, square root models, with mean reversion, without mean reversion, with stoch vols, etcetera ... In my opinion there is no general answer to your question as it is $\endgroup$
    – mepuzza
    Commented May 15, 2012 at 7:28
  • $\begingroup$ @mepuzza 1 factor model with mean reversion, deterministic vol $\endgroup$
    – John Smith
    Commented May 15, 2012 at 13:40

1 Answer 1


OK, so you need to validate a one factor model with mean reversion, here are the questions I would ask myself

For calibration

Is the model capable of calibrating to both coterminals and caplets? If not how do I intend to calibrate it when pricing Callable Cap Floaters?

Is the model capable of calibrating to skew? If not how do I intend to calibrate it when pricing Callable Range Accruals and Collars?

Am I going to price zero coupon swaptions? What kind of calibration am I going to use?

Am I going to calibrate mean reversion? If so how? If not what number do I use?

Is the calibration stable? I would try running through the end of 2008 and see how many failures I get.

For pricing

Is the integration routine accurate? I would try pricing structures with OTM strikes and see when it breaks down. In particular, can I achieve convergence with a reasonable CPU time? Changing integration parameters (grid spacing, time steps) should give me an idea of the issues.

(Connected to previous) What is the implied distribution of Libor rates? Does it have fat tails? If so, does the integration routine cover a sufficient range (number of standard deviations).

Is the calibration appropriate? I would try calibrating an OTM bermudan to both ATM coterminals and at the strike coterminals. Do I get different prices? Why? What is the appropriate strike to be used?

What kind of forward vols/skews does the model imply? Does it make sense?

For greeks

Are the greeks stable? Again, I would try backtesting the model through turbulent periods. And again, I would try changing the integration parameters and see if I get oscillations.

How does the integration routine cope with disontinuities in the payoff? Is anything sophisticated used for avoiding spurious oscillations? Here is a paper with a standard technique used for eliminating noise


is anything like this employed in the integration routine?

How do I intend to calculate greeks? Am I planning to use model greeks or smile greeks (i.e. adjusted for movements in the vol surface) ? Which ones are better?

Not being a model validator myself I must have missed some important points. For what concerns the hedging performance, I've spent some time in the past implementing a backesting framework for one factor interest rate models and I think that's the only way to check hedging performance. Plus it allows you to find answers to a lot of the questions above. Beware however, it takes a lot of time and effort to implement one.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.