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
|
|
From: Lichters, R. <Rol...@ls...> - 2025-11-17 15:05:14
|
CORPORATE Hi Brian, indeed, you can build that using QuantLib components. Our take is in ORE, https://github.com/OpenSourceRisk/Engine using the scripted trade framework, see example https://github.com/OpenSourceRisk/Engine/tree/master/Examples/ScriptedTrade, that has an equity accumulator. Best wishes, Roland From: Luigi Ballabio <lui...@gm...> Date: Monday, 17 November 2025 at 15:18 To: Brian Smith <bri...@gm...> Cc: QuantLib Users <qua...@li...> Subject: Re: [Quantlib-users] Derivative pricing using Quantlib *** EXTERNAL EMAIL *** Hello Brian, first of all, apologies for the delay. No, equity accumulators are not supported directly. In C++, it should be possible to build something using the Monte Carlo framework; see chapter 6 in Implementing QuantLib, or the corresponding posts at <https://www.implementingquantlib.com/posts/implementing-quantlib.html<https://www.implementingquantlib.com/posts/implementing-quantlib.html>>. Hope this helps, Luigi On Thu, Oct 23, 2025 at 12:50 PM Brian Smith <bri...@gm...<mailto:bri...@gm...>> wrote: Hi, I wonder if Quantlib has any function or method to price Equity Accumulator derivative pricing? Any guidance would be greatly appreciated. Thanks and regards, _______________________________________________ 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> ------------------------------------------------------------------------------------------------------------ Please read these warnings and restrictions: This e-mail transmission is strictly confidential and intended solely for the ordinary user of the e-mail address to which it was addressed. It may contain legally privileged and/or CONFIDENTIAL information. The unauthorised use, disclosure, distribution and/or copying of this e-mail or any information it contains is prohibited and could, in certain circumstances, constitute a criminal offence. If you have received this e-mail in error or are not an intended recipient please inform London Stock Exchange Group (“LSEG”) immediately by return e-mail or telephone 020 7797 1000. LSEG may collect, process and retain your personal information for its business purposes. For more information please see our Privacy Policy. We advise that in keeping with good computing practice the recipient of this e-mail should ensure that it is virus free. We do not accept responsibility for any virus that may be transferred by way of this e-mail. E-mail may be susceptible to data corruption, interception and unauthorised amendment, and we do not accept liability for any such corruption, interception or amendment or any consequences thereof. Calls to London Stock Exchange Group may be recorded to enable LSEG to carry out its regulatory responsibilities. For more details on the LSEG group of companies click here London Stock Exchange Group plc 10 Paternoster Square London EC4M 7LS Registered in England and Wales No 05369106 ------------------------------------------------------------------------------------------------------------ |
|
From: Luigi B. <lui...@gm...> - 2025-11-17 14:17:08
|
Hello Brian,
first of all, apologies for the delay. No, equity accumulators are not
supported directly. In C++, it should be possible to build something using
the Monte Carlo framework; see chapter 6 in Implementing QuantLib, or the
corresponding posts at <
https://www.implementingquantlib.com/posts/implementing-quantlib.html>.
Hope this helps,
Luigi
On Thu, Oct 23, 2025 at 12:50 PM Brian Smith <bri...@gm...>
wrote:
> Hi,
>
> I wonder if Quantlib has any function or method to price Equity
> Accumulator derivative pricing?
>
> Any guidance would be greatly appreciated.
>
> Thanks and regards,
>
>
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
|
|
From: Luigi B. <lui...@gm...> - 2025-11-07 14:18:33
|
Hello Ben,
you can use InterpolatedPiecewiseForwardSpreadedTermStructure (it's
exported in Python as PiecewiseForwardSpreadedTermStructure using
backward-flat interpolation between spread nodes
and PiecewiseLinearForwardSpreadedTermStructure using linear interpolation.)
Luigi
On Wed, Nov 5, 2025 at 12:29 AM Ben Watson <ben...@ma...>
wrote:
> HiHi,
>
> I think the answer to this already, but just want to check if there is an
> alternative
>
>
> In the code below we are adding a constant spread to the forward curve.
> However we have a term structure of spreads - is there a native Quantlib
> way of adding the term structure of spreads?
>
> ql.ForwardSpreadedTermStructure(YieldTermStructure, spread)
> crv = ql.FlatForward(ql.Date(10,1,2020),0.04875825,ql.Actual365Fixed())
> yts = ql.YieldTermStructureHandle(crv)
> spread = ql.QuoteHandle(ql.SimpleQuote(0.005))
> ql.ForwardSpreadedTermStructure(yts, spread)
>
> No big deal to write our own, but just wanted to check if there is
> something in the box to do this?
>
> Ben
>
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
|
|
From: Ben W. <ben...@ma...> - 2025-11-04 23:29:23
|
HiHi, I think the answer to this already, but just want to check if there is an alternative In the code below we are adding a constant spread to the forward curve. However we have a term structure of spreads - is there a native Quantlib way of adding the term structure of spreads? ql.ForwardSpreadedTermStructure(YieldTermStructure, spread) crv = ql.FlatForward(ql.Date(10,1,2020),0.04875825,ql.Actual365Fixed()) yts = ql.YieldTermStructureHandle(crv) spread = ql.QuoteHandle(ql.SimpleQuote(0.005)) ql.ForwardSpreadedTermStructure(yts, spread) No big deal to write our own, but just wanted to check if there is something in the box to do this? Ben |
|
From: Luca B. <luc...@gm...> - 2025-11-02 18:32:16
|
Hi Kenji, I will double check tmrw with some colleagues more knowledgeable about xVA but this is how I see it: I think the market has separated the concept of PV and xVA. Currently, the market standard is for everyone (banks, corps, clearing houses…) to calculate the clean price aka “risk free” price using SOFT, STR for discounting. This is to provide a “standard” for everyone without considering cpt or funding risk. Note: most xIBOR do not even exist anymore, but for instance EURIBOR is used for forecasting the leg cash-flows if the swap is an old EURIBOR swap… for discounting industry still uses STR. At this point, xVA should enter the picture to account for the difference btw the clean price (RFR discounted) and the uncollateralized one, so this should in practice be the transition: (Old) IBOR-discounting —> (New) RFR-discounting + FVA charge. The FVA, in my opinion, should account for what you depicts as CVA, as it accounts for the fact that banks have to fund this uncollateralized trade at this higher funding costs, not at RFR. (Old) Price = PV(Cash_Flows, Discounted @ IBOR) (New) Price = PV(Cash_Flows, Discounted @ RFR) + FVA + CVA/DVA This allows the costs to be more granular. All in all, the final price for the same swap btw a bank and a corporation will be different due to the fact that the bank applies xVA on top of the standard RFR, while the corporation does not. I hope this helps a bit. Best, /Luca > On 1 Nov 2025, at 13.11, Kenji Ogawa <for...@gm...> wrote: > > Hi Luca, > > As I understand it, for ordinary corporations, swaps are typically discounted using an IBOR-based curve, and collateral is not posted. In such cases, valuation adjustments like CVA naturally account for the associated counterparty risks. Therefore, using an IBOR discount curve seems to be the normal configuration for non-interbank entities. > > Regards, > Kenji > > > 2025年10月28日(火) 17:38 Luca Begatti <luc...@gm... <mailto:luc...@gm...>>: > Hi, > > I believe the change you're observing is related to the transition to the €STR rate (the RFR for the Euro area) since January 2022. €STR is considered less susceptible to manipulation compared to the previous EONIA (Euribor for the Euro area). > > Therefore, I assume that new contracts and recently developed libraries employing discounting methods should use €STR. Contracts initiated before 2022 would still be based on EONIA, but newer ones should not. > > Given this, QuantLib must have been updated to use the €STR rate for discounting due to this shift. > > Do you have a specific case or trade in mind that we could examine? > > Best regards, > Luca > > > On Tue, 28 Oct 2025, 01:31 Kenji Ogawa, <for...@gm... <mailto:for...@gm...>> wrote: > Hi, > In today’s market, discount curves are based on RFRs such as the T+0 ESTR curve, so QuantLib’s current specification still produces correct results. > However, if the discount curve is set to an Euribor curve, the calculation becomes meaningless, which I don’t think is a desirable design. I hope this will be revised in future updates. > > Thank you very much for your prompt response. - Kenji > > > 2025年10月28日(火) 7:05 Aaron De la Rosa <aar...@gm... <mailto:aar...@gm...>>: > Hello Kenji > > Python code fixed. Check out the attachment. Open it using Visual Studio Code. > > Regards > > Aaron > From: Kenji Ogawa <for...@gm... <mailto:for...@gm...>> > Sent: Monday, October 27, 2025 9:37 AM > To: Aaron De la Rosa <aar...@gm... <mailto:aar...@gm...>> > Cc: Qua...@li... <mailto:Qua...@li...> <Qua...@li... <mailto:Qua...@li...>> > Subject: Re: [Quantlib-users] Asset Swap Calculation Error with IBM 1.25 1/29/27 (Settlement Days Issue) > > Hello, > Please find attached the Jupyter Notebook code. > > When the parameters are set as " settleCRV, settleBND = 1, 2 ", the calculations run correctly. However, changing them to " settleCRV, settleBND = 2, 2 " produces abnormal results. > > It appears that the curve date needs to be set one day earlier than the bond settlement date. > > regards, > Kenji > > > > 2025年10月28日(火) 0:14 Aaron De la Rosa <aar...@gm... <mailto:aar...@gm...>>: > Could you share the entire code. So, I can fix it. > > Regard > > Aaron > From: Kenji Ogawa <for...@gm... <mailto:for...@gm...>> > Sent: Sunday, October 26, 2025 6:34 PM > To: Qua...@li... <mailto:Qua...@li...> <Qua...@li... <mailto:Qua...@li...>> > Subject: [Quantlib-users] Asset Swap Calculation Error with IBM 1.25 1/29/27 (Settlement Days Issue) > > Below is the code that calculates the asset swap for IBM 1.25 1/29/27, traded on April 25, 2024, at a price of 93.95. > > When using settleDS = 3, the results are correct: > legNPV1 = 95.179 and fairSPD = 0.359%. > > However, when using settleDS = 2, the calculation produces abnormal results: > legNPV1 = 100.926 and fairSPD = -1.81%. > > Since the bond should settle on T+2, this discrepancy is problematic. > Could someone please help fix this error? > > > _______________________________________________ > 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> |
|
From: Kenji O. <for...@gm...> - 2025-11-01 12:11:59
|
Hi Luca, As I understand it, for ordinary corporations, swaps are typically discounted using an IBOR-based curve, and collateral is not posted. In such cases, valuation adjustments like CVA naturally account for the associated counterparty risks. Therefore, using an IBOR discount curve seems to be the normal configuration for non-interbank entities. Regards, Kenji 2025年10月28日(火) 17:38 Luca Begatti <luc...@gm...>: > Hi, > > I believe the change you're observing is related to the transition to the > €STR rate (the RFR for the Euro area) since January 2022. €STR is > considered less susceptible to manipulation compared to the previous EONIA > (Euribor for the Euro area). > > Therefore, I assume that new contracts and recently developed libraries > employing discounting methods should use €STR. Contracts initiated before > 2022 would still be based on EONIA, but newer ones should not. > > Given this, QuantLib must have been updated to use the €STR rate for > discounting due to this shift. > > Do you have a specific case or trade in mind that we could examine? > > Best regards, > Luca > > > On Tue, 28 Oct 2025, 01:31 Kenji Ogawa, <for...@gm...> wrote: > >> Hi, >> In today’s market, discount curves are based on RFRs such as the T+0 ESTR >> curve, so QuantLib’s current specification still produces correct results. >> However, if the discount curve is set to an Euribor curve, the >> calculation becomes meaningless, which I don’t think is a desirable design. >> I hope this will be revised in future updates. >> >> Thank you very much for your prompt response. - Kenji >> >> >> 2025年10月28日(火) 7:05 Aaron De la Rosa <aar...@gm...>: >> >>> Hello Kenji >>> >>> Python code fixed. Check out the attachment. Open it using Visual Studio >>> Code. >>> >>> Regards >>> >>> Aaron >>> ------------------------------ >>> *From:* Kenji Ogawa <for...@gm...> >>> *Sent:* Monday, October 27, 2025 9:37 AM >>> *To:* Aaron De la Rosa <aar...@gm...> >>> *Cc:* Qua...@li... < >>> Qua...@li...> >>> *Subject:* Re: [Quantlib-users] Asset Swap Calculation Error with IBM >>> 1.25 1/29/27 (Settlement Days Issue) >>> >>> Hello, >>> Please find attached the Jupyter Notebook code. >>> >>> When the parameters are set as " settleCRV, settleBND = 1, 2 ", the >>> calculations run correctly. However, changing them to " settleCRV, >>> settleBND = 2, 2 " produces abnormal results. >>> >>> It appears that the curve date needs to be set one day earlier than the >>> bond settlement date. >>> >>> regards, >>> Kenji >>> >>> >>> >>> 2025年10月28日(火) 0:14 Aaron De la Rosa <aar...@gm...>: >>> >>> Could you share the entire code. So, I can fix it. >>> >>> Regard >>> >>> Aaron >>> ------------------------------ >>> *From:* Kenji Ogawa <for...@gm...> >>> *Sent:* Sunday, October 26, 2025 6:34 PM >>> *To:* Qua...@li... < >>> Qua...@li...> >>> *Subject:* [Quantlib-users] Asset Swap Calculation Error with IBM 1.25 >>> 1/29/27 (Settlement Days Issue) >>> >>> >>> Below is the code that calculates the asset swap for *IBM 1.25 1/29/27*, >>> traded on *April 25, 2024*, at a price of *93.95*. >>> >>> When using settleDS = 3, the results are correct: >>> legNPV1 = 95.179 and fairSPD = 0.359%. >>> >>> However, when using settleDS = 2, the calculation produces abnormal >>> results: >>> legNPV1 = 100.926 and fairSPD = -1.81%. >>> >>> Since the bond should settle on *T+2*, this discrepancy is problematic. >>> Could someone please help fix this error? >>> >>> _______________________________________________ >> QuantLib-users mailing list >> Qua...@li... >> https://lists.sourceforge.net/lists/listinfo/quantlib-users >> > |
|
From: Luca B. <luc...@gm...> - 2025-10-31 10:31:22
|
Hi Luigi, Thanks for your suggestion. I was able to solve the issue by adjusting the deployment target in Xcode. Here’s how I did it: 1. I selected the "Bonds" example in the *Project Navigator* > *Targets*. 2. In the *Build Settings* for "Bonds," I searched for "Deployment Target." 3. I then changed the **macOS Deployment Target** setting from "13.1" to "12.0." I assume the default "13.1" was automatically set because the developer who built this part might have had macOS 13.1 installed at the time. Thanks again for your help! Best, Luca On Fri, 31 Oct 2025, 10:37 Luigi Ballabio, <lui...@gm...> wrote: > Hi, I'm not really sure where that requirement comes from. May you try > using the command line instead of Xcode, as in > https://www.quantlib.org/install/macosx.shtml ? > > Luigi > > > > On Thu, Oct 30, 2025 at 12:25 AM Luca Begatti <luc...@gm...> > wrote: > >> Hi, >> >> I have successfully forked, cloned and build the QuantLib library on >> Xcode and I wanted to try to run the “Bonds” example, but I have >> encountered this: >> >> *"xxx’s MacBook Pro runs macOS 12.7.6, which is lower than Bonds’s >> minimum deployment target of 13.1. Change your project’s minimum deployment >> target or upgrade Luca’s MacBook Pro’s version of macOS.**”* >> >> My laptop is quite old and Apple does not allow me to update MacOS >> anymore. Is there a way to solve this other than upgrading to a newer >> laptop/Mac? >> >> Thanks >> /Luca >> >> _______________________________________________ >> QuantLib-users mailing list >> Qua...@li... >> https://lists.sourceforge.net/lists/listinfo/quantlib-users >> > |
|
From: Luigi B. <lui...@gm...> - 2025-10-31 09:37:23
|
Hi, I'm not really sure where that requirement comes from. May you try using the command line instead of Xcode, as in https://www.quantlib.org/install/macosx.shtml ? Luigi On Thu, Oct 30, 2025 at 12:25 AM Luca Begatti <luc...@gm...> wrote: > Hi, > > I have successfully forked, cloned and build the QuantLib library on Xcode > and I wanted to try to run the “Bonds” example, but I have encountered this: > > *"xxx’s MacBook Pro runs macOS 12.7.6, which is lower than Bonds’s minimum > deployment target of 13.1. Change your project’s minimum deployment target > or upgrade Luca’s MacBook Pro’s version of macOS.**”* > > My laptop is quite old and Apple does not allow me to update MacOS > anymore. Is there a way to solve this other than upgrading to a newer > laptop/Mac? > > Thanks > /Luca > > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users > |
|
From: Luca B. <luc...@gm...> - 2025-10-29 23:25:28
|
Hi, I have successfully forked, cloned and build the QuantLib library on Xcode and I wanted to try to run the “Bonds” example, but I have encountered this: "xxx’s MacBook Pro runs macOS 12.7.6, which is lower than Bonds’s minimum deployment target of 13.1. Change your project’s minimum deployment target or upgrade Luca’s MacBook Pro’s version of macOS.” My laptop is quite old and Apple does not allow me to update MacOS anymore. Is there a way to solve this other than upgrading to a newer laptop/Mac? Thanks /Luca |
|
From: Kenji O. <for...@gm...> - 2025-10-28 00:30:02
|
Hi, In today’s market, discount curves are based on RFRs such as the T+0 ESTR curve, so QuantLib’s current specification still produces correct results. However, if the discount curve is set to an Euribor curve, the calculation becomes meaningless, which I don’t think is a desirable design. I hope this will be revised in future updates. Thank you very much for your prompt response. - Kenji 2025年10月28日(火) 7:05 Aaron De la Rosa <aar...@gm...>: > Hello Kenji > > Python code fixed. Check out the attachment. Open it using Visual Studio > Code. > > Regards > > Aaron > ------------------------------ > *From:* Kenji Ogawa <for...@gm...> > *Sent:* Monday, October 27, 2025 9:37 AM > *To:* Aaron De la Rosa <aar...@gm...> > *Cc:* Qua...@li... < > Qua...@li...> > *Subject:* Re: [Quantlib-users] Asset Swap Calculation Error with IBM > 1.25 1/29/27 (Settlement Days Issue) > > Hello, > Please find attached the Jupyter Notebook code. > > When the parameters are set as " settleCRV, settleBND = 1, 2 ", the > calculations run correctly. However, changing them to " settleCRV, > settleBND = 2, 2 " produces abnormal results. > > It appears that the curve date needs to be set one day earlier than the > bond settlement date. > > regards, > Kenji > > > > 2025年10月28日(火) 0:14 Aaron De la Rosa <aar...@gm...>: > > Could you share the entire code. So, I can fix it. > > Regard > > Aaron > ------------------------------ > *From:* Kenji Ogawa <for...@gm...> > *Sent:* Sunday, October 26, 2025 6:34 PM > *To:* Qua...@li... < > Qua...@li...> > *Subject:* [Quantlib-users] Asset Swap Calculation Error with IBM 1.25 > 1/29/27 (Settlement Days Issue) > > > Below is the code that calculates the asset swap for *IBM 1.25 1/29/27*, > traded on *April 25, 2024*, at a price of *93.95*. > > When using settleDS = 3, the results are correct: > legNPV1 = 95.179 and fairSPD = 0.359%. > > However, when using settleDS = 2, the calculation produces abnormal > results: > legNPV1 = 100.926 and fairSPD = -1.81%. > > Since the bond should settle on *T+2*, this discrepancy is problematic. > Could someone please help fix this error? > > |
|
From: Aaron De la R. <aar...@gm...> - 2025-10-27 20:07:31
|
OK. Let me check it out. I'll be back later. ________________________________ From: Kenji Ogawa <for...@gm...> Sent: Monday, October 27, 2025 9:37 AM To: Aaron De la Rosa <aar...@gm...> Cc: Qua...@li... <Qua...@li...> Subject: Re: [Quantlib-users] Asset Swap Calculation Error with IBM 1.25 1/29/27 (Settlement Days Issue) Hello, Please find attached the Jupyter Notebook code. When the parameters are set as " settleCRV, settleBND = 1, 2 ", the calculations run correctly. However, changing them to " settleCRV, settleBND = 2, 2 " produces abnormal results. It appears that the curve date needs to be set one day earlier than the bond settlement date. regards, Kenji 2025年10月28日(火) 0:14 Aaron De la Rosa <aar...@gm...<mailto:aar...@gm...>>: Could you share the entire code. So, I can fix it. Regard Aaron ________________________________ From: Kenji Ogawa <for...@gm...<mailto:for...@gm...>> Sent: Sunday, October 26, 2025 6:34 PM To: Qua...@li...<mailto:Qua...@li...> <Qua...@li...<mailto:Qua...@li...>> Subject: [Quantlib-users] Asset Swap Calculation Error with IBM 1.25 1/29/27 (Settlement Days Issue) Below is the code that calculates the asset swap for IBM 1.25 1/29/27, traded on April 25, 2024, at a price of 93.95. When using settleDS = 3, the results are correct: legNPV1 = 95.179 and fairSPD = 0.359%. However, when using settleDS = 2, the calculation produces abnormal results: legNPV1 = 100.926 and fairSPD = -1.81%. Since the bond should settle on T+2, this discrepancy is problematic. Could someone please help fix this error? |
|
From: Kenji O. <for...@gm...> - 2025-10-27 15:38:07
|
Hello, Please find attached the Jupyter Notebook code. When the parameters are set as " settleCRV, settleBND = 1, 2 ", the calculations run correctly. However, changing them to " settleCRV, settleBND = 2, 2 " produces abnormal results. It appears that the curve date needs to be set one day earlier than the bond settlement date. regards, Kenji 2025年10月28日(火) 0:14 Aaron De la Rosa <aar...@gm...>: > Could you share the entire code. So, I can fix it. > > Regard > > Aaron > ------------------------------ > *From:* Kenji Ogawa <for...@gm...> > *Sent:* Sunday, October 26, 2025 6:34 PM > *To:* Qua...@li... < > Qua...@li...> > *Subject:* [Quantlib-users] Asset Swap Calculation Error with IBM 1.25 > 1/29/27 (Settlement Days Issue) > > > Below is the code that calculates the asset swap for *IBM 1.25 1/29/27*, > traded on *April 25, 2024*, at a price of *93.95*. > > When using settleDS = 3, the results are correct: > legNPV1 = 95.179 and fairSPD = 0.359%. > > However, when using settleDS = 2, the calculation produces abnormal > results: > legNPV1 = 100.926 and fairSPD = -1.81%. > > Since the bond should settle on *T+2*, this discrepancy is problematic. > Could someone please help fix this error? > > |
|
From: Aaron De la R. <aar...@gm...> - 2025-10-27 15:14:36
|
Could you share the entire code. So, I can fix it.
Regard
Aaron
________________________________
From: Kenji Ogawa <for...@gm...>
Sent: Sunday, October 26, 2025 6:34 PM
To: Qua...@li... <Qua...@li...>
Subject: [Quantlib-users] Asset Swap Calculation Error with IBM 1.25 1/29/27 (Settlement Days Issue)
Below is the code that calculates the asset swap for IBM 1.25 1/29/27, traded on April 25, 2024, at a price of 93.95.
When using settleDS = 3, the results are correct:
legNPV1 = 95.179 and fairSPD = 0.359%.
However, when using settleDS = 2, the calculation produces abnormal results:
legNPV1 = 100.926 and fairSPD = -1.81%.
Since the bond should settle on T+2, this discrepancy is problematic.
Could someone please help fix this error?
# =====================================================
# Asset swaps - IBM 1.25, Jan 2027
import QuantLib as ql; import pandas as pd; import numpy as np
settleDS = 2
tradeDT = ql.Date(25,4,2024)
settleDT = ql.TARGET().advance(tradeDT, settleDS, ql.Days)
ql.Settings.instance().evaluationDate = tradeDT
# my abbreviation
calEU = ql.TARGET()
dc30 = ql.Thirty360(ql.Thirty360.BondBasis)
dcAAb = ql.ActualActual(ql.ActualActual.Bond)
unADJ = ql.Unadjusted
dtGENb = ql.DateGeneration.Backward
EoMf = False
def sqHDL(xx): return ql.QuoteHandle(ql.SimpleQuote(xx))
# Euribor curve data
crvDATA = [('depo', '6m', 3.825), ('asOBJ', '1y', 3.7), ('asOBJ', '18m', 3.512),
('asOBJ', '2y', 3.378), ('asOBJ', '3y', 3.186), ('asOBJ', '4y', 3.067)]
# Euribor Index
ebCrvHDL = ql.RelinkableYieldTermStructureHandle()
ebrIX = ql.Euribor(ql.Period("6M"), ebCrvHDL)
# Swap Curve
cHelper, ebParRT = [], []
for knd, tnr, rt in crvDATA:
if knd == 'depo': cHelper.append(ql.DepositRateHelper(sqHDL(rt/100),ebrIX))
if knd == 'asOBJ': cHelper.append(ql.SwapRateHelper( sqHDL(rt/100),
ql.Period(tnr), calEU, ql.Annual, ql.ModifiedFollowing, dc30, ebrIX))
ebCrvOBJ = ql.PiecewiseLogLinearDiscount(2, calEU, cHelper, ql.Actual360())
ebCrvHDL.linkTo(ebCrvOBJ)
# bond
effDT, matDT = ql.Date(31,1,2019), ql.Date(29,1,2027)
faceAMT, cpnLST, clnPRC = 100.0, [0.0125], 93.95
bondSCD = ql.Schedule(effDT, matDT, ql.Period(ql.Annual), calEU, unADJ,unADJ, dtGENb, EoMf)
bondOBJ = ql.FixedRateBond(settleDS, faceAMT, bondSCD, cpnLST, dcAAb)
# asset swap
payFix, isPar = True, True
crdSPRD, fltSCH = 35/10000, ql.Schedule()
asOBJ = ql.AssetSwap(payFix,bondOBJ,clnPRC,ebrIX,crdSPRD,fltSCH,ebrIX.dayCounter(),isPar)
asOBJ.setPricingEngine(ql.DiscountingSwapEngine(ebCrvHDL))
print(f' NPV:{asOBJ.NPV(): 10.6f} \n'
f'legNPV0:{asOBJ.legNPV(0): 10.6f} \n'
f'legNPV1:{asOBJ.legNPV(1): 10.6f} \n'
f'fairSPD:{asOBJ.fairSpread(): 10.6%}')
# =====================================================
|
|
From: Luigi B. <lui...@gm...> - 2025-10-27 09:45:09
|
Hello Amine,
currently we're creating bindings to Python, C#, Java and R. We're
using SWIG, which means we're limited to what SWIG supports: some languages
(including Rust, unfortunately) are not supported, and other languages are
supported but don't provide all the features QuantLib requires (e.g.,
support for smart pointers).
Luigi
On Fri, Oct 24, 2025 at 5:23 PM Amine Ifri <ami...@gm...> wrote:
> Hi all,
>
> I was wondering if the C++ library can be used via bindings from languages
> other than Python. Specifically, has anyone ever created bindings for use
> with Rust programming language.
>
> Thanks,
> Amine Ifri
>
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
|
|
From: Kenji O. <for...@gm...> - 2025-10-27 00:34:39
|
Below is the code that calculates the asset swap for *IBM 1.25 1/29/27*,
traded on *April 25, 2024*, at a price of *93.95*.
When using settleDS = 3, the results are correct:
legNPV1 = 95.179 and fairSPD = 0.359%.
However, when using settleDS = 2, the calculation produces abnormal results:
legNPV1 = 100.926 and fairSPD = -1.81%.
Since the bond should settle on *T+2*, this discrepancy is problematic.
Could someone please help fix this error?
# =====================================================
# Asset swaps - IBM 1.25, Jan 2027
import QuantLib as ql; import pandas as pd; import numpy as np
settleDS = 2
tradeDT = ql.Date(25,4,2024)
settleDT = ql.TARGET().advance(tradeDT, settleDS, ql.Days)
ql.Settings.instance().evaluationDate = tradeDT
# my abbreviation
calEU = ql.TARGET()
dc30 = ql.Thirty360(ql.Thirty360.BondBasis)
dcAAb = ql.ActualActual(ql.ActualActual.Bond)
unADJ = ql.Unadjusted
dtGENb = ql.DateGeneration.Backward
EoMf = False
def sqHDL(xx): return ql.QuoteHandle(ql.SimpleQuote(xx))
# Euribor curve data
crvDATA = [('depo', '6m', 3.825), ('asOBJ', '1y', 3.7), ('asOBJ', '18m',
3.512),
('asOBJ', '2y', 3.378), ('asOBJ', '3y', 3.186), ('asOBJ', '4y',
3.067)]
# Euribor Index
ebCrvHDL = ql.RelinkableYieldTermStructureHandle()
ebrIX = ql.Euribor(ql.Period("6M"), ebCrvHDL)
# Swap Curve
cHelper, ebParRT = [], []
for knd, tnr, rt in crvDATA:
if knd == 'depo': cHelper.append(ql.DepositRateHelper(sqHDL(rt/100),
ebrIX))
if knd == 'asOBJ': cHelper.append(ql.SwapRateHelper( sqHDL(rt/100),
ql.Period(tnr), calEU, ql.Annual, ql.ModifiedFollowing, dc30,
ebrIX))
ebCrvOBJ = ql.PiecewiseLogLinearDiscount(2, calEU, cHelper, ql.Actual360())
ebCrvHDL.linkTo(ebCrvOBJ)
# bond
effDT, matDT = ql.Date(31,1,2019), ql.Date(29,1,2027)
faceAMT, cpnLST, clnPRC = 100.0, [0.0125], 93.95
bondSCD = ql.Schedule(effDT, matDT, ql.Period(ql.Annual), calEU, unADJ,unADJ,
dtGENb, EoMf)
bondOBJ = ql.FixedRateBond(settleDS, faceAMT, bondSCD, cpnLST, dcAAb)
# asset swap
payFix, isPar = True, True
crdSPRD, fltSCH = 35/10000, ql.Schedule()
asOBJ = ql.AssetSwap(payFix,bondOBJ,clnPRC,ebrIX,crdSPRD,fltSCH,ebrIX.
dayCounter(),isPar)
asOBJ.setPricingEngine(ql.DiscountingSwapEngine(ebCrvHDL))
print(f' NPV:{asOBJ.NPV(): 10.6f} \n'
f'legNPV0:{asOBJ.legNPV(0): 10.6f} \n'
f'legNPV1:{asOBJ.legNPV(1): 10.6f} \n'
f'fairSPD:{asOBJ.fairSpread(): 10.6%}')
# =====================================================
|
|
From: Amine I. <ami...@gm...> - 2025-10-24 15:22:56
|
Hi all, I was wondering if the C++ library can be used via bindings from languages other than Python. Specifically, has anyone ever created bindings for use with Rust programming language. Thanks, Amine Ifri |
|
From: Brian S. <bri...@gm...> - 2025-10-23 10:50:19
|
Hi, I wonder if Quantlib has any function or method to price Equity Accumulator derivative pricing? Any guidance would be greatly appreciated. Thanks and regards, |
|
From: Luigi B. <lui...@gm...> - 2025-10-14 07:11:39
|
QuantLib 1.40 is available for download at < https://www.quantlib.org/download.shtml>; precompiled binaries are also available from PyPI and NuGet for Python and C# respectively. The list of changes for this release is at < https://github.com/lballabio/QuantLib/releases/tag/v1.40>. If you have any problems with this release, please report them here on the QuantLib mailing list (<qua...@li...>) or open a GitHub issue at <https://github.com/lballabio/quantlib/issues>. |
|
From: <vee...@gm...> - 2025-10-03 23:01:58
|
Hello all, First time writing this mailing list and as such it's my first time facing the ql API with the goal of having to integrate with its internals. I've tried the LLM route and have scoured the examples here: rkapl123.github.io/QLAnnotatedSource/. Neither approach has led to the necessary certainty i need to proceed; i need a path that's guaranteed to work if i work at it long enough. i really fear hacking away at a flawed approach that eats up time only to have to start over, so to speak, weeks later. So I ask for feedback on any one of the following hopefully relevant questions: *1. Architecture:* The paper underpinning the modelling challenge is linked below (download is available if you search). The approach maintains tree recombination by interpolating option values at dividend dates. Should I: - Create a custom Lattice class that overrides rollback()? - Modify a BinomialEngine subclass? - Or implement a completely separate DiscretizedAsset subclass? Which approach best fits QuantLib's design philosophy? *2. Technical Integration:* For the V-N method, at each dividend date during backward induction, I need to: - Store option values at all tree nodes at time t_D - Interpolate to find values at s-D(s) for each node s - Continue rollback with interpolated values Where in QuantLib's class hierarchy is the appropriate interception point? Should I override rollback(), partialRollback(), preAdjustValuesImpl(), or postAdjustValuesImpl() *3. Practical Experience:* If there is any source code out there you know of which you believe provides reliable answers to any one of the questions above, id greatly appreciate your letting me know. So far my searches haven't returned anything i can be sure is guaranteed to be helpful. My guess is one should inherit from DiscretizedAsset and take special care to implement the postAdjustValuesImpl virtual method. In this case one would have to populate an associated stock lattice, whose values would be exogenously filled, and not as it were, through some composition of a BlackScholesMertonProcess and a BinomialTree. Thanks in advance for your time and help. Veeken peper url: https://doi.org/10.1080/13504860600563077 |
|
From: Dirk E. <ed...@de...> - 2025-10-03 02:13:21
|
On 2 October 2025 at 17:30, Luigi Ballabio wrote: | Hi all, | a release candidate for QuantLib 1.40 is available at < | https://github.com/lballabio/QuantLib/releases/tag/v1.40-rc>. If you have | some time, please try it out and report any issues on GitHub (or here on | the mailing list). Thanks! All good so far with a 1.39.99 (to sort lower than a future 1.40) - Debian experimental, build status at https://buildd.debian.org/status/package.php?p=quantlib&suite=experimental - Ubuntu 24.04 via my ppa at https://launchpad.net/~edd/+archive/ubuntu/misc Dirk -- dirk.eddelbuettel.com | @eddelbuettel | ed...@de... |
|
From: Luigi B. <lui...@gm...> - 2025-10-02 15:31:06
|
Hi all, a release candidate for QuantLib 1.40 is available at < https://github.com/lballabio/QuantLib/releases/tag/v1.40-rc>. If you have some time, please try it out and report any issues on GitHub (or here on the mailing list). Thanks! Luigi |
|
From: 范博伟 <hz...@si...> - 2025-09-23 13:06:56
|
Hi Luigi, We did namage to modify the OvernightIndexedSwap and related methods in C++ and build the FR007 swap class, mainly using xuruilong's example as reference. And yes, FR007 is a main bench market interest rate in China Inter Bank market. It's the real funding rate for most institution in the market. FR007 IRS is the most traded IRS in China IB. It's reset every 1 week as the tenor of FR007. We have most modeling work done in Python. It would be really handy if we can do the calibration in Python too. For now, I managed to write a python version utilizing the FRARateHelper for the quotes and iteratively bootstrapping instruments. Error might be acceptable for some trading purpose. ----- 原始邮件 ----- 发件人:Luigi Ballabio <lui...@gm...> 收件人:hz...@si... 抄送人:quantlib-users <qua...@li...> 主题:Re: Re: [Quantlib-users] Bootstrap non fixed-reset-number floating leg interest rate swap 日期:2025年09月23日 14点35分 Hello, no, there's no such class. One should inherit from RateHelper and code it in C++. Are these instruments the way rates are quoted in your market? Best, Luigi On Mon, Sep 22, 2025 at 4:40 PM "范博伟" <hz...@si...> wrote: Hi Luigi, Thanks for the reply! I check the MultipleResetCoupon and I think I can use that and put a swap together by passing fixedLeg and floatingLeg to ql.Swap, or ql.NonstandardSwap. However, how can I bootstrap from those swaps for discounting curve? I think SwapRateHelper won't take swap as input. Is there any available helper class would help in this case? Thanks. ----- 原始邮件 ----- 发件人:Luigi Ballabio <lui...@gm...> 收件人:hz...@si... 抄送人:quantlib-users <qua...@li...> 主题:Re: [Quantlib-users] Bootstrap non fixed-reset-number floating leg interest rate swap 日期:2025年09月22日 14点24分 Hello, instead of using MultipleResetsLeg, you can instantiate the underlying MultipleResetCoupon instances directly. Each coupon can take its set of reset dates explicitly. Hope this helps, Luigi On Sun, Sep 14, 2025 at 3:10 PM "范博伟" <hz...@si...> wrote: Hi there, I am trying to use python to calibrate interest rate swap in China, which is a bit non-standard as the floating leg is reset weekly and paid quarterly. I am tring to the use the MultipleResetsLeg for the floating leg to construct a swap and do the calibartoin. However, the MultipleResetsLeg has a fixed number of resets per coupon while in real case, the number of resets is not fixed. It could be 12-14 resets per coupon due to the convention and calendar. In C++, we could build the swap from scratch but not sure if we can do that in python, since some api is not exposed. Could anyone help me with the issue. Thanks._______________________________________________ QuantLib-users mailing list Qua...@li... https://lists.sourceforge.net/lists/listinfo/quantlib-users |
|
From: Luigi B. <lui...@gm...> - 2025-09-23 06:35:47
|
Hello,
no, there's no such class. One should inherit from RateHelper and code
it in C++. Are these instruments the way rates are quoted in your market?
Best,
Luigi
On Mon, Sep 22, 2025 at 4:40 PM "范博伟" <hz...@si...> wrote:
> Hi Luigi,
>
> Thanks for the reply!
>
> I check the MultipleResetCoupon and I think I can use that and put a swap
> together by passing fixedLeg and floatingLeg to ql.Swap, or
> ql.NonstandardSwap.
>
> However, how can I bootstrap from those swaps for discounting curve? I
> think SwapRateHelper won't take swap as input.
>
> Is there any available helper class would help in this case?
>
> Thanks.
>
>
> ----- 原始邮件 -----
> 发件人:Luigi Ballabio <lui...@gm...>
> 收件人:hz...@si...
> 抄送人:quantlib-users <qua...@li...>
> 主题:Re: [Quantlib-users] Bootstrap non fixed-reset-number floating leg
> interest rate swap
> 日期:2025年09月22日 14点24分
>
> Hello,
> instead of using MultipleResetsLeg, you can instantiate the underlying
> MultipleResetCoupon instances directly. Each coupon can take its set of
> reset dates explicitly.
>
> Hope this helps,
> Luigi
>
>
> On Sun, Sep 14, 2025 at 3:10 PM "范博伟" <hz...@si...> wrote:
>
> Hi there,
>
> I am trying to use python to calibrate interest rate swap in China, which
> is a bit non-standard as the floating leg is reset weekly and paid
> quarterly.
>
> I am tring to the use the MultipleResetsLeg for the floating leg to
> construct a swap and do the calibartoin. However, the MultipleResetsLeg
> has a fixed number of resets per coupon while in real case, the number of
> resets is not fixed. It could be 12-14 resets per coupon due to the
> convention and calendar.
>
> In C++, we could build the swap from scratch but not sure if we can do
> that in python, since some api is not exposed.
>
> Could anyone help me with the issue. Thanks.
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
>
|
|
From: 范博伟 <hz...@si...> - 2025-09-22 14:40:30
|
Hi Luigi, Thanks for the reply! I check the MultipleResetCoupon and I think I can use that and put a swap together by passing fixedLeg and floatingLeg to ql.Swap, or ql.NonstandardSwap. However, how can I bootstrap from those swaps for discounting curve? I think SwapRateHelper won't take swap as input. Is there any available helper class would help in this case? Thanks. ----- 原始邮件 ----- 发件人:Luigi Ballabio <lui...@gm...> 收件人:hz...@si... 抄送人:quantlib-users <qua...@li...> 主题:Re: [Quantlib-users] Bootstrap non fixed-reset-number floating leg interest rate swap 日期:2025年09月22日 14点24分 Hello, instead of using MultipleResetsLeg, you can instantiate the underlying MultipleResetCoupon instances directly. Each coupon can take its set of reset dates explicitly. Hope this helps, Luigi On Sun, Sep 14, 2025 at 3:10 PM "范博伟" <hz...@si...> wrote: Hi there, I am trying to use python to calibrate interest rate swap in China, which is a bit non-standard as the floating leg is reset weekly and paid quarterly. I am tring to the use the MultipleResetsLeg for the floating leg to construct a swap and do the calibartoin. However, the MultipleResetsLeg has a fixed number of resets per coupon while in real case, the number of resets is not fixed. It could be 12-14 resets per coupon due to the convention and calendar. In C++, we could build the swap from scratch but not sure if we can do that in python, since some api is not exposed. Could anyone help me with the issue. Thanks._______________________________________________ QuantLib-users mailing list Qua...@li... https://lists.sourceforge.net/lists/listinfo/quantlib-users |
|
From: Luigi B. <lui...@gm...> - 2025-09-22 06:24:21
|
Hello,
instead of using MultipleResetsLeg, you can instantiate the underlying
MultipleResetCoupon instances directly. Each coupon can take its set of
reset dates explicitly.
Hope this helps,
Luigi
On Sun, Sep 14, 2025 at 3:10 PM "范博伟" <hz...@si...> wrote:
> Hi there,
>
> I am trying to use python to calibrate interest rate swap in China, which
> is a bit non-standard as the floating leg is reset weekly and paid
> quarterly.
>
> I am tring to the use the MultipleResetsLeg for the floating leg to
> construct a swap and do the calibartoin. However, the MultipleResetsLeg
> has a fixed number of resets per coupon while in real case, the number of
> resets is not fixed. It could be 12-14 resets per coupon due to the
> convention and calendar.
>
> In C++, we could build the swap from scratch but not sure if we can do
> that in python, since some api is not exposed.
>
> Could anyone help me with the issue. Thanks.
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
|