<<Book1.xls>>
Hi all, I would like to price CAP on CMS, for that I've been building the the capfloor vol surface and stripped it with function "qlStrippedOptionletAdapter" and apply the When I try to compute the option price or whatever other value from the vol surface, I found an error that depend on the Max iteration that is applied to "qlOptionletStripper1" If qlOptionletStripper1 Max iteration is 0: qlOptionletStripper2SpreadsVol - could not bootstrap optionlet: type: Put strike: 2.000000 % atm: 1.333613 % price: 0.00358646 annuity: 0.510165 expiry: March 15th, 2011 error: maximum number of function evaluations (0) exceeded If qlOptionletStripper1 Max iteration is 10000: qlOptionletStripper2SpreadsVol - could not bootstrap optionlet: type: Call strike: 3.500000 % atm: 3.716268 % price: 0.000734918 annuity: 0.389011 expiry: March 13th, 2020 error: root not bracketed: f[0,3] -> [2.734862e-004,3.045530e-0 How can I resolve that issue, where does that come from? thank you for your help, Ciao, ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users Book1.xls (43K) Download Attachment |
Hi Giuseppe,
a cap on cms is usually priced using swaption vols, not cap floor vols. This does not answer your question however. Without having looked in your excel book I would suspect some problem in the market data. I would say try a flat interest rate curve and flat cap/floor (flat) vols and see if it works then? Regards Peter -----Ursprüngliche Nachricht----- Von: Circo Giuseppe (DAM) [mailto:[hidden email]] Gesendet: Mittwoch, 15. September 2010 16:06 An: [hidden email] Betreff: [Quantlib-users] qlxl - pricing CAP on CMS <<Book1.xls>> Hi all, I would like to price CAP on CMS, for that I've been building the the capfloor vol surface and stripped it with function "qlStrippedOptionletAdapter" and apply the When I try to compute the option price or whatever other value from the vol surface, I found an error that depend on the Max iteration that is applied to "qlOptionletStripper1" If qlOptionletStripper1 Max iteration is 0: qlOptionletStripper2SpreadsVol - could not bootstrap optionlet: type: Put strike: 2.000000 % atm: 1.333613 % price: 0.00358646 annuity: 0.510165 expiry: March 15th, 2011 error: maximum number of function evaluations (0) exceeded If qlOptionletStripper1 Max iteration is 10000: qlOptionletStripper2SpreadsVol - could not bootstrap optionlet: type: Call strike: 3.500000 % atm: 3.716268 % price: 0.000734918 annuity: 0.389011 expiry: March 13th, 2020 error: root not bracketed: f[0,3] -> [2.734862e-004,3.045530e-0 How can I resolve that issue, where does that come from? thank you for your help, Ciao, ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
In reply to this post by Circo Giuseppe (DAM)
The stripping involves an iterative solving stage which finds the implied volatility (or rather, standard deviation) of the optionlets from on their price. If you set Max iteration to zero, than the iterating solver process has no chance of finding the correct solution and it probably terminates at the first optionlet. You definitely do not want to do that. If you set Max iteration to a non-zero value than the iterative solver will look for a standard deviation that gives the observed price. In you case the solver has noticed that there does not appear to be a plausible standard deviation solution in the range 0 to 3 and is terminating there. Most likely then there is an error in the price that you entered for this optionlet... Best, Bojan -- Bojan Nikolic || http://www.bnikolic.co.uk/ql/ ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
In reply to this post by Peter Caspers-2
Hi Peter,
Thank you for your reply, Using flat rates curve and flat vol works fine, but it does not fit my needs... also about the vol surface to use, if you inform an odbject "qlBlackSwaptionEngine" instead of "qlBlackCapFloorEngine" pricing doesn't work: setting the pricing instrument works but when you ask for a NPV it just tells you "qlInstrumentNPV - wrong argument type" regards, -----Original Message----- From: Peter Caspers [mailto:[hidden email]] Sent: 15 September 2010 21:04 To: Circo Giuseppe (DAM); [hidden email] Subject: AW: [Quantlib-users] qlxl - pricing CAP on CMS Hi Giuseppe, a cap on cms is usually priced using swaption vols, not cap floor vols. This does not answer your question however. Without having looked in your excel book I would suspect some problem in the market data. I would say try a flat interest rate curve and flat cap/floor (flat) vols and see if it works then? Regards Peter -----Ursprüngliche Nachricht----- Von: Circo Giuseppe (DAM) [mailto:[hidden email]] Gesendet: Mittwoch, 15. September 2010 16:06 An: [hidden email] Betreff: [Quantlib-users] qlxl - pricing CAP on CMS <<Book1.xls>> Hi all, I would like to price CAP on CMS, for that I've been building the the capfloor vol surface and stripped it with function "qlStrippedOptionletAdapter" and apply the When I try to compute the option price or whatever other value from the vol surface, I found an error that depend on the Max iteration that is applied to "qlOptionletStripper1" If qlOptionletStripper1 Max iteration is 0: qlOptionletStripper2SpreadsVol - could not bootstrap optionlet: type: Put strike: 2.000000 % atm: 1.333613 % price: 0.00358646 annuity: 0.510165 expiry: March 15th, 2011 error: maximum number of function evaluations (0) exceeded If qlOptionletStripper1 Max iteration is 10000: qlOptionletStripper2SpreadsVol - could not bootstrap optionlet: type: Call strike: 3.500000 % atm: 3.716268 % price: 0.000734918 annuity: 0.389011 expiry: March 13th, 2020 error: root not bracketed: f[0,3] -> [2.734862e-004,3.045530e-0 How can I resolve that issue, where does that come from? thank you for your help, Ciao, ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
Hi Giuseppe,
this was meant just as a test. The outcome is a hint that your market data may contain arbitrage, i.e. implies a caplet with a negative price. However have a look at classes cmscoupon, couponpricer and conundrumpricer first, perhaps they are more useful for your needs. Peter -----Ursprüngliche Nachricht----- Von: Circo Giuseppe (DAM) [mailto:[hidden email]] Gesendet: Donnerstag, 16. September 2010 15:03 An: Peter Caspers; [hidden email] Betreff: RE: [Quantlib-users] qlxl - pricing CAP on CMS Hi Peter, Thank you for your reply, Using flat rates curve and flat vol works fine, but it does not fit my needs... also about the vol surface to use, if you inform an odbject "qlBlackSwaptionEngine" instead of "qlBlackCapFloorEngine" pricing doesn't work: setting the pricing instrument works but when you ask for a NPV it just tells you "qlInstrumentNPV - wrong argument type" regards, -----Original Message----- From: Peter Caspers [mailto:[hidden email]] Sent: 15 September 2010 21:04 To: Circo Giuseppe (DAM); [hidden email] Subject: AW: [Quantlib-users] qlxl - pricing CAP on CMS Hi Giuseppe, a cap on cms is usually priced using swaption vols, not cap floor vols. This does not answer your question however. Without having looked in your excel book I would suspect some problem in the market data. I would say try a flat interest rate curve and flat cap/floor (flat) vols and see if it works then? Regards Peter -----Ursprüngliche Nachricht----- Von: Circo Giuseppe (DAM) [mailto:[hidden email]] Gesendet: Mittwoch, 15. September 2010 16:06 An: [hidden email] Betreff: [Quantlib-users] qlxl - pricing CAP on CMS <<Book1.xls>> Hi all, I would like to price CAP on CMS, for that I've been building the the capfloor vol surface and stripped it with function "qlStrippedOptionletAdapter" and apply the When I try to compute the option price or whatever other value from the vol surface, I found an error that depend on the Max iteration that is applied to "qlOptionletStripper1" If qlOptionletStripper1 Max iteration is 0: qlOptionletStripper2SpreadsVol - could not bootstrap optionlet: type: Put strike: 2.000000 % atm: 1.333613 % price: 0.00358646 annuity: 0.510165 expiry: March 15th, 2011 error: maximum number of function evaluations (0) exceeded If qlOptionletStripper1 Max iteration is 10000: qlOptionletStripper2SpreadsVol - could not bootstrap optionlet: type: Call strike: 3.500000 % atm: 3.716268 % price: 0.000734918 annuity: 0.389011 expiry: March 13th, 2020 error: root not bracketed: f[0,3] -> [2.734862e-004,3.045530e-0 How can I resolve that issue, where does that come from? thank you for your help, Ciao, ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
Hi Peter,
I 've found the problem, it was indeed related to the market data, it works fine now. thank you for your help, best regards, -----Original Message----- From: Peter Caspers [mailto:[hidden email]] Sent: 16 September 2010 21:05 To: Circo Giuseppe (DAM) Cc: [hidden email] Subject: AW: [Quantlib-users] qlxl - pricing CAP on CMS Hi Giuseppe, this was meant just as a test. The outcome is a hint that your market data may contain arbitrage, i.e. implies a caplet with a negative price. However have a look at classes cmscoupon, couponpricer and conundrumpricer first, perhaps they are more useful for your needs. Peter -----Ursprüngliche Nachricht----- Von: Circo Giuseppe (DAM) [mailto:[hidden email]] Gesendet: Donnerstag, 16. September 2010 15:03 An: Peter Caspers; [hidden email] Betreff: RE: [Quantlib-users] qlxl - pricing CAP on CMS Hi Peter, Thank you for your reply, Using flat rates curve and flat vol works fine, but it does not fit my needs... also about the vol surface to use, if you inform an odbject "qlBlackSwaptionEngine" instead of "qlBlackCapFloorEngine" pricing doesn't work: setting the pricing instrument works but when you ask for a NPV it just tells you "qlInstrumentNPV - wrong argument type" regards, -----Original Message----- From: Peter Caspers [mailto:[hidden email]] Sent: 15 September 2010 21:04 To: Circo Giuseppe (DAM); [hidden email] Subject: AW: [Quantlib-users] qlxl - pricing CAP on CMS Hi Giuseppe, a cap on cms is usually priced using swaption vols, not cap floor vols. This does not answer your question however. Without having looked in your excel book I would suspect some problem in the market data. I would say try a flat interest rate curve and flat cap/floor (flat) vols and see if it works then? Regards Peter -----Ursprüngliche Nachricht----- Von: Circo Giuseppe (DAM) [mailto:[hidden email]] Gesendet: Mittwoch, 15. September 2010 16:06 An: [hidden email] Betreff: [Quantlib-users] qlxl - pricing CAP on CMS <<Book1.xls>> Hi all, I would like to price CAP on CMS, for that I've been building the the capfloor vol surface and stripped it with function "qlStrippedOptionletAdapter" and apply the When I try to compute the option price or whatever other value from the vol surface, I found an error that depend on the Max iteration that is applied to "qlOptionletStripper1" If qlOptionletStripper1 Max iteration is 0: qlOptionletStripper2SpreadsVol - could not bootstrap optionlet: type: Put strike: 2.000000 % atm: 1.333613 % price: 0.00358646 annuity: 0.510165 expiry: March 15th, 2011 error: maximum number of function evaluations (0) exceeded If qlOptionletStripper1 Max iteration is 10000: qlOptionletStripper2SpreadsVol - could not bootstrap optionlet: type: Call strike: 3.500000 % atm: 3.716268 % price: 0.000734918 annuity: 0.389011 expiry: March 13th, 2020 error: root not bracketed: f[0,3] -> [2.734862e-004,3.045530e-0 How can I resolve that issue, where does that come from? thank you for your help, Ciao, ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
Free forum by Nabble | Edit this page |