Klaus Spanderen <klaus <at> spanderen.de> writes:
> Reference date of the term structure used to instantiate the > calibraton helper and the index should be > > index->fixingCalendar().advance(todaysDate, index->fixingDays(), > Days); > > I guess the best way to fix it is to roll your bootstrapped curve > forward by index->fixingDays() Klaus, many thanks for your answers. Anyway, I have many doubts and questions about how to set up QL LMM calibration, since very little documentation is available. I already know nobody would answer this kind of post :-) I'm going to attend Mark's course, but I wish to be already able to do the basics. Let's start with an example: Suppose I want to price a 1x4 vanilla european swaption (1Y frequency for the fixed leg, 6M for the floating EURIBOR 6M index) ... we need to evolve the forward rates F(t;T_{i-1},T_{i}), where T={1Y6M, ... , 5Y}, up to time t=T_{1Y}. What I would do in QuantLib is to choose a Volatility and Corr model and build a LFM process of size 8, bound to a EURIBOR 6M tenor index. Right? (Any method or class to reduce rank size of the process?) Questions on calibration with QL: Now I need 8 instantaneous volatilities \sigma_{T_i} to be calibrated, using at least 8 caplet vols, related to the following atm caplets: Caplet1(T_{1Y},T_{1Y6M}) , Caplet2(T_{1Y6M}, T_{2Y}), ... , Caplet8(T_{4Y6M}, T_{5Y}). Market provides me 1 year tenor ATM CAPs vols. 1) Which CapHelpers do QL need? I would provide market quoted ATM CAPS starting from 2Y tenor up to 5 years, is it enough/correct in current QL LMM framework? 2) Do I have to provide CAPS with the same tenor of the underlying LMM index? (ATM CAPS quotes are tipically 1Y based, while in my example I use a EURIBOR 6M index for the LMM process). 3) What if I have "holes" between available market atm caps quotes (tipically between 10Y and 30Y): how do I extrapolate atm cap vol from market data? I really hope someone would answer or at least point me to the right direction. An example of a LMM calibration with real market data to price a vanilla swaption would be really appreciated! Best regards, luca ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
This post was updated on .
Hey Luca,
I have pretty much the same problem as you: I also want to setup a QL LMM calibration and started to reconstruct the implementations in "libormarketmodel.cpp" of the testsuite. According to Brigo&Mercurio's "Interest Rate Models" (ยง6.4 ff) the purpose of the whole calibration process is the calibration to Caplet ATM volatilities and Swaption ATM volatilities. To this end, one chooses a certain constant-volatility model (e.g. the LmExtLinearExponentialVolModel, i.e. sigma_{i} = phi_{i}((a(T_{i-1}-t)+d)*exp(-b(T_{i-1}-t))+c) and a certain correlation model (e.g. LmLinearExponentialCorrelationModel). Then according to the book the parameters phi_{i} can be used to calibrate automatically caplet volatilities via: phi_{i}^2 = v_{i}[MKT]^2/(integral[0][T_{i-1}] sigma{i})^2, where v_{i}[MKT] are caplet volatilities inferred from market data. The additional free parameters a, b, c and d can be used for the swaption calibration. The market provides quoted ATM Cap volatilities e.g. starting from 2Y tenor up to 5 years. I'm wondering now how to get the corresponding caplet volatilities for the above calibration? Is there any stripping algorithm in QL to recover the caplet volatilities from the market quoted cap volatilities? It seems to me that the CapHelper doesn't provide such an algorithm and expects to get cap ATM volatilities and not caplet volatilities as an input. Or am I wrong? Luca, did you find answers or solutions to your questions? If so, it would be great if shared them with me. I'd really appreciate any kind of help or hint and hope that someone's experienced on such a special issue! Best regards, Lothar |
Hi
> Then according to the book the parameters phi_{i} can be used to calibrate > automatically caplet volatilities via: phi_{i}^2 = > v_{i}[MKT]^2/(integral[0][T_{i-1}] sigma{i})^2, where v_{i}[MKT] are caplet > volatilities inferred from market data. The additional free parameters a, > b, c and d can be used for the swaption calibration. > > The market provides quoted ATM Cap volatilities e.g. starting from 2Y tenor > up to 5 years. I'm wondering now how to get the corresponding caplet > volatilities for the above calibration? Is there any stripping algorithm in > QL to recover the caplet volatilities from the market quoted cap > volatilities? No, the optimizer has to choose the parameter of the volatility model to match the ATM cap volatilities best (and at the same time to match the swaptions as well). Within the calibration process the caps are priced using the AnalyticCapFloorEngine (which is using the integratedCovariance method of the volatility model). The LfmHullWhiteParameterization is using Caplet Vols to set-up an Libor Model Process. BTW.: The old libor model "legacy" code. Please have a look at the newer market model implementation;-) regards Klaus -- Klaus Spanderen Ludwig Erhard Str. 12 48734 Reken (Germany) EMail: [hidden email] (remove NOSPAM from the address) ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
Free forum by Nabble | Edit this page |