You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(60) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(18) |
Feb
(4) |
Mar
(6) |
Apr
(2) |
May
|
Jun
(12) |
Jul
(48) |
Aug
(6) |
Sep
(3) |
Oct
(24) |
Nov
(15) |
Dec
(18) |
| 2002 |
Jan
(39) |
Feb
(12) |
Mar
(80) |
Apr
(72) |
May
(46) |
Jun
(27) |
Jul
(23) |
Aug
(34) |
Sep
(65) |
Oct
(71) |
Nov
(19) |
Dec
(14) |
| 2003 |
Jan
(44) |
Feb
(59) |
Mar
(18) |
Apr
(62) |
May
(54) |
Jun
(27) |
Jul
(46) |
Aug
(15) |
Sep
(44) |
Oct
(36) |
Nov
(19) |
Dec
(12) |
| 2004 |
Jan
(26) |
Feb
(33) |
Mar
(47) |
Apr
(63) |
May
(36) |
Jun
(65) |
Jul
(80) |
Aug
(163) |
Sep
(65) |
Oct
(39) |
Nov
(36) |
Dec
(39) |
| 2005 |
Jan
(97) |
Feb
(78) |
Mar
(64) |
Apr
(64) |
May
(48) |
Jun
(55) |
Jul
(89) |
Aug
(57) |
Sep
(51) |
Oct
(111) |
Nov
(86) |
Dec
(76) |
| 2006 |
Jan
(84) |
Feb
(103) |
Mar
(143) |
Apr
(92) |
May
(55) |
Jun
(58) |
Jul
(71) |
Aug
(57) |
Sep
(74) |
Oct
(59) |
Nov
(8) |
Dec
(32) |
| 2007 |
Jan
(60) |
Feb
(40) |
Mar
(50) |
Apr
(26) |
May
(61) |
Jun
(120) |
Jul
(119) |
Aug
(48) |
Sep
(121) |
Oct
(66) |
Nov
(103) |
Dec
(43) |
| 2008 |
Jan
(60) |
Feb
(109) |
Mar
(92) |
Apr
(106) |
May
(82) |
Jun
(59) |
Jul
(67) |
Aug
(118) |
Sep
(131) |
Oct
(56) |
Nov
(37) |
Dec
(69) |
| 2009 |
Jan
(75) |
Feb
(76) |
Mar
(103) |
Apr
(78) |
May
(61) |
Jun
(35) |
Jul
(66) |
Aug
(69) |
Sep
(166) |
Oct
(46) |
Nov
(72) |
Dec
(65) |
| 2010 |
Jan
(48) |
Feb
(57) |
Mar
(93) |
Apr
(85) |
May
(123) |
Jun
(82) |
Jul
(98) |
Aug
(121) |
Sep
(146) |
Oct
(86) |
Nov
(72) |
Dec
(34) |
| 2011 |
Jan
(96) |
Feb
(55) |
Mar
(73) |
Apr
(57) |
May
(33) |
Jun
(74) |
Jul
(89) |
Aug
(71) |
Sep
(103) |
Oct
(76) |
Nov
(52) |
Dec
(61) |
| 2012 |
Jan
(48) |
Feb
(54) |
Mar
(78) |
Apr
(60) |
May
(75) |
Jun
(59) |
Jul
(33) |
Aug
(66) |
Sep
(43) |
Oct
(46) |
Nov
(75) |
Dec
(51) |
| 2013 |
Jan
(112) |
Feb
(72) |
Mar
(49) |
Apr
(48) |
May
(42) |
Jun
(44) |
Jul
(80) |
Aug
(19) |
Sep
(33) |
Oct
(37) |
Nov
(38) |
Dec
(98) |
| 2014 |
Jan
(113) |
Feb
(93) |
Mar
(49) |
Apr
(106) |
May
(97) |
Jun
(155) |
Jul
(87) |
Aug
(127) |
Sep
(85) |
Oct
(48) |
Nov
(41) |
Dec
(37) |
| 2015 |
Jan
(34) |
Feb
(50) |
Mar
(104) |
Apr
(80) |
May
(82) |
Jun
(66) |
Jul
(41) |
Aug
(84) |
Sep
(37) |
Oct
(65) |
Nov
(83) |
Dec
(52) |
| 2016 |
Jan
(68) |
Feb
(35) |
Mar
(42) |
Apr
(35) |
May
(54) |
Jun
(75) |
Jul
(45) |
Aug
(52) |
Sep
(60) |
Oct
(52) |
Nov
(36) |
Dec
(64) |
| 2017 |
Jan
(92) |
Feb
(59) |
Mar
(35) |
Apr
(53) |
May
(83) |
Jun
(43) |
Jul
(65) |
Aug
(68) |
Sep
(46) |
Oct
(75) |
Nov
(40) |
Dec
(49) |
| 2018 |
Jan
(68) |
Feb
(54) |
Mar
(48) |
Apr
(58) |
May
(51) |
Jun
(44) |
Jul
(40) |
Aug
(68) |
Sep
(35) |
Oct
(15) |
Nov
(7) |
Dec
(37) |
| 2019 |
Jan
(43) |
Feb
(7) |
Mar
(22) |
Apr
(21) |
May
(31) |
Jun
(39) |
Jul
(73) |
Aug
(45) |
Sep
(47) |
Oct
(89) |
Nov
(19) |
Dec
(69) |
| 2020 |
Jan
(52) |
Feb
(63) |
Mar
(45) |
Apr
(59) |
May
(42) |
Jun
(57) |
Jul
(30) |
Aug
(29) |
Sep
(75) |
Oct
(64) |
Nov
(96) |
Dec
(22) |
| 2021 |
Jan
(14) |
Feb
(24) |
Mar
(35) |
Apr
(58) |
May
(36) |
Jun
(15) |
Jul
(18) |
Aug
(31) |
Sep
(30) |
Oct
(33) |
Nov
(27) |
Dec
(16) |
| 2022 |
Jan
(35) |
Feb
(22) |
Mar
(14) |
Apr
(20) |
May
(44) |
Jun
(53) |
Jul
(25) |
Aug
(56) |
Sep
(11) |
Oct
(47) |
Nov
(22) |
Dec
(36) |
| 2023 |
Jan
(30) |
Feb
(17) |
Mar
(31) |
Apr
(48) |
May
(31) |
Jun
(7) |
Jul
(25) |
Aug
(26) |
Sep
(61) |
Oct
(66) |
Nov
(19) |
Dec
(21) |
| 2024 |
Jan
(37) |
Feb
(29) |
Mar
(26) |
Apr
(26) |
May
(34) |
Jun
(9) |
Jul
(27) |
Aug
(13) |
Sep
(15) |
Oct
(25) |
Nov
(13) |
Dec
(8) |
| 2025 |
Jan
(13) |
Feb
(1) |
Mar
(16) |
Apr
(17) |
May
(8) |
Jun
(6) |
Jul
(9) |
Aug
|
Sep
(6) |
Oct
(15) |
Nov
(6) |
Dec
|
| 2026 |
Jan
(6) |
Feb
(4) |
Mar
(20) |
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Shashank C. <sha...@gm...> - 2022-08-11 13:59:23
|
Hi jack , Thank you for your help. I really appreciate it. I am not sure what library does the “minimize” function belongs to ? I am not a Python programmer so I am trying to translate this code to C++. Regards Shashank On Thu, Aug 11, 2022 at 9:24 AM Jack G <jac...@gm...> wrote: > Shashank, > > Can I recommend this excellent answer by David Duarte that I think will do > exactly what you want? > > > https://quant.stackexchange.com/questions/57786/sabr-model-pricing-engine-in-python-quantlib > > Best, > Jack > > On Tue, Aug 9, 2022 at 11:17 AM Shashank Choudhary < > sha...@gm...> wrote: > >> Hi Jack , >> >> I am trying to find the values of Rho and Nu which minimize the mean >> squared error between market volatility and volatility computed using the >> sabr model formula for a given set of parameters (alpha, rho, nu , beta). I >> can assume Beta to be 0.5 while alpha can be ATM volatility. >> Now I need to set up the calibration as explained in the MATLAB version >> below >> >> https://www.mathworks.com/help/fininst/calibrating-the-sabr-model.html >> >> Now quantlib has the sabr model class in C++ with the formula to compute >> the volatility, but I need to calibrate the parameters rho and Nu >> that minimises the error function. >> >> Hope this makes sense :) >> >> regards >> Shashank >> >> >> >> On Mon, Aug 8, 2022 at 7:14 PM Jack G <jac...@gm...> wrote: >> >>> Hi Shashank, >>> >>> What exactly are you trying to do here? SABR is a funny one because >>> although it is a "model", it usually isn't used as such and is just used >>> for smile interpolation at a given tenor (with different SABR "models" >>> fitted to each tenor). Quite a lot of the art is about how to choose these >>> adjacent smile fits. >>> >>> I'm not aware of an inbuilt calibrator but it should be easy enough to >>> calibrate to a given vol smile. How are you interacting with QuantLib? >>> There are some exams of calibrators in the cookbook I believe, and I have >>> some python code for QuantLib that will do this for SABR as well if it >>> help,. >>> >>> >>> Best, >>> Jack >>> >>> >>> On Tue, 9 Aug 2022, 06:01 Shashank Choudhary, <sha...@gm...> >>> wrote: >>> >>>> Hi , >>>> >>>> How do I use the calibration engine for the SABR model parameters? I >>>> can access the sabr model class and find implied volatilities for a given >>>> set of parameters but I can’t locate and use the calibration engine, if >>>> there’s one. >>>> >>>> Any help would be much appreciated :) >>>> >>>> Regards >>>> Shashank >>>> _______________________________________________ >>>> QuantLib-users mailing list >>>> Qua...@li... >>>> https://lists.sourceforge.net/lists/listinfo/quantlib-users >>>> >>>> |
|
From: Jack G <jac...@gm...> - 2022-08-11 13:24:57
|
Shashank, Can I recommend this excellent answer by David Duarte that I think will do exactly what you want? https://quant.stackexchange.com/questions/57786/sabr-model-pricing-engine-in-python-quantlib Best, Jack On Tue, Aug 9, 2022 at 11:17 AM Shashank Choudhary <sha...@gm...> wrote: > Hi Jack , > > I am trying to find the values of Rho and Nu which minimize the mean > squared error between market volatility and volatility computed using the > sabr model formula for a given set of parameters (alpha, rho, nu , beta). I > can assume Beta to be 0.5 while alpha can be ATM volatility. > Now I need to set up the calibration as explained in the MATLAB version > below > > https://www.mathworks.com/help/fininst/calibrating-the-sabr-model.html > > Now quantlib has the sabr model class in C++ with the formula to compute > the volatility, but I need to calibrate the parameters rho and Nu > that minimises the error function. > > Hope this makes sense :) > > regards > Shashank > > > > On Mon, Aug 8, 2022 at 7:14 PM Jack G <jac...@gm...> wrote: > >> Hi Shashank, >> >> What exactly are you trying to do here? SABR is a funny one because >> although it is a "model", it usually isn't used as such and is just used >> for smile interpolation at a given tenor (with different SABR "models" >> fitted to each tenor). Quite a lot of the art is about how to choose these >> adjacent smile fits. >> >> I'm not aware of an inbuilt calibrator but it should be easy enough to >> calibrate to a given vol smile. How are you interacting with QuantLib? >> There are some exams of calibrators in the cookbook I believe, and I have >> some python code for QuantLib that will do this for SABR as well if it >> help,. >> >> >> Best, >> Jack >> >> >> On Tue, 9 Aug 2022, 06:01 Shashank Choudhary, <sha...@gm...> >> wrote: >> >>> Hi , >>> >>> How do I use the calibration engine for the SABR model parameters? I can >>> access the sabr model class and find implied volatilities for a given set >>> of parameters but I can’t locate and use the calibration engine, if there’s >>> one. >>> >>> Any help would be much appreciated :) >>> >>> Regards >>> Shashank >>> _______________________________________________ >>> QuantLib-users mailing list >>> Qua...@li... >>> https://lists.sourceforge.net/lists/listinfo/quantlib-users >>> >>> |
|
From: Tom A. <tw...@ur...> - 2022-08-11 10:44:52
|
Hi Roberto, I was not involved in this decision. But in my limited experience, it is rare for people trading rates derivatives to use a parametric curve like Nelson-Siegel-Svensson; rather, we use interpolated curves, like splines and so on. Parametric curves are more commonly used with bonds. Why is this? Assuming it is not just a random historical accident, i think this is because rate derivatives have a greater degree of fungibility with each other than bonds do. In very loose terms, rate derivatives are various slices of some consistent underlying term structure, and have potentially infinite supply. Whereas bonds are individual things that trade according to their own particular dynamics, and have fixed supply. Both derive their value from discounted future cashflows, but there are idiosyncractic supply and demand effects that can push bond prices away from the "true" value of their cashflows. That means that trying to draw a spline through bond yields (or implied forwards etc) makes no sense. There is no reason to think that all bond yields sit exactly on some smooth, meaningful term structure. So, instead, we fit a parametric model, which tries to extract such a term structure from the soup of idiosyncratic pricing noise. We could also do this for rate derivatives. But since we have a lot more confidence in the consistency of their pricing, there's no point. We can just use a spline. I could be completely wrong about this, though. I have never seen this discussed explicitly. Regards, tom On Wed, 10 Aug 2022, Roberto Cocchi wrote: > Dear all > > I'm working w Claudio on this topic. I am asking myself (and anyone that > sees fit to have an opinion) why does fitting (NSS, etc) been > implemented only for Govt Bonds? Is it that it does not make sense in > the case of pure yield bearing instruments, such as swaps, FRA's, MM? > Else, if it made sense, it would have been implemented time ago. > > Your thoughts? > > Roberto > Sent: Thursday, 4 August, 2022 13:05:08 > Subject: Re: [Quantlib-users] Rate curves with Nelson Siegel Svensson > > Hello Claudio, > you can modify the FittedBondDiscountCurve class so that it can use generic RateHelper instances, but it will miss some features. Also, do keep into account that while PiecewiseYieldCurve creates a curve that reproduces the inputs exactly, FittedBondDiscountCurve doesn't, so I would check if that's acceptable for you. > > This said: you can replace BondHelper with RateHelper in the FittedBondDiscountCurve class, but you'll have to comment out some code that would not compile. One such place is < [ https://urlsand.esvalabs.com/?u=https%3A%2F%2Fgithub.com%2Flballabio%2FQuantLib%2Fblob%2Fmaster%2Fql%2Ftermstructures%2Fyield%2Ffittedbonddiscountcurve.cpp%23L98-L110&e=8b2395da&h=278c8320&f=y&p=n | https://github.com/lballabio/QuantLib/blob/master/ql/termstructures/yield/fittedbonddiscountcurve.cpp#L98-L110 ] >; these are a few checks and you can live without them. Another place is < [ https://urlsand.esvalabs.com/?u=https%3A%2F%2Fgithub.com%2Flballabio%2FQuantLib%2Fblob%2Fmaster%2Fql%2Ftermstructures%2Fyield%2Ffittedbonddiscountcurve.cpp%23L98-L110&e=8b2395da&h=278c8320&f=y&p=n | https://github.com/lballabio/QuantLib/blob/master/ql/termstructures/yield/fittedbonddiscountcurve.cpp#L98-L110 ] >: commenting this out means that you can't rely on the curve for calculating the calibration weights and you'll have to pass them in explicitly. > > Hope this helps, > Luigi > > > On Tue, Aug 2, 2022 at 3:39 PM Claudio D'Angelo < [ mailto:cla...@so... | cla...@so... ] > wrote: > > > Hello all, > > let me introduce myself, I'm a java developer, I need to modify an > application that is usimg quantlib (via SWIG). > > Currently this application is creating curves using the class > PiecewiseYieldCurve and passing rates like RfaRate and DepositRate, both > using a SimpleQuote containing the yield value of the rate. > > Now I would interpolate/fit the curve using the NSS, checking the API > seems the only class that can implement this fitting is the > FittedBondDiscountCurve. Unfortunately this class wants in input a > BondHelper or a Fixed RateBondHelper, both of them work using bond data > and the price. > > Is it possible to implement a curve using the NSS but with rates with > only yield values (naturally with other data but not a bond and a price > as input). > > I don't know if I was clear, unfortunately I don't have experience with > quant, quantlib and C++ and I need help in order to understand better > and resolve my issue. > > Thank you very much in advance to all. > > > Claudio > > > > > _______________________________________________ > QuantLib-users mailing list > [ mailto:Qua...@li... | Qua...@li... ] > [ https://urlsand.esvalabs.com/?u=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fquantlib-users&e=8b2395da&h=5e0eb166&f=y&p=n | https://lists.sourceforge.net/lists/listinfo/quantlib-users ] > > > > > > > -- There's no future. |
|
From: Roberto C. <rob...@so...> - 2022-08-10 19:31:41
|
Dear all I'm working w Claudio on this topic. I am asking myself (and anyone that sees fit to have an opinion) why does fitting (NSS, etc) been implemented only for Govt Bonds? Is it that it does not make sense in the case of pure yield bearing instruments, such as swaps, FRA's, MM? Else, if it made sense, it would have been implemented time ago. Your thoughts? Roberto Sent: Thursday, 4 August, 2022 13:05:08 Subject: Re: [Quantlib-users] Rate curves with Nelson Siegel Svensson Hello Claudio, you can modify the FittedBondDiscountCurve class so that it can use generic RateHelper instances, but it will miss some features. Also, do keep into account that while PiecewiseYieldCurve creates a curve that reproduces the inputs exactly, FittedBondDiscountCurve doesn't, so I would check if that's acceptable for you. This said: you can replace BondHelper with RateHelper in the FittedBondDiscountCurve class, but you'll have to comment out some code that would not compile. One such place is < [ https://urlsand.esvalabs.com/?u=https%3A%2F%2Fgithub.com%2Flballabio%2FQuantLib%2Fblob%2Fmaster%2Fql%2Ftermstructures%2Fyield%2Ffittedbonddiscountcurve.cpp%23L98-L110&e=8b2395da&h=278c8320&f=y&p=n | https://github.com/lballabio/QuantLib/blob/master/ql/termstructures/yield/fittedbonddiscountcurve.cpp#L98-L110 ] >; these are a few checks and you can live without them. Another place is < [ https://urlsand.esvalabs.com/?u=https%3A%2F%2Fgithub.com%2Flballabio%2FQuantLib%2Fblob%2Fmaster%2Fql%2Ftermstructures%2Fyield%2Ffittedbonddiscountcurve.cpp%23L98-L110&e=8b2395da&h=278c8320&f=y&p=n | https://github.com/lballabio/QuantLib/blob/master/ql/termstructures/yield/fittedbonddiscountcurve.cpp#L98-L110 ] >: commenting this out means that you can't rely on the curve for calculating the calibration weights and you'll have to pass them in explicitly. Hope this helps, Luigi On Tue, Aug 2, 2022 at 3:39 PM Claudio D'Angelo < [ mailto:cla...@so... | cla...@so... ] > wrote: Hello all, let me introduce myself, I'm a java developer, I need to modify an application that is usimg quantlib (via SWIG). Currently this application is creating curves using the class PiecewiseYieldCurve and passing rates like RfaRate and DepositRate, both using a SimpleQuote containing the yield value of the rate. Now I would interpolate/fit the curve using the NSS, checking the API seems the only class that can implement this fitting is the FittedBondDiscountCurve. Unfortunately this class wants in input a BondHelper or a Fixed RateBondHelper, both of them work using bond data and the price. Is it possible to implement a curve using the NSS but with rates with only yield values (naturally with other data but not a bond and a price as input). I don't know if I was clear, unfortunately I don't have experience with quant, quantlib and C++ and I need help in order to understand better and resolve my issue. Thank you very much in advance to all. Claudio _______________________________________________ QuantLib-users mailing list [ mailto:Qua...@li... | Qua...@li... ] [ https://urlsand.esvalabs.com/?u=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fquantlib-users&e=8b2395da&h=5e0eb166&f=y&p=n | https://lists.sourceforge.net/lists/listinfo/quantlib-users ] -- EXTERNAL E-MAIL. Message from outside of SoftSolutions! Do not click links or download/open attachments unless you trust the sender and believe the content is safe. _______________________________________________ QuantLib-users mailing list Qua...@li... https://urlsand.esvalabs.com/?u=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fquantlib-users&e=8b2395da&h=5e0eb166&f=y&p=n |
|
From: Ashish B. <ash...@gm...> - 2022-08-10 17:47:56
|
For vanilla swap you can refer to following: http://gouthamanbalaraman.com/blog/interest-rate-swap-quantlib-python.html http://billiontrader.com/interest-rate-swaps-valuation-with-quantlib/ Try to find changes related to OIS to this. I have not used it for swap yet not sure. Regards Ashish On Wed, Aug 10, 2022, 12:21 PM Evgenia Vass <ge...@gm...> wrote: > Dear Quantlib users, > I need to calculate the net present value for Overnight Indexed Swap. > Since this is my first time doing this, please advise me where I can get > acquainted with the basic algorithm for evaluating such swaps. Are there > any typical examples? I will be grateful for any help and hints. > Thanks! > Jenn Vass > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users > |
|
From: Evgenia V. <ge...@gm...> - 2022-08-10 06:50:35
|
Dear Quantlib users, I need to calculate the net present value for Overnight Indexed Swap. Since this is my first time doing this, please advise me where I can get acquainted with the basic algorithm for evaluating such swaps. Are there any typical examples? I will be grateful for any help and hints. Thanks! Jenn Vass |
|
From: Shashank C. <sha...@gm...> - 2022-08-09 03:17:08
|
Hi Jack , I am trying to find the values of Rho and Nu which minimize the mean squared error between market volatility and volatility computed using the sabr model formula for a given set of parameters (alpha, rho, nu , beta). I can assume Beta to be 0.5 while alpha can be ATM volatility. Now I need to set up the calibration as explained in the MATLAB version below https://www.mathworks.com/help/fininst/calibrating-the-sabr-model.html Now quantlib has the sabr model class in C++ with the formula to compute the volatility, but I need to calibrate the parameters rho and Nu that minimises the error function. Hope this makes sense :) regards Shashank On Mon, Aug 8, 2022 at 7:14 PM Jack G <jac...@gm...> wrote: > Hi Shashank, > > What exactly are you trying to do here? SABR is a funny one because > although it is a "model", it usually isn't used as such and is just used > for smile interpolation at a given tenor (with different SABR "models" > fitted to each tenor). Quite a lot of the art is about how to choose these > adjacent smile fits. > > I'm not aware of an inbuilt calibrator but it should be easy enough to > calibrate to a given vol smile. How are you interacting with QuantLib? > There are some exams of calibrators in the cookbook I believe, and I have > some python code for QuantLib that will do this for SABR as well if it > help,. > > > Best, > Jack > > > On Tue, 9 Aug 2022, 06:01 Shashank Choudhary, <sha...@gm...> > wrote: > >> Hi , >> >> How do I use the calibration engine for the SABR model parameters? I can >> access the sabr model class and find implied volatilities for a given set >> of parameters but I can’t locate and use the calibration engine, if there’s >> one. >> >> Any help would be much appreciated :) >> >> Regards >> Shashank >> _______________________________________________ >> QuantLib-users mailing list >> Qua...@li... >> https://lists.sourceforge.net/lists/listinfo/quantlib-users >> >> |
|
From: Jack G <jac...@gm...> - 2022-08-08 23:14:38
|
Hi Shashank, What exactly are you trying to do here? SABR is a funny one because although it is a "model", it usually isn't used as such and is just used for smile interpolation at a given tenor (with different SABR "models" fitted to each tenor). Quite a lot of the art is about how to choose these adjacent smile fits. I'm not aware of an inbuilt calibrator but it should be easy enough to calibrate to a given vol smile. How are you interacting with QuantLib? There are some exams of calibrators in the cookbook I believe, and I have some python code for QuantLib that will do this for SABR as well if it help,. Best, Jack On Tue, 9 Aug 2022, 06:01 Shashank Choudhary, <sha...@gm...> wrote: > Hi , > > How do I use the calibration engine for the SABR model parameters? I can > access the sabr model class and find implied volatilities for a given set > of parameters but I can’t locate and use the calibration engine, if there’s > one. > > Any help would be much appreciated :) > > Regards > Shashank > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users > > |
|
From: <lis...@pm...> - 2022-08-08 22:44:47
|
Thank you David. This works on the schedule side, but from there it would fail when creating the CDS (probably because the ql.DateGeneration rule is not of CDS type). Indeed, after setting dates as you kindly suggested, creating a CDS object with that schedule ends up failing. quotedTrade = ql.CreditDefaultSwap( ql.Protection.Seller, 100, 0, spread, cdsSchedule, ql.Following,ql.Actual360(),True,True,tradeDate+1, ql.WeekendsOnly().advance(tradeDate,3*ql.Period(ql.Daily)), ql.FaceValueClaim(), ql.Actual360(True)) where the error is: RuntimeError: protection can not start after accrual So it seems one would first have to use a CDS rule for DateGeneration, and then find a way to replace for the non-standard last date. Thanks again. L ------- Original Message ------- On Monday, August 8th, 2022 at 5:53 PM, David Duarte <nh...@gm...> wrote: > Hi, > > You can use next to last: > > tradeDate = ql.Date(20, 6, 2022) > termDate = ql.Date(16, 11, 2022) > cdsSchedule = ql.Schedule(tradeDate, termDate, > 3*ql.Period(ql.Monthly), > ql.WeekendsOnly(), > ql.Following, ql.Unadjusted, > ql.DateGeneration.Backward, False, ql.Date(), ql.Date(20,9,2022)) > > (Date(20,6,2022), Date(20,9,2022), Date(16,11,2022)) > > On Mon, 8 Aug 2022 at 21:15, listsubs--- via QuantLib-users <qua...@li...> wrote: > >> Hi everyone - I'm trying to price a CDS with a non-standard maturity (11/16/2022), as of today. Tried many variants and looked online, but couldn't find a solution. >> >> When I create a schedule: >> >> cdsSchedule = ql.Schedule(tradeDate, termDate, >> 3*ql.Period(ql.Monthly), >> ql.WeekendsOnly(), >> ql.Following, ql.Unadjusted, ql.DateGeneration.CDS, False) >> >> The dates I get from the constructor are: >> >> cdsSchedule.dates() >> (Date(20,6,2022), Date(20,9,2022), Date(20,12,2022)) >> >> Is there a simple way to override the Date(20,12,2022) entry and replace it by Date(16,11,2022) ? >> >> Many thanks!L >> >> _______________________________________________ >> QuantLib-users mailing list >> Qua...@li... >> https://lists.sourceforge.net/lists/listinfo/quantlib-users |
|
From: Shashank C. <sha...@gm...> - 2022-08-08 22:01:03
|
Hi , How do I use the calibration engine for the SABR model parameters? I can access the sabr model class and find implied volatilities for a given set of parameters but I can’t locate and use the calibration engine, if there’s one. Any help would be much appreciated :) Regards Shashank |
|
From: David D. <nh...@gm...> - 2022-08-08 21:53:50
|
Hi,
You can use next to last:
tradeDate = ql.Date(20, 6, 2022)
termDate = ql.Date(16, 11, 2022)
cdsSchedule = ql.Schedule(tradeDate, termDate,
3*ql.Period(ql.Monthly),
ql.WeekendsOnly(),
ql.Following, ql.Unadjusted,
ql.DateGeneration.Backward, False, ql.Date(),
ql.Date(20,9,2022))
*(Date(20,6,2022), Date(20,9,2022), Date(16,11,2022))*
On Mon, 8 Aug 2022 at 21:15, listsubs--- via QuantLib-users <
qua...@li...> wrote:
> Hi everyone - I'm trying to price a CDS with a non-standard maturity
> (11/16/2022), as of today. Tried many variants and looked online, but
> couldn't find a solution.
>
>
> When I create a schedule:
>
> * cdsSchedule = ql.Schedule(tradeDate, termDate,*
> * 3*ql.Period(ql.Monthly),*
> * ql.WeekendsOnly(),*
> * ql.Following, ql.Unadjusted,*
> * ql.DateGeneration.CDS, False)*
>
> The dates I get from the constructor are:
>
>
> *cdsSchedule.dates()(Date(20,6,2022), Date(20,9,2022), Date(20,12,2022))*
>
>
> Is there a simple way to override the Date(20,12,2022) entry and replace
> it by Date(16,11,2022) ?
>
> Many thanks!
> L
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
|
|
From: <lis...@pm...> - 2022-08-08 20:12:21
|
Hi everyone - I'm trying to price a CDS with a non-standard maturity (11/16/2022), as of today. Tried many variants and looked online, but couldn't find a solution. When I create a schedule: cdsSchedule = ql.Schedule(tradeDate, termDate, 3*ql.Period(ql.Monthly), ql.WeekendsOnly(), ql.Following, ql.Unadjusted, ql.DateGeneration.CDS, False) The dates I get from the constructor are: cdsSchedule.dates() (Date(20,6,2022), Date(20,9,2022), Date(20,12,2022)) Is there a simple way to override the Date(20,12,2022) entry and replace it by Date(16,11,2022) ? Many thanks!L |
|
From: Peter C. <pca...@gm...> - 2022-08-07 08:58:57
|
Hi Francois,
sounds right. As for the unit test it seems they're all set up with
eval date = 2022-03-07 and forward date = 2022-03-10, i.e. a very
short forward period. Which could be the reason why the tests don't
detect this issue?
Best
Peter
On Sun, 31 Jul 2022 at 19:16, Francois Botha <ig...@gm...> wrote:
>
> Hi all,
>
> I'm doing some fixed rate bond forward calculations and I'm trying to understand the forward value.
>
> In forward.cpp, the code is:
> Real Forward::forwardValue() const {
> calculate();
> return (underlyingSpotValue_ - underlyingIncome_ )/
> discountCurve_->discount(maturityDate_);
> }
>
> and in bondforward.cpp, the fields are set as:
> underlyingSpotValue_ = spotValue();
> underlyingIncome_ = spotIncome(incomeDiscountCurve_);
> and
> Real BondForward::spotValue() const {
> return bond_->dirtyPrice();
> }
>
> So underlyingSpotValue_ is hence the bond dirty price (per 100 nominal) and underlyingIncome_ is the value of the bond coupons, but not per 100 nominal, but rather per the actual nominal of the bond.
>
> This looks like an unintended discrepancy in notional amounts and would explain why the forward price and NPV for the bond forwards aren't close to what I expect.
>
> There are however unit tests (e.g. testFuturesPriceReplication()) that explicitly test this.
>
> Looking forward to an expert opinion here.
>
> thanks
> Francois Botha
>
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
|
|
From: Tom A. <tw...@ur...> - 2022-08-05 13:19:38
|
Hello, If i build an interpolated forward curve, then i can get the nodes (date - rate pairs) of the interpolation out by doing: curve->nodes() and i can get instantaneous(-ish) forward rates out by doing: curve->forwardRate(date, date, curve->dayCounter(), Compounding::Continuous).rate(); Should i in general expect that if i get the instantaneous forward rate on a date corresponding to a node, then it will equal the node's rate (modulo some small arithmetic errors)? I would have naively throught i should. And looking at some interpolations, this seems to be the case. But it seems not to be the case for monotone convex interpolation. Monotone convex is just a piecewise quadratic spline under the hood, really; the complexity is in how the spline is constructed (although the original paper and the QuantLib implementation both somewhat obscure this fact). So i would have expected the nodes to behave like nodes of any other interpolation. Is my expectation wrong? Or could this be a mistake in the implementation of monotone convex interpolation? Thanks, tom -- Computation is the basis of all life |
|
From: Luigi B. <lui...@gm...> - 2022-08-04 11:05:26
|
Hello Claudio,
you can modify the FittedBondDiscountCurve class so that it can use
generic RateHelper instances, but it will miss some features. Also, do
keep into account that while PiecewiseYieldCurve creates a curve that
reproduces the inputs exactly, FittedBondDiscountCurve doesn't, so I would
check if that's acceptable for you.
This said: you can replace BondHelper with RateHelper in the
FittedBondDiscountCurve class, but you'll have to comment out some code
that would not compile. One such place is <
https://github.com/lballabio/QuantLib/blob/master/ql/termstructures/yield/fittedbonddiscountcurve.cpp#L98-L110>;
these are a few checks and you can live without them. Another place is <
https://github.com/lballabio/QuantLib/blob/master/ql/termstructures/yield/fittedbonddiscountcurve.cpp#L98-L110>:
commenting this out means that you can't rely on the curve for calculating
the calibration weights and you'll have to pass them in explicitly.
Hope this helps,
Luigi
On Tue, Aug 2, 2022 at 3:39 PM Claudio D'Angelo <
cla...@so...> wrote:
> Hello all,
>
> let me introduce myself, I'm a java developer, I need to modify an
> application that is usimg quantlib (via SWIG).
>
> Currently this application is creating curves using the class
> PiecewiseYieldCurve and passing rates like RfaRate and DepositRate, both
> using a SimpleQuote containing the yield value of the rate.
>
> Now I would interpolate/fit the curve using the NSS, checking the API
> seems the only class that can implement this fitting is the
> FittedBondDiscountCurve. Unfortunately this class wants in input a
> BondHelper or a Fixed RateBondHelper, both of them work using bond data
> and the price.
>
> Is it possible to implement a curve using the NSS but with rates with
> only yield values (naturally with other data but not a bond and a price
> as input).
>
> I don't know if I was clear, unfortunately I don't have experience with
> quant, quantlib and C++ and I need help in order to understand better
> and resolve my issue.
>
> Thank you very much in advance to all.
>
>
> Claudio
>
>
>
>
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
|
|
From: Jen V. <ge...@gm...> - 2022-08-03 06:31:03
|
Hi Ben, Marcin! Thank you for information. I will delve into the subtleties. Regards, Jen Vass вт, 2 авг. 2022 г. в 16:03, Marcin Rybacki <mry...@gm...>: > Hi Jen, Ben, > > Yes, you can build a CSA curve directly in QuantLib. For that you could > use the cross currency basis swap rate helper (either constant or resetting > notional options are available) or the FX swap rate helper to imply the > basis from FX instruments. > The helpers take the collateral currency risk-free curve handle as > parameter, so the final bootstrapped curve will be the desired CSA curve. > > For references in C++ you could check the unit tests for cross currency > rate helpers: > > https://github.com/lballabio/QuantLib/blob/master/test-suite/crosscurrencyratehelpers.cpp > > There are also unit tests in Python that demonstrate how the CSA curve can > be built: > > https://github.com/lballabio/QuantLib-SWIG/blob/84b07cb77639f251b46838cbfeebdea4ca01e2ef/Python/test/ratehelpers.py#L614 > > Hope this helps. > > Regards, > Marcin > > On Tue, 2 Aug 2022 at 14:45, Ben Watson <ben...@ma...> > wrote: > >> It supports a different discount curve to the forward curve. For CSA >> discounting I manually built the curves from the XCCY basis curves and the >> local collateral curve. This was done by manually FX adjusting the DF from >> using XCCY curves and building a new curve from the discount factors. >> >> >> >> However with the newly RFR XCCY basis being directly quoted just need to >> add the basis to your RFR curves…. >> >> For example I have a SOFR.USD curve, and there is a direct RFR XCCY basis >> to get to SONIA. So add the basis to the SONIA curve and you get SOFR.GBP – >> this becomes your collateral curve when GBP is posted against a USD swap. >> >> >> >> Hope that help >> >> >> >> Ben >> >> >> >> >> >> *From:* Jen Vass <ge...@gm...> >> *Sent:* Tuesday, 2 August 2022 9:11 PM >> *To:* Qua...@li... >> *Subject:* [Quantlib-users] Discount and forward Curve building via CSA >> Discounting for IRS/CCIRS valuation >> >> >> >> Dear quantlib users! >> >> >> >> I need your help. Could you please advise - does quantlib support CSA >> discounting when collateral posted in difference currencies? Are there any >> examples? >> >> >> >> Thank you in advance, >> >> Eugenia Vaissel >> _______________________________________________ >> QuantLib-users mailing list >> Qua...@li... >> https://lists.sourceforge.net/lists/listinfo/quantlib-users >> > |
|
From: Claudio D'A. <cla...@so...> - 2022-08-02 13:36:20
|
Hello all, let me introduce myself, I'm a java developer, I need to modify an application that is usimg quantlib (via SWIG). Currently this application is creating curves using the class PiecewiseYieldCurve and passing rates like RfaRate and DepositRate, both using a SimpleQuote containing the yield value of the rate. Now I would interpolate/fit the curve using the NSS, checking the API seems the only class that can implement this fitting is the FittedBondDiscountCurve. Unfortunately this class wants in input a BondHelper or a Fixed RateBondHelper, both of them work using bond data and the price. Is it possible to implement a curve using the NSS but with rates with only yield values (naturally with other data but not a bond and a price as input). I don't know if I was clear, unfortunately I don't have experience with quant, quantlib and C++ and I need help in order to understand better and resolve my issue. Thank you very much in advance to all. Claudio |
|
From: Marcin R. <mry...@gm...> - 2022-08-02 13:03:43
|
Hi Jen, Ben, Yes, you can build a CSA curve directly in QuantLib. For that you could use the cross currency basis swap rate helper (either constant or resetting notional options are available) or the FX swap rate helper to imply the basis from FX instruments. The helpers take the collateral currency risk-free curve handle as parameter, so the final bootstrapped curve will be the desired CSA curve. For references in C++ you could check the unit tests for cross currency rate helpers: https://github.com/lballabio/QuantLib/blob/master/test-suite/crosscurrencyratehelpers.cpp There are also unit tests in Python that demonstrate how the CSA curve can be built: https://github.com/lballabio/QuantLib-SWIG/blob/84b07cb77639f251b46838cbfeebdea4ca01e2ef/Python/test/ratehelpers.py#L614 Hope this helps. Regards, Marcin On Tue, 2 Aug 2022 at 14:45, Ben Watson <ben...@ma...> wrote: > It supports a different discount curve to the forward curve. For CSA > discounting I manually built the curves from the XCCY basis curves and the > local collateral curve. This was done by manually FX adjusting the DF from > using XCCY curves and building a new curve from the discount factors. > > > > However with the newly RFR XCCY basis being directly quoted just need to > add the basis to your RFR curves…. > > For example I have a SOFR.USD curve, and there is a direct RFR XCCY basis > to get to SONIA. So add the basis to the SONIA curve and you get SOFR.GBP – > this becomes your collateral curve when GBP is posted against a USD swap. > > > > Hope that help > > > > Ben > > > > > > *From:* Jen Vass <ge...@gm...> > *Sent:* Tuesday, 2 August 2022 9:11 PM > *To:* Qua...@li... > *Subject:* [Quantlib-users] Discount and forward Curve building via CSA > Discounting for IRS/CCIRS valuation > > > > Dear quantlib users! > > > > I need your help. Could you please advise - does quantlib support CSA > discounting when collateral posted in difference currencies? Are there any > examples? > > > > Thank you in advance, > > Eugenia Vaissel > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users > |
|
From: Ben W. <ben...@ma...> - 2022-08-02 12:44:11
|
It supports a different discount curve to the forward curve. For CSA discounting I manually built the curves from the XCCY basis curves and the local collateral curve. This was done by manually FX adjusting the DF from using XCCY curves and building a new curve from the discount factors. However with the newly RFR XCCY basis being directly quoted just need to add the basis to your RFR curves…. For example I have a SOFR.USD curve, and there is a direct RFR XCCY basis to get to SONIA. So add the basis to the SONIA curve and you get SOFR.GBP – this becomes your collateral curve when GBP is posted against a USD swap. Hope that help Ben From: Jen Vass <ge...@gm...> Sent: Tuesday, 2 August 2022 9:11 PM To: Qua...@li... Subject: [Quantlib-users] Discount and forward Curve building via CSA Discounting for IRS/CCIRS valuation Dear quantlib users! I need your help. Could you please advise - does quantlib support CSA discounting when collateral posted in difference currencies? Are there any examples? Thank you in advance, Eugenia Vaissel |
|
From: Jen V. <ge...@gm...> - 2022-08-02 11:11:07
|
Dear quantlib users! I need your help. Could you please advise - does quantlib support CSA discounting when collateral posted in difference currencies? Are there any examples? Thank you in advance, Eugenia Vaissel |
|
From: Francois B. <ig...@gm...> - 2022-07-31 17:15:14
|
Hi all,
I'm doing some fixed rate bond forward calculations and I'm trying to
understand the forward value.
In forward.cpp, the code is:
Real Forward::forwardValue() const {
calculate();
return (underlyingSpotValue_ - underlyingIncome_ )/
discountCurve_->discount(maturityDate_);
}
and in bondforward.cpp, the fields are set as:
underlyingSpotValue_ = spotValue();
underlyingIncome_ = spotIncome(incomeDiscountCurve_);
and
Real BondForward::spotValue() const {
return bond_->dirtyPrice();
}
So underlyingSpotValue_ is hence the bond dirty price (per 100 nominal) and
underlyingIncome_ is the value of the bond coupons, but not per 100
nominal, but rather per the actual nominal of the bond.
This looks like an unintended discrepancy in notional amounts and would
explain why the forward price and NPV for the bond forwards aren't close to
what I expect.
There are however unit tests (e.g. testFuturesPriceReplication()) that
explicitly test this.
Looking forward to an expert opinion here.
thanks
Francois Botha
|
|
From: Ali H. <al...@ha...> - 2022-07-26 04:01:47
|
Actually it seems the schedule function only runs on one thread. If I
manually split the schedule into N sub-periods and then combine the
sub-schedules, the calculation time gets divided by the number of sub-
periods (up until some point where further improvements are minimal).
On Mon, 2022-07-25 at 20:26 -0400, Ali Hassani wrote:
> Hi,
>
> Generating an overnight schedule for a long period of time (50 years
> for example) seems to take a very long time (over 10 seconds for me).
> Is there a faster way to do this? I simplified the calender and
> business day convention in the example below.
>
> ql.Schedule(ql.Date(25,7,2022), ql.Date(25,7,2072), ql.Period('1D'),
> ql.NullCalendar(), ql.Unadjusted,ql.Unadjusted,
> ql.DateGeneration.Backward, False)
>
> Best,
> Ali
>
>
>
>
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
|
|
From: Ali H. <al...@ha...> - 2022-07-26 00:42:46
|
Hi,
Generating an overnight schedule for a long period of time (50 years
for example) seems to take a very long time (over 10 seconds for me).
Is there a faster way to do this? I simplified the calender and
business day convention in the example below.
ql.Schedule(ql.Date(25,7,2022), ql.Date(25,7,2072), ql.Period('1D'),
ql.NullCalendar(), ql.Unadjusted,ql.Unadjusted,
ql.DateGeneration.Backward, False)
Best,
Ali
|
|
From: Shashank C. <sha...@gm...> - 2022-07-24 14:02:59
|
Hi Users , Could you help me locate the right module/files to run a sabr model on equity derivatives? and if possible the accompanying documentation. I found the Sabr files under the term structure folder, but that helps me calculate IV given the parameters. I am looking for the calibration function. Thank you regards Shashank |
|
From: Shashank C. <sha...@gm...> - 2022-07-22 20:43:47
|
Hi Magnus , Thank you so much for your help. I had to rebuild the libraries using sudo make install. I missed that step last time. I was able to compile the Bermudan Option Example :) regards Shashank On Fri, Jul 22, 2022 at 4:14 AM Magnus Mencke <mm...@gm...> wrote: > Hi Shashank > > The attached setup worked for me. I guess you are missing the Other Linker > Flags = lQuantLib? > > Kind regards, > Magnus > > > On Fri, 22 Jul 2022, 08.49 Shashank Choudhary <sha...@gm...> > wrote: > >> Hi Users , >> >> I am struggling to make Quantlib work on my XCode. I followed the steps >> on the official download page. However I get a bunch of errors while >> compiling (Screenshot attached). I believe I have included the correct >> search path which for my computer is /opt/local/ (screenshot attached). >> >> I read on one of the forums that you have to include a "quantlib >> framework" before compiling the project. However I couldn't locate the file >> libQuantLib.0.dylib in the Quantlib folder. So, that step (although not >> provided in the documentation) is missing. >> >> I would really appreciate your help on this. >> Thank you >> >> regards >> Shashank >> >> _______________________________________________ >> QuantLib-users mailing list >> Qua...@li... >> https://lists.sourceforge.net/lists/listinfo/quantlib-users >> > |