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: Simone C. <Sim...@ri...> - 2021-09-21 07:10:11
|
Dear QuantLib user, I am reaching out as I have encountered an error in QuantLib, and I was hoping someone could give me some help or pointers. The error arises when trying to bootstrap a BSBY (Bloomberg Short-term Bank Yield) curve in QuantLib (version 1.17), using the PiecewiseYieldCurve object. In particular, I am trying to construct the curve as a LIBOR-like curve, using: * BSBY futures (BSB1 to BSB8, in Bloomberg parlance) - these are taken as EuroDollar RateHelpers; * Synthetic BSBY swaps - taken as standard fix-for-float RateHelpers, with 6M, 30/360 Fixed leg and 3M, Act/360 Floating leg. Note that I am NOT using the deposit rate for the front end of the curve - this is a requirement that I need to maintain. Right now, QuantLib fails to calibrate the curve with a "root not bracketed" error on the very first future (BSB1), which as of today is the BSBZ21 instrument with expiry on 15-Dec-2021 and maturity on 15-Mar-2021. However, if I add the BSBY3M deposit rate to the RateHelpers list, the curve calibrates fine and its Discount Factor and Forward rate plots are very reasonable. Two additional thoughts: * This successful experiment with the deposit rate makes me guess that there is nothing inherently wrong with the setup of the other futures' and swaps' RateHelpers per se; * I can also successfully calibrate a curve with another external library without the deposit rate - which makes me think that it is not a "mathematical impossibility" to calibrate the curve with the quotes that I'm using. I would be very grateful if anybody had clues or pointers as per what the problem could be when I try to remove the deposit rate. Thank you very much in advance! Best regards, Simone |
|
From: Ruilong Xu <xur...@ho...> - 2021-09-20 08:40:28
|
Hi, I am reimplementing hestonslvmodel.cpp by Python. SafeFdmMesherIntegral works well. But SafeFixedLocalVolSurface may cause error in testAMoustacheGraph, the following is what I get: double free or corruption (top) Backend terminated or disconnected.Fatal Python error: Aborted On Sep 20 2021, at 4:03 pm, Luigi Ballabio <lui...@gm...> wrote: > Hello, > shared_ptr should be supported correctly. How are you trying to wrap them? > > Luigi > > > On Fri, Sep 17, 2021 at 4:05 PM Ruilong Xu <xur...@ho... (mailto:xur...@ho...)> wrote: > > Hi, all > > > > Some members of FdmMesherIntegral and FixedLocalVolSurface are shared_ptr, it means that Python GC will cause error in sometimes. > > Is there an easy and safe way to make Python wrappers of them by SWIG? > > Best Regards, > > Ruilong > > > > _______________________________________________ > > QuantLib-users mailing list > > Qua...@li... (mailto:Qua...@li...) > > https://lists.sourceforge.net/lists/listinfo/quantlib-usersdouble free or corruption (top) (https://lists.sourceforge.net/lists/listinfo/quantlib-users) > > > > Backend terminated or disconnected.Fatal Python error: Aborted (https://lists.sourceforge.net/lists/listinfo/quantlib-users) |
|
From: Luigi B. <lui...@gm...> - 2021-09-20 08:03:33
|
Hello,
shared_ptr should be supported correctly. How are you trying to wrap
them?
Luigi
On Fri, Sep 17, 2021 at 4:05 PM Ruilong Xu <xur...@ho...> wrote:
> Hi, all
>
> Some members of FdmMesherIntegral and FixedLocalVolSurface are shared_ptr,
> it means that Python GC will cause error in sometimes.
>
> Is there an easy and safe way to make Python wrappers of them by SWIG?
>
> Best Regards,
> Ruilong
>
> [image: Sent from Mailspring]
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
|
|
From: Ruilong Xu <xur...@ho...> - 2021-09-17 14:02:00
|
Hi, all Some members of FdmMesherIntegral and FixedLocalVolSurface are shared_ptr, it means that Python GC will cause error in sometimes. Is there an easy and safe way to make Python wrappers of them by SWIG? Best Regards, Ruilong |
|
From: Luigi B. <lui...@gm...> - 2021-09-09 09:30:50
|
Hello,
yes, it's unintended - see
https://github.com/lballabio/QuantLib/issues/996
Luigi
On Sat, Sep 4, 2021 at 4:11 AM jian Xu <jia...@gm...> wrote:
> Hi,
> This short function returns the business days from "from" to "to",
> both are inclusive. Therefore, it should be allowed to call it with
> from == to, or the condition in QL_REQUIRE should be to >= from,
> instead of to > from. Am I correct? Thanks.
>
> Jian
>
> std::vector<Date> Calendar::businessDayList(
> const Date& from, const Date& to) const {
>
> QL_REQUIRE(to>from, "'from' date ("
> << from << ") must be earlier than 'to' date ("
> << to << ")");
> std::vector<Date> result;
> for (Date d = from; d <= to; ++d) {
> if (isBusinessDay(d))
> result.push_back(d);
> }
> return result;
>
>
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
|
|
From: Eric E. <eri...@re...> - 2021-09-08 18:24:44
|
Hello, There is a prerelease build at this link: https://github.com/eehlers/QuantLibAddin-Old/releases/tag/QuantLibAddin-v1.23-prerelease Regards, Eric On 08/09/2021 14:50, Luigi Ballabio wrote: > Hello, > it was added in the C++ library in version 1.23 (see > https://github.com/lballabio/QuantLib/blob/QuantLib-v1.23/ql/time/calendars/canada.cpp#L65 > <https://github.com/lballabio/QuantLib/blob/QuantLib-v1.23/ql/time/calendars/canada.cpp#L65>). > As far as I can see, there's no corresponding QuantLibXL release yet. > > Hope this helps, > Luigi > > > On Tue, Sep 7, 2021 at 9:47 PM JD Fournier <jda...@gm... > <mailto:jda...@gm...>> wrote: > > Hi, > > Starting this month, September 30th will be a holiday in Canada. > > I would like to know if this element has been taken into account > in QuantLib. I am using QuantLib XL. > > Thank you, > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > <mailto:Qua...@li...> > https://lists.sourceforge.net/lists/listinfo/quantlib-users > <https://lists.sourceforge.net/lists/listinfo/quantlib-users> > > > > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users |
|
From: JD F. <jda...@gm...> - 2021-09-08 18:06:59
|
Thanks! On Wed., Sep. 8, 2021, 1:52 p.m. Eric Ehlers <eri...@re...> wrote: > Hello, > > There is a prerelease build at this link: > > > https://github.com/eehlers/QuantLibAddin-Old/releases/tag/QuantLibAddin-v1.23-prerelease > > Regards, > Eric > On 08/09/2021 14:50, Luigi Ballabio wrote: > > Hello, > it was added in the C++ library in version 1.23 (see > https://github.com/lballabio/QuantLib/blob/QuantLib-v1.23/ql/time/calendars/canada.cpp#L65). > As far as I can see, there's no corresponding QuantLibXL release yet. > > Hope this helps, > Luigi > > > On Tue, Sep 7, 2021 at 9:47 PM JD Fournier <jda...@gm...> > wrote: > >> Hi, >> >> Starting this month, September 30th will be a holiday in Canada. >> >> I would like to know if this element has been taken into account in >> QuantLib. I am using QuantLib XL. >> >> Thank you, >> _______________________________________________ >> QuantLib-users mailing list >> Qua...@li... >> https://lists.sourceforge.net/lists/listinfo/quantlib-users >> > > > _______________________________________________ > QuantLib-users mailing lis...@li...://lists.sourceforge.net/lists/listinfo/quantlib-users > > |
|
From: Luigi B. <lui...@gm...> - 2021-09-08 13:50:48
|
Hello,
it was added in the C++ library in version 1.23 (see
https://github.com/lballabio/QuantLib/blob/QuantLib-v1.23/ql/time/calendars/canada.cpp#L65).
As far as I can see, there's no corresponding QuantLibXL release yet.
Hope this helps,
Luigi
On Tue, Sep 7, 2021 at 9:47 PM JD Fournier <jda...@gm...>
wrote:
> Hi,
>
> Starting this month, September 30th will be a holiday in Canada.
>
> I would like to know if this element has been taken into account in
> QuantLib. I am using QuantLib XL.
>
> Thank you,
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
|
|
From: Francois B. <ig...@gm...> - 2021-09-08 13:49:43
|
Hi, I haven't checked whether the new 30 Sept holiday is included by default in the Canada calendar, but with QuantlibXL you can use the qlCalendarAddHoliday() function to add any missing holidays. thanks Francois Botha On Tue, 7 Sept 2021 at 21:47, JD Fournier <jda...@gm...> wrote: > Hi, > > Starting this month, September 30th will be a holiday in Canada. > > I would like to know if this element has been taken into account in > QuantLib. I am using QuantLib XL. > > Thank you, > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users > |
|
From: JD F. <jda...@gm...> - 2021-09-07 19:45:03
|
Hi, Starting this month, September 30th will be a holiday in Canada. I would like to know if this element has been taken into account in QuantLib. I am using QuantLib XL. Thank you, |
|
From: Luigi B. <lui...@gm...> - 2021-09-06 14:40:11
|
We'll have that in next release: see https://github.com/lballabio/QuantLib/pull/1157 Luigi On Thu, Jul 22, 2021 at 3:48 PM Philippe Hatstadt < phi...@ex...> wrote: > Does QL have any routines to bootstrap a hazard rate curve from a set of > increasing maturity corporate bonds? I am sure that capability exists for > CDS, but wondering if it exists for bonds. A related question (or > dependency really) is whether there exists a method to price a corporate > bond from a hazard rate curve and a fixed recovery rate? > > Regards > > Philippe Hatstadt > > > > Broker-Dealer services offered through Exos Securities LLC, member of SIPC > <http://www.sipc.org/> / FINRA <http://www.finra.org/> / BrokerCheck > <https://brokercheck.finra.org/>/ 2021 Exos, inc. For important > disclosures, click here > <https://www.exosfinancial.com/general-disclosures>. > > > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users > |
|
From: jian Xu <jia...@gm...> - 2021-09-04 02:09:20
|
Hi,
This short function returns the business days from "from" to "to",
both are inclusive. Therefore, it should be allowed to call it with
from == to, or the condition in QL_REQUIRE should be to >= from,
instead of to > from. Am I correct? Thanks.
Jian
std::vector<Date> Calendar::businessDayList(
const Date& from, const Date& to) const {
QL_REQUIRE(to>from, "'from' date ("
<< from << ") must be earlier than 'to' date ("
<< to << ")");
std::vector<Date> result;
for (Date d = from; d <= to; ++d) {
if (isBusinessDay(d))
result.push_back(d);
}
return result;
|
|
From: Michael (D. portal) <mi...@da...> - 2021-09-01 14:34:47
|
Hi Peter: Thanks a lot - extremely useful! Michael On Wed, Sep 1, 2021 at 3:37 AM Peter Caspers <pca...@gm...> wrote: > Hey Michael, > > just a few pointers that might be helpful: The QuantLib SmileSection has > methods to get the smile implied cdf (via digitalOptionPrice() which is > basically the cdf) and pdf (density()) > > > https://github.com/lballabio/QuantLib/blob/master/ql/termstructures/volatility/smilesection.hpp#L71 > > with a simple default implementation using finite differences. In this > context it's good to use an arbitrage free smile parametrization which in > general is not provided by the Hagan 2002 SABR solution. One popular and > modern variant of the SABR model is the normal free boundary SABR proposed > by Antonov which has a semianalytic arbitrage free solution. An > experimental (!) implementation can be found here > > > https://github.com/OpenSourceRisk/Engine/blob/master/QuantExt/qle/models/normalsabr.hpp#L37 > > The inversion of the option price is done using an exact implied vol > formula due to Peter Jaeckel > > > https://github.com/OpenSourceRisk/Engine/blob/master/QuantExt/qle/models/exactbachelierimpliedvolatility.hpp#L33 > > Finally there is another approach in a discrete setting due to Carr and > Madan that can be used to derive a smile implied density > > > https://github.com/OpenSourceRisk/Engine/blob/master/QuantExt/qle/models/carrmadanarbitragecheck.hpp#L49 > > This implementation is restricted to the Equity / FX setting, but we'll > add a variant handling IR normal and (shifted) lognormal vols in the next > release of that library. > > Thanks > Peter > > On Tue, 31 Aug 2021 at 16:10, Michael (DataDriven portal) < > mi...@da...> wrote: > > > > Hi Giuseppe: > > > > Thanks a lot for your very insightful reply! > > > > I will do B-S (Breeden-Litzenberger) implied probabilities first to see > if the results make sense before going to more sophisticated modelling. > > > > This is great, thank you! > > > > Michael > > > > On Tue, Aug 31, 2021, 3:27 AM Giuseppe Trapani <tr...@gm...> wrote: > >> > >> Hi Michael, > >> > >> apologies but I'm not getting your point: the result is valid for > whatever underlying (be it interest rates / stocks / commodities) and so > on, it only relies on option prices. You can compute those option prices > with a model or you can get them from the market and THEN you obtain the > risk-neutral density for the underlying. > >> > >> As for the SABR being "specific for rates" I think it's a slight > misconception: the SABR model describes the dynamics of the underlying > under the forward measure so you can use it with whatever underlying. It > became sort of "standard" in IR markets since it's a very simple way to > improve the computation of hedging ratios: when pricing vanilla derivatives > in the Black-76 (or Bachelier) framework you can use it to parametrize the > volatility curve and compute smile-coherent greeks. Such a framework is the > most intuitive since it allows you to price the most common and liquid > derivatives (Swaptions and Caps/Floors) without the need to model > dependencies between the knots of the yield curve. > >> > >> If instead you are interested more specifically in the dynamics of the > ENTIRE yield curve, you have to rely on term-structure models (for example > short-rate models or maybe more involved quasi-gaussian models accounting > for the skew or more modern markov-functional models). You work in a > Monte-Carlo fashion like this: > >> > >> 1) calibrate the parameters of the model to some "information carrying > derivatives" > >> 2) simulate the yield curve at the horizon you need > >> 3) compute whatever you are interested in (for example the 10y swap > fair rate) on that curve > >> 4) aggregate all the simulation results > >> > >> Now as for 1) term-structure models are typically low-dimensional so > you cannot "calibrate" to all the IR market derivatives. A common choice is > a set of coterminal swaptions or ATM caps/floors spanning the analysis > horizon. Also depending on the model, 2) and 3) can have some analytic > formulas / approximations so maybe you can spare yourself the whole > simulation and compute directly what you need. > >> > >> > >> > >> > >> Il giorno mar 31 ago 2021 alle ore 03:18 Michael (DataDriven portal) < > mi...@da...> ha scritto: > >>> > >>> Thanks a lot! > >>> > >>> I see links like below Breeden-Litzenberger > >>> > >>> > https://quant.stackexchange.com/questions/29524/breeden-litzenberger-formula-for-risk-neutral-densities > >>> > >>> This is very useful for B-S distributional assumptions and will work > well for stocks. I am not sure if it will produce good results for interest > rates which have different distributions (e.g. rates now are so low that > are less likely to decrease than increase). But I will definitely give it a > try. Another way to do this is to use SABR volatility model (which is > specific for rates) but I am not sure if a simple solution exists to derive > probabilities there. > >>> > >>> Thanks, > >>> > >>> Michael > >>> > >>> > >>> > >>> > >>> > >>> On Mon, Aug 30, 2021 at 11:36 AM Giuseppe Trapani <tr...@gm...> > wrote: > >>>> > >>>> Hi Michael, > >>>> > >>>> to add on the previous answer, the derivative is taken with respect > to the strike price of the option. > >>>> > >>>> It's pretty easy to derive by yourself starting from the general > payoff of an option (yielding a "model free result") or from the Black-76 > formula. > >>>> > >>>> For extra directions check online "Breeden-Litzenberger result". > >>>> > >>>> Giuseppe Trapani > >>>> > >>>> Il lun 30 ago 2021, 15:28 Michael (DataDriven portal) < > mi...@da...> ha scritto: > >>>>> > >>>>> Yes. Thanks! If you could point me in the right direction on where I > can get code for this that would be great. > >>>>> > >>>>> Thanks > >>>>> > >>>>> On Mon, Aug 30, 2021, 8:47 AM Gorazd Brumen <gor...@gm...> > wrote: > >>>>>> > >>>>>> There is a well known formula that relates call/put prices to > implied > >>>>>> pricing probabilities, related to the second derivative of the > >>>>>> call/put prices. You might need an implied option value > >>>>>> parametrization for that. > >>>>>> Regards, > >>>>>> G > >>>>>> > >>>>>> On Sun, Aug 29, 2021 at 5:56 PM Michael (DataDriven portal) > >>>>>> <mi...@da...> wrote: > >>>>>> > > >>>>>> > Hi All, > >>>>>> > > >>>>>> > I am looking for an algo to calculate option-market-implied > probabilities of interest rates moves derived from the premiums of interest > rate swaptions. > >>>>>> > > >>>>>> > E.g. market-implied probabilities from the prices of swaptions on > 10-year-swap rates. What is the market-implied probability that 10Y swap > rate will increase 25, 50, 75 bps, etc? > >>>>>> > > >>>>>> > Thanks, > >>>>>> > > >>>>>> > Michael > >>>>>> > > >>>>>> > _______________________________________________ > >>>>>> > QuantLib-users mailing list > >>>>>> > Qua...@li... > >>>>>> > https://lists.sourceforge.net/lists/listinfo/quantlib-users > >>>>> > >>>>> _______________________________________________ > >>>>> QuantLib-users mailing list > >>>>> Qua...@li... > >>>>> https://lists.sourceforge.net/lists/listinfo/quantlib-users > >> > >> > >> > >> -- > >> Giuseppe Trapani > > > > _______________________________________________ > > QuantLib-users mailing list > > Qua...@li... > > https://lists.sourceforge.net/lists/listinfo/quantlib-users > |
|
From: Peter C. <pca...@gm...> - 2021-09-01 07:37:52
|
Hey Michael, just a few pointers that might be helpful: The QuantLib SmileSection has methods to get the smile implied cdf (via digitalOptionPrice() which is basically the cdf) and pdf (density()) https://github.com/lballabio/QuantLib/blob/master/ql/termstructures/volatility/smilesection.hpp#L71 with a simple default implementation using finite differences. In this context it's good to use an arbitrage free smile parametrization which in general is not provided by the Hagan 2002 SABR solution. One popular and modern variant of the SABR model is the normal free boundary SABR proposed by Antonov which has a semianalytic arbitrage free solution. An experimental (!) implementation can be found here https://github.com/OpenSourceRisk/Engine/blob/master/QuantExt/qle/models/normalsabr.hpp#L37 The inversion of the option price is done using an exact implied vol formula due to Peter Jaeckel https://github.com/OpenSourceRisk/Engine/blob/master/QuantExt/qle/models/exactbachelierimpliedvolatility.hpp#L33 Finally there is another approach in a discrete setting due to Carr and Madan that can be used to derive a smile implied density https://github.com/OpenSourceRisk/Engine/blob/master/QuantExt/qle/models/carrmadanarbitragecheck.hpp#L49 This implementation is restricted to the Equity / FX setting, but we'll add a variant handling IR normal and (shifted) lognormal vols in the next release of that library. Thanks Peter On Tue, 31 Aug 2021 at 16:10, Michael (DataDriven portal) < mi...@da...> wrote: > > Hi Giuseppe: > > Thanks a lot for your very insightful reply! > > I will do B-S (Breeden-Litzenberger) implied probabilities first to see if the results make sense before going to more sophisticated modelling. > > This is great, thank you! > > Michael > > On Tue, Aug 31, 2021, 3:27 AM Giuseppe Trapani <tr...@gm...> wrote: >> >> Hi Michael, >> >> apologies but I'm not getting your point: the result is valid for whatever underlying (be it interest rates / stocks / commodities) and so on, it only relies on option prices. You can compute those option prices with a model or you can get them from the market and THEN you obtain the risk-neutral density for the underlying. >> >> As for the SABR being "specific for rates" I think it's a slight misconception: the SABR model describes the dynamics of the underlying under the forward measure so you can use it with whatever underlying. It became sort of "standard" in IR markets since it's a very simple way to improve the computation of hedging ratios: when pricing vanilla derivatives in the Black-76 (or Bachelier) framework you can use it to parametrize the volatility curve and compute smile-coherent greeks. Such a framework is the most intuitive since it allows you to price the most common and liquid derivatives (Swaptions and Caps/Floors) without the need to model dependencies between the knots of the yield curve. >> >> If instead you are interested more specifically in the dynamics of the ENTIRE yield curve, you have to rely on term-structure models (for example short-rate models or maybe more involved quasi-gaussian models accounting for the skew or more modern markov-functional models). You work in a Monte-Carlo fashion like this: >> >> 1) calibrate the parameters of the model to some "information carrying derivatives" >> 2) simulate the yield curve at the horizon you need >> 3) compute whatever you are interested in (for example the 10y swap fair rate) on that curve >> 4) aggregate all the simulation results >> >> Now as for 1) term-structure models are typically low-dimensional so you cannot "calibrate" to all the IR market derivatives. A common choice is a set of coterminal swaptions or ATM caps/floors spanning the analysis horizon. Also depending on the model, 2) and 3) can have some analytic formulas / approximations so maybe you can spare yourself the whole simulation and compute directly what you need. >> >> >> >> >> Il giorno mar 31 ago 2021 alle ore 03:18 Michael (DataDriven portal) < mi...@da...> ha scritto: >>> >>> Thanks a lot! >>> >>> I see links like below Breeden-Litzenberger >>> >>> https://quant.stackexchange.com/questions/29524/breeden-litzenberger-formula-for-risk-neutral-densities >>> >>> This is very useful for B-S distributional assumptions and will work well for stocks. I am not sure if it will produce good results for interest rates which have different distributions (e.g. rates now are so low that are less likely to decrease than increase). But I will definitely give it a try. Another way to do this is to use SABR volatility model (which is specific for rates) but I am not sure if a simple solution exists to derive probabilities there. >>> >>> Thanks, >>> >>> Michael >>> >>> >>> >>> >>> >>> On Mon, Aug 30, 2021 at 11:36 AM Giuseppe Trapani <tr...@gm...> wrote: >>>> >>>> Hi Michael, >>>> >>>> to add on the previous answer, the derivative is taken with respect to the strike price of the option. >>>> >>>> It's pretty easy to derive by yourself starting from the general payoff of an option (yielding a "model free result") or from the Black-76 formula. >>>> >>>> For extra directions check online "Breeden-Litzenberger result". >>>> >>>> Giuseppe Trapani >>>> >>>> Il lun 30 ago 2021, 15:28 Michael (DataDriven portal) < mi...@da...> ha scritto: >>>>> >>>>> Yes. Thanks! If you could point me in the right direction on where I can get code for this that would be great. >>>>> >>>>> Thanks >>>>> >>>>> On Mon, Aug 30, 2021, 8:47 AM Gorazd Brumen <gor...@gm...> wrote: >>>>>> >>>>>> There is a well known formula that relates call/put prices to implied >>>>>> pricing probabilities, related to the second derivative of the >>>>>> call/put prices. You might need an implied option value >>>>>> parametrization for that. >>>>>> Regards, >>>>>> G >>>>>> >>>>>> On Sun, Aug 29, 2021 at 5:56 PM Michael (DataDriven portal) >>>>>> <mi...@da...> wrote: >>>>>> > >>>>>> > Hi All, >>>>>> > >>>>>> > I am looking for an algo to calculate option-market-implied probabilities of interest rates moves derived from the premiums of interest rate swaptions. >>>>>> > >>>>>> > E.g. market-implied probabilities from the prices of swaptions on 10-year-swap rates. What is the market-implied probability that 10Y swap rate will increase 25, 50, 75 bps, etc? >>>>>> > >>>>>> > Thanks, >>>>>> > >>>>>> > Michael >>>>>> > >>>>>> > _______________________________________________ >>>>>> > QuantLib-users mailing list >>>>>> > Qua...@li... >>>>>> > https://lists.sourceforge.net/lists/listinfo/quantlib-users >>>>> >>>>> _______________________________________________ >>>>> QuantLib-users mailing list >>>>> Qua...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/quantlib-users >> >> >> >> -- >> Giuseppe Trapani > > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users |
|
From: Michael (D. portal) <mi...@da...> - 2021-08-31 14:08:55
|
Hi Giuseppe: Thanks a lot for your very insightful reply! I will do B-S (Breeden-Litzenberger) implied probabilities first to see if the results make sense before going to more sophisticated modelling. This is great, thank you! Michael On Tue, Aug 31, 2021, 3:27 AM Giuseppe Trapani <tr...@gm...> wrote: > Hi Michael, > > apologies but I'm not getting your point: the result is valid for whatever > underlying (be it interest rates / stocks / commodities) and so on, it only > relies on option prices. You can compute those option prices with a model > or you can get them from the market and THEN you obtain the risk-neutral > density for the underlying. > > As for the SABR being "specific for rates" I think it's a slight > misconception: the SABR model describes the dynamics of the underlying > under the forward measure so you can use it with whatever underlying. It > became sort of "standard" in IR markets since it's a very simple way to > improve the computation of hedging ratios: when pricing vanilla derivatives > in the Black-76 (or Bachelier) framework you can use it to parametrize the > volatility curve and compute smile-coherent greeks. Such a framework is the > most intuitive since it allows you to price the most common and liquid > derivatives (Swaptions and Caps/Floors) without the need to model > dependencies between the knots of the yield curve. > > If instead you are interested more specifically in the dynamics of the > ENTIRE yield curve, you have to rely on term-structure models (for example > short-rate models or maybe more involved quasi-gaussian models accounting > for the skew or more modern markov-functional models). You work in a > Monte-Carlo fashion like this: > > 1) calibrate the parameters of the model to some "information carrying > derivatives" > 2) simulate the yield curve at the horizon you need > 3) compute whatever you are interested in (for example the 10y swap fair > rate) on that curve > 4) aggregate all the simulation results > > Now as for 1) term-structure models are typically low-dimensional so you > cannot "calibrate" to all the IR market derivatives. A common choice is a > set of coterminal swaptions or ATM caps/floors spanning the analysis > horizon. Also depending on the model, 2) and 3) can have some analytic > formulas / approximations so maybe you can spare yourself the whole > simulation and compute directly what you need. > > > > > Il giorno mar 31 ago 2021 alle ore 03:18 Michael (DataDriven portal) < > mi...@da...> ha scritto: > >> Thanks a lot! >> >> I see links like below Breeden-Litzenberger >> >> >> https://quant.stackexchange.com/questions/29524/breeden-litzenberger-formula-for-risk-neutral-densities >> >> This is very useful for B-S distributional assumptions and will work well >> for stocks. I am not sure if it will produce good results for interest >> rates which have different distributions (e.g. rates now are so low that >> are less likely to decrease than increase). But I will definitely give it a >> try. Another way to do this is to use SABR volatility model (which is >> specific for rates) but I am not sure if a simple solution exists to derive >> probabilities there. >> >> Thanks, >> >> Michael >> >> >> >> >> >> On Mon, Aug 30, 2021 at 11:36 AM Giuseppe Trapani <tr...@gm...> >> wrote: >> >>> Hi Michael, >>> >>> to add on the previous answer, the derivative is taken with respect to >>> the strike price of the option. >>> >>> It's pretty easy to derive by yourself starting from the general payoff >>> of an option (yielding a "model free result") or from the Black-76 formula. >>> >>> For extra directions check online "Breeden-Litzenberger result". >>> >>> Giuseppe Trapani >>> >>> Il lun 30 ago 2021, 15:28 Michael (DataDriven portal) < >>> mi...@da...> ha scritto: >>> >>>> Yes. Thanks! If you could point me in the right direction on where I >>>> can get code for this that would be great. >>>> >>>> Thanks >>>> >>>> On Mon, Aug 30, 2021, 8:47 AM Gorazd Brumen <gor...@gm...> >>>> wrote: >>>> >>>>> There is a well known formula that relates call/put prices to implied >>>>> pricing probabilities, related to the second derivative of the >>>>> call/put prices. You might need an implied option value >>>>> parametrization for that. >>>>> Regards, >>>>> G >>>>> >>>>> On Sun, Aug 29, 2021 at 5:56 PM Michael (DataDriven portal) >>>>> <mi...@da...> wrote: >>>>> > >>>>> > Hi All, >>>>> > >>>>> > I am looking for an algo to calculate option-market-implied >>>>> probabilities of interest rates moves derived from the premiums of interest >>>>> rate swaptions. >>>>> > >>>>> > E.g. market-implied probabilities from the prices of swaptions on >>>>> 10-year-swap rates. What is the market-implied probability that 10Y swap >>>>> rate will increase 25, 50, 75 bps, etc? >>>>> > >>>>> > Thanks, >>>>> > >>>>> > Michael >>>>> > >>>>> > _______________________________________________ >>>>> > QuantLib-users mailing list >>>>> > Qua...@li... >>>>> > https://lists.sourceforge.net/lists/listinfo/quantlib-users >>>>> >>>> _______________________________________________ >>>> QuantLib-users mailing list >>>> Qua...@li... >>>> https://lists.sourceforge.net/lists/listinfo/quantlib-users >>>> >>> > > -- > > *Giuseppe Trapani* > |
|
From: Giuseppe T. <tr...@gm...> - 2021-08-31 07:28:04
|
Hi Michael, apologies but I'm not getting your point: the result is valid for whatever underlying (be it interest rates / stocks / commodities) and so on, it only relies on option prices. You can compute those option prices with a model or you can get them from the market and THEN you obtain the risk-neutral density for the underlying. As for the SABR being "specific for rates" I think it's a slight misconception: the SABR model describes the dynamics of the underlying under the forward measure so you can use it with whatever underlying. It became sort of "standard" in IR markets since it's a very simple way to improve the computation of hedging ratios: when pricing vanilla derivatives in the Black-76 (or Bachelier) framework you can use it to parametrize the volatility curve and compute smile-coherent greeks. Such a framework is the most intuitive since it allows you to price the most common and liquid derivatives (Swaptions and Caps/Floors) without the need to model dependencies between the knots of the yield curve. If instead you are interested more specifically in the dynamics of the ENTIRE yield curve, you have to rely on term-structure models (for example short-rate models or maybe more involved quasi-gaussian models accounting for the skew or more modern markov-functional models). You work in a Monte-Carlo fashion like this: 1) calibrate the parameters of the model to some "information carrying derivatives" 2) simulate the yield curve at the horizon you need 3) compute whatever you are interested in (for example the 10y swap fair rate) on that curve 4) aggregate all the simulation results Now as for 1) term-structure models are typically low-dimensional so you cannot "calibrate" to all the IR market derivatives. A common choice is a set of coterminal swaptions or ATM caps/floors spanning the analysis horizon. Also depending on the model, 2) and 3) can have some analytic formulas / approximations so maybe you can spare yourself the whole simulation and compute directly what you need. Il giorno mar 31 ago 2021 alle ore 03:18 Michael (DataDriven portal) < mi...@da...> ha scritto: > Thanks a lot! > > I see links like below Breeden-Litzenberger > > > https://quant.stackexchange.com/questions/29524/breeden-litzenberger-formula-for-risk-neutral-densities > > This is very useful for B-S distributional assumptions and will work well > for stocks. I am not sure if it will produce good results for interest > rates which have different distributions (e.g. rates now are so low that > are less likely to decrease than increase). But I will definitely give it a > try. Another way to do this is to use SABR volatility model (which is > specific for rates) but I am not sure if a simple solution exists to derive > probabilities there. > > Thanks, > > Michael > > > > > > On Mon, Aug 30, 2021 at 11:36 AM Giuseppe Trapani <tr...@gm...> > wrote: > >> Hi Michael, >> >> to add on the previous answer, the derivative is taken with respect to >> the strike price of the option. >> >> It's pretty easy to derive by yourself starting from the general payoff >> of an option (yielding a "model free result") or from the Black-76 formula. >> >> For extra directions check online "Breeden-Litzenberger result". >> >> Giuseppe Trapani >> >> Il lun 30 ago 2021, 15:28 Michael (DataDriven portal) < >> mi...@da...> ha scritto: >> >>> Yes. Thanks! If you could point me in the right direction on where I can >>> get code for this that would be great. >>> >>> Thanks >>> >>> On Mon, Aug 30, 2021, 8:47 AM Gorazd Brumen <gor...@gm...> >>> wrote: >>> >>>> There is a well known formula that relates call/put prices to implied >>>> pricing probabilities, related to the second derivative of the >>>> call/put prices. You might need an implied option value >>>> parametrization for that. >>>> Regards, >>>> G >>>> >>>> On Sun, Aug 29, 2021 at 5:56 PM Michael (DataDriven portal) >>>> <mi...@da...> wrote: >>>> > >>>> > Hi All, >>>> > >>>> > I am looking for an algo to calculate option-market-implied >>>> probabilities of interest rates moves derived from the premiums of interest >>>> rate swaptions. >>>> > >>>> > E.g. market-implied probabilities from the prices of swaptions on >>>> 10-year-swap rates. What is the market-implied probability that 10Y swap >>>> rate will increase 25, 50, 75 bps, etc? >>>> > >>>> > Thanks, >>>> > >>>> > Michael >>>> > >>>> > _______________________________________________ >>>> > QuantLib-users mailing list >>>> > Qua...@li... >>>> > https://lists.sourceforge.net/lists/listinfo/quantlib-users >>>> >>> _______________________________________________ >>> QuantLib-users mailing list >>> Qua...@li... >>> https://lists.sourceforge.net/lists/listinfo/quantlib-users >>> >> -- *Giuseppe Trapani* |
|
From: Michael (D. portal) <mi...@da...> - 2021-08-31 02:06:55
|
Thanks a lot! I see links like below Breeden-Litzenberger https://quant.stackexchange.com/questions/29524/breeden-litzenberger-formula-for-risk-neutral-densities This is very useful for B-S distributional assumptions and will work well for stocks. I am not sure if it will produce good results for interest rates which have different distributions (e.g. rates now are so low that are less likely to decrease than increase). But I will definitely give it a try. Another way to do this is to use SABR volatility model (which is specific for rates) but I am not sure if a simple solution exists to derive probabilities there. Thanks, Michael On Mon, Aug 30, 2021, 11:36 AM Giuseppe Trapani <tr...@gm...> wrote: > Hi Michael, > > to add on the previous answer, the derivative is taken with respect to the > strike price of the option. > > It's pretty easy to derive by yourself starting from the general payoff of > an option (yielding a "model free result") or from the Black-76 formula. > > For extra directions check online "Breeden-Litzenberger result". > > Giuseppe Trapani > > Il lun 30 ago 2021, 15:28 Michael (DataDriven portal) < > mi...@da...> ha scritto: > >> Yes. Thanks! If you could point me in the right direction on where I can >> get code for this that would be great. >> >> Thanks >> >> On Mon, Aug 30, 2021, 8:47 AM Gorazd Brumen <gor...@gm...> >> wrote: >> >>> There is a well known formula that relates call/put prices to implied >>> pricing probabilities, related to the second derivative of the >>> call/put prices. You might need an implied option value >>> parametrization for that. >>> Regards, >>> G >>> >>> On Sun, Aug 29, 2021 at 5:56 PM Michael (DataDriven portal) >>> <mi...@da...> wrote: >>> > >>> > Hi All, >>> > >>> > I am looking for an algo to calculate option-market-implied >>> probabilities of interest rates moves derived from the premiums of interest >>> rate swaptions. >>> > >>> > E.g. market-implied probabilities from the prices of swaptions on >>> 10-year-swap rates. What is the market-implied probability that 10Y swap >>> rate will increase 25, 50, 75 bps, etc? >>> > >>> > Thanks, >>> > >>> > Michael >>> > >>> > _______________________________________________ >>> > QuantLib-users mailing list >>> > Qua...@li... >>> > https://lists.sourceforge.net/lists/listinfo/quantlib-users >>> >> _______________________________________________ >> QuantLib-users mailing list >> Qua...@li... >> https://lists.sourceforge.net/lists/listinfo/quantlib-users >> > |
|
From: Giuseppe T. <tr...@gm...> - 2021-08-30 18:25:03
|
Hi Michael, to add on the previous answer, the derivative is taken with respect to the strike price of the option. It's pretty easy to derive by yourself starting from the general payoff of an option (yielding a "model free result") or from the Black-76 formula. For extra directions check online "Breeden-Litzenberger result". Giuseppe Trapani Il lun 30 ago 2021, 15:28 Michael (DataDriven portal) < mi...@da...> ha scritto: > Yes. Thanks! If you could point me in the right direction on where I can > get code for this that would be great. > > Thanks > > On Mon, Aug 30, 2021, 8:47 AM Gorazd Brumen <gor...@gm...> > wrote: > >> There is a well known formula that relates call/put prices to implied >> pricing probabilities, related to the second derivative of the >> call/put prices. You might need an implied option value >> parametrization for that. >> Regards, >> G >> >> On Sun, Aug 29, 2021 at 5:56 PM Michael (DataDriven portal) >> <mi...@da...> wrote: >> > >> > Hi All, >> > >> > I am looking for an algo to calculate option-market-implied >> probabilities of interest rates moves derived from the premiums of interest >> rate swaptions. >> > >> > E.g. market-implied probabilities from the prices of swaptions on >> 10-year-swap rates. What is the market-implied probability that 10Y swap >> rate will increase 25, 50, 75 bps, etc? >> > >> > Thanks, >> > >> > Michael >> > >> > _______________________________________________ >> > QuantLib-users mailing list >> > Qua...@li... >> > https://lists.sourceforge.net/lists/listinfo/quantlib-users >> > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users > |
|
From: Suhas G. <suh...@gm...> - 2021-08-30 17:54:47
|
Thank you Peter. It makes perfect sense to use OISRateHelper now that I
think about it.
Suhas
On Sun, Aug 29, 2021 at 9:43 AM Peter Caspers <pca...@gm...>
wrote:
> Hi Suhas,
>
> you should use OISRateHelper or AverageOISRateHelper instead of
> SwapRateHelper for SOFR swaps: The latter class builds a swap with
> daily payments. SOFR swaps have annual payments instead. The former
> two classes build such swaps with a compounded or averaged rate.
>
> Best Regards
> Peter
>
> On Sat, 28 Aug 2021 at 22:13, Suhas Ghorpadkar <suh...@gm...>
> wrote:
> >
> > While building SOFR curve for discounting, I am noticing that creating
> SwapRateHelper gets progressively slower. Below is my test case and the
> output. There is also comparison with USDLibor 3M where I do not see this
> behavior. I wonder if I am doing something wrong in creating Sofr index.
> Any help is appreciated.
> > Thanks.
> >
> > #include <catch.hpp>
> > #include <ql/indexes/ibor/sofr.hpp>
> > #include <ql/indexes/ibor/usdlibor.hpp>
> > #include <ql/instruments/forwardrateagreement.hpp>
> > #include <ql/instruments/makevanillaswap.hpp>
> > #include <ql/termstructures/yield/ratehelpers.hpp>
> > #include <ql/utilities/dataparsers.hpp>
> > #include <string>
> > #include <iostream>
> >
> > using namespace QuantLib;
> >
> > TEST_CASE("sofr curvebuilder build test") {
> >
> > Settings::instance().evaluationDate() = Date(16,August,2021);
> >
> > std::vector<std::string> periods
> {"1M","2M","3M","4M","5M","6M","9M","1Y",
> >
> "18M","2Y","3Y","4Y","5Y","7Y","10Y","12Y",
> > "15Y","20Y","25Y","30Y","40Y","50Y"};
> > Calendar swapcalendar =
> UnitedStates(UnitedStates::Market::FederalReserve);
> > Frequency frequency = Frequency::Annual;
> > DayCounter fDayCount = Actual360();
> > std::vector<ext::shared_ptr<RateHelper>> sofrhelpers,liborhelpers;
> > sofrhelpers.reserve(22);liborhelpers.reserve(22);
> > ext::shared_ptr<Sofr> sofr(new Sofr());
> > ext::shared_ptr<IborIndex> usdlibor =
> ext::make_shared<USDLibor>(Period(3, Months));
> >
> > for (auto& period_str : periods){
> >
> > Period period = PeriodParser::parse(period_str);
> >
> > ext::shared_ptr<SimpleQuote> s = ext::make_shared<SimpleQuote>(0.05
> / 100.0);
> > auto start = std::chrono::steady_clock::now(); //START
> > std::shared_ptr<SwapRateHelper> helper =
> std::make_shared<SwapRateHelper>(Handle<Quote>(s), period, swapcalendar,
> >
> frequency, BusinessDayConvention::ModifiedFollowing,
> >
> fDayCount, sofr);
> > auto end = std::chrono::steady_clock::now(); //STOP
> > std::cout << period << " sofrhelper took : " <<
> std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count()
> << " ms" << std::endl;
> > sofrhelpers.emplace_back(helper);
> > }
> > REQUIRE(sofrhelpers.size()==22);
> >
> > std::cout << "====================================" << std::endl;
> >
> > for (auto& period_str : periods){
> >
> > Period period = PeriodParser::parse(period_str);
> >
> > ext::shared_ptr<SimpleQuote> s = ext::make_shared<SimpleQuote>(0.05
> / 100.0);
> > auto start = std::chrono::steady_clock::now(); //START
> > std::shared_ptr<SwapRateHelper> helper =
> std::make_shared<SwapRateHelper>(Handle<Quote>(s), period, swapcalendar,
> >
> frequency, BusinessDayConvention::ModifiedFollowing,
> >
> fDayCount, usdlibor);
> > auto end = std::chrono::steady_clock::now(); //STOP
> > std::cout << period << " liborhelper took : " <<
> std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count()
> << " ms" << std::endl;
> > liborhelpers.emplace_back(helper);
> > }
> > REQUIRE(liborhelpers.size()==22);
> >
> > }
> >
> > 1M sofrhelper took : 0 ms
> > 2M sofrhelper took : 0 ms
> > 3M sofrhelper took : 1 ms
> > 4M sofrhelper took : 0 ms
> > 5M sofrhelper took : 1 ms
> > 6M sofrhelper took : 1 ms
> > 9M sofrhelper took : 1 ms
> > 1Y sofrhelper took : 2 ms
> > 1Y6M sofrhelper took : 4 ms
> > 2Y sofrhelper took : 5 ms
> > 3Y sofrhelper took : 12 ms
> > 4Y sofrhelper took : 15 ms
> > 5Y sofrhelper took : 21 ms
> > 7Y sofrhelper took : 34 ms
> > 10Y sofrhelper took : 65 ms
> > 12Y sofrhelper took : 85 ms
> > 15Y sofrhelper took : 115 ms
> > 20Y sofrhelper took : 211 ms
> > 25Y sofrhelper took : 326 ms
> > 30Y sofrhelper took : 451 ms
> > 40Y sofrhelper took : 728 ms
> > 50Y sofrhelper took : 1112 ms
> > ====================================
> > 1M liborhelper took : 0 ms
> > 2M liborhelper took : 0 ms
> > 3M liborhelper took : 0 ms
> > 4M liborhelper took : 0 ms
> > 5M liborhelper took : 0 ms
> > 6M liborhelper took : 0 ms
> > 9M liborhelper took : 0 ms
> > 1Y liborhelper took : 0 ms
> > 1Y6M liborhelper took : 0 ms
> > 2Y liborhelper took : 0 ms
> > 3Y liborhelper took : 0 ms
> > 4Y liborhelper took : 0 ms
> > 5Y liborhelper took : 0 ms
> > 7Y liborhelper took : 0 ms
> > 10Y liborhelper took : 0 ms
> > 12Y liborhelper took : 0 ms
> > 15Y liborhelper took : 0 ms
> > 20Y liborhelper took : 1 ms
> > 25Y liborhelper took : 1 ms
> > 30Y liborhelper took : 1 ms
> > 40Y liborhelper took : 1 ms
> > 50Y liborhelper took : 2 ms
> >
> ===============================================================================
> > All tests passed (2 assertions in 1 test case)
> >
> >
> > _______________________________________________
> > QuantLib-users mailing list
> > Qua...@li...
> > https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
|
|
From: Michael (D. portal) <mi...@da...> - 2021-08-30 13:27:05
|
Yes. Thanks! If you could point me in the right direction on where I can get code for this that would be great. Thanks On Mon, Aug 30, 2021, 8:47 AM Gorazd Brumen <gor...@gm...> wrote: > There is a well known formula that relates call/put prices to implied > pricing probabilities, related to the second derivative of the > call/put prices. You might need an implied option value > parametrization for that. > Regards, > G > > On Sun, Aug 29, 2021 at 5:56 PM Michael (DataDriven portal) > <mi...@da...> wrote: > > > > Hi All, > > > > I am looking for an algo to calculate option-market-implied > probabilities of interest rates moves derived from the premiums of interest > rate swaptions. > > > > E.g. market-implied probabilities from the prices of swaptions on > 10-year-swap rates. What is the market-implied probability that 10Y swap > rate will increase 25, 50, 75 bps, etc? > > > > Thanks, > > > > Michael > > > > _______________________________________________ > > QuantLib-users mailing list > > Qua...@li... > > https://lists.sourceforge.net/lists/listinfo/quantlib-users > |
|
From: Gorazd B. <gor...@gm...> - 2021-08-30 12:47:40
|
There is a well known formula that relates call/put prices to implied pricing probabilities, related to the second derivative of the call/put prices. You might need an implied option value parametrization for that. Regards, G On Sun, Aug 29, 2021 at 5:56 PM Michael (DataDriven portal) <mi...@da...> wrote: > > Hi All, > > I am looking for an algo to calculate option-market-implied probabilities of interest rates moves derived from the premiums of interest rate swaptions. > > E.g. market-implied probabilities from the prices of swaptions on 10-year-swap rates. What is the market-implied probability that 10Y swap rate will increase 25, 50, 75 bps, etc? > > Thanks, > > Michael > > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users |
|
From: Gorazd B. <gor...@gm...> - 2021-08-30 12:29:17
|
>From as much as I have studied the library, the helpers do not hold the instrument referenced, used for bootstrapping the curve, so I'm not surprised that there is no implementation of the cross currency swap. I assume that the reason is that the pricing/risking of the instrument is linked to a curve, and for the case of bootstrapping the curve, the said curve is not yet constructed. Regards, G On Mon, Aug 30, 2021 at 8:16 AM Marcin Rybacki <mry...@gm...> wrote: > > Hi Levan, > > To my knowledge, there is no implementation for a cross currency basis swap instrument available in the library. Only, as you pointed out, there is a rate helper to bootstrap the cross currency basis. > > A possible way to replicate it and still use the features of an instrument (e.g. caching) is presented in the unit tests of the CrossCurrencyBasisSwapRateHelper. It is done by building two separate swaps, each having one leg only, linked to either domestic or foreign notional. > > Hope this helps. > > Regards, > Marcin > > On Mon, 30 Aug 2021 at 13:58, <lev...@gm...> wrote: >> >> Hi All, >> >> >> >> Anybody could help me with my inquiry? Any hints will be highly appreciated. >> >> >> >> Kind Regards, >> >> >> >> Levan >> >> >> >> From: lev...@gm... <lev...@gm...> >> Sent: Saturday, August 14, 2021 10:04 PM >> To: qua...@li... >> Subject: [Quantlib-users] Cross Currency Basis Swap >> >> >> >> Hi everyone, >> >> >> >> I have noticed that there is a cross currency basis swap rate helper added to the Quantlib new release and it is also included in the ratehelpers test cases in the Python implementation . However, I could not find the instrument cross currency basis swap. I assume the helper is added to bootstrap a cross currency basis curve, but what about pricing the instrument itself? is there a way to do this? >> >> >> >> Thanks in advance, >> >> >> >> Levan >> >> _______________________________________________ >> QuantLib-users mailing list >> Qua...@li... >> https://lists.sourceforge.net/lists/listinfo/quantlib-users > > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users |
|
From: Marcin R. <mry...@gm...> - 2021-08-30 12:14:59
|
Hi Levan, To my knowledge, there is no implementation for a cross currency basis swap instrument available in the library. Only, as you pointed out, there is a rate helper to bootstrap the cross currency basis. A possible way to replicate it and still use the features of an instrument (e.g. caching) is presented in the unit tests of the CrossCurrencyBasisSwapRateHelper. It is done by building two separate swaps, each having one leg only, linked to either domestic or foreign notional. Hope this helps. Regards, Marcin On Mon, 30 Aug 2021 at 13:58, <lev...@gm...> wrote: > Hi All, > > > > Anybody could help me with my inquiry? Any hints will be highly > appreciated. > > > > Kind Regards, > > > > Levan > > > > *From:* lev...@gm... <lev...@gm...> > *Sent:* Saturday, August 14, 2021 10:04 PM > *To:* qua...@li... > *Subject:* [Quantlib-users] Cross Currency Basis Swap > > > > Hi everyone, > > > > I have noticed that there is a cross currency basis swap rate helper added > to the Quantlib new release and it is also included in the ratehelpers test > cases in the Python implementation . However, I could not find the > instrument cross currency basis swap. I assume the helper is added to > bootstrap a cross currency basis curve, but what about pricing the > instrument itself? is there a way to do this? > > > > Thanks in advance, > > > > Levan > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users > |
|
From: <lev...@gm...> - 2021-08-30 11:57:11
|
Hi All, Anybody could help me with my inquiry? Any hints will be highly appreciated. Kind Regards, Levan From: lev...@gm... <lev...@gm...> Sent: Saturday, August 14, 2021 10:04 PM To: qua...@li... Subject: [Quantlib-users] Cross Currency Basis Swap Hi everyone, I have noticed that there is a cross currency basis swap rate helper added to the Quantlib new release and it is also included in the ratehelpers test cases in the Python implementation . However, I could not find the instrument cross currency basis swap. I assume the helper is added to bootstrap a cross currency basis curve, but what about pricing the instrument itself? is there a way to do this? Thanks in advance, Levan |
|
From: Jan M. <jan...@gm...> - 2021-08-30 08:53:06
|
Hey all,
I am trying to price a number of bonds but am struggling with some day
count conventions. Please find them listed below:
day_counts = np.array(['ACT/365', 'ACT/ACT', '30E/360', '30/360 ISMA',
'30/360',
'ACT/360', '30/360 SIA', '30/360 ISDA', 'ACT/365 ISDA'], dtype=object)
I created a function (seen below) which takes in a dictionary of bond
pricing information and determines the day count convention of the bond
from a string using Quantlib. Unfortunately, I do not fully understand how
to use the quantlib package properly to determine these conventions.
I require the day count conventions to price both Callable and Fixed Rate
bonds using the "ql.CallableFixedRateBond" and "ql.FixedRateBond" objects.
import QuantLib as ql
def get_daycount(contract):
day_count = contract["DaycountCode"]
if day_count == "ACT/365":
day_count = ql.ActualActual.Actual365
if day_count == "ACT/ACT":
day_count = ?
if day_count == "30E/360":
day_count = ql.Thirty360.EurobondBasis
if day_count == "30/360 ISMA":
day_count = ql.ActualActual.ISMA
if day_count == "30/360":
day_count = ql.Thirty360
if day_count == 'ACT/360':
day_count = ql.Actual360
if day_count == '30/360 SIA':
day_count = ?
if day_count == '30/360 ISDA':
day_count = ?
if day_count == 'ACT/365 ISDA':
day_count = ql.ActualActual.ISDA
return day_count
Any help would be greatly appreciated!
Best Regards,
Jan Muller
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Virus-free.
www.avg.com
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
|