|
From: Quant <qua...@gm...> - 2026-07-29 14:38:47
|
Hi Luigi, Noted and thanks. This helps a lot. Regards, Nk On Tue, 28 Jul 2026 at 17:11, Luigi Ballabio <lui...@gm...> wrote: > Hi, the MtM swaps are in progress, see > https://github.com/lballabio/QuantLib/pull/2642 . Hopefully they'll be > in next release but they're a lot more complex than the const-notional > swaps and we might have to iron them out. A workaround for MtM swaps is > documented at https://www.quantlibguide.com/Cross-currency%20swaps.html > but with caveats (also documented). > > Hope this helps, > Luigi > > > On Tue, Jul 28, 2026 at 4:10 PM Quant <qua...@gm...> wrote: > >> Hi Luigi, >> >> Thank you for your feedback on my earlier email regarding bootstrapping a >> cross-currency basis-adjusted discount curve using >> ConstNotionalCrossCurrencyBasisSwapRateHelper and >> MtMCrossCurrencyBasisSwapRateHelper, particularly in relation to the >> support for asymmetric payment frequency conventions introduced in the >> QuantLib 1.43 release. >> >> I noticed that QuantLib 1.43 now includes the following instruments: >> >> - ql.ConstNotionalCrossCurrencyBasisSwap() >> - ql.ConstNotionalCrossCurrencySwap() >> - ql.ConstNotionalCrossCurrencyFixedVsFloatingSwap() >> >> I wanted to check whether the mark-to-market (MtM) equivalents of these >> instruments have not yet been implemented, or whether there is an >> alternative or recommended workaround for modeling MtM cross-currency swaps >> using the constant notional implementations above. >> >> I would appreciate any guidance you can provide. >> >> Thanks and regards, >> >> Nk >> >> On Thu, Jun 18, 2026 at 9:09 AM Luigi Ballabio <lui...@gm...> >> wrote: >> >>> Hi, this was added recently — see >>> https://github.com/lballabio/QuantLib/pull/2528. It will be available >>> in release 1.43 out next month. >>> >>> Regards, >>> Luigi >>> >>> >>> On Wed, Jun 17, 2026 at 5:30 PM Quant <qua...@gm...> wrote: >>> >>>> Dear QuantLib users, >>>> >>>> I am currently bootstrapping a cross-currency basis-adjusted discount >>>> curve using ConstNotionalCrossCurrencyBasisSwapRateHelper and have a >>>> question regarding payment frequency conventions. >>>> >>>> The helper accepts a single paymentFrequency parameter, which appears >>>> to be applied to both legs of the underlying cross-currency basis swap: >>>> >>>> ccbs_helpers = [ >>>> ql.ConstNotionalCrossCurrencyBasisSwapRateHelper( >>>> ql.QuoteHandle(ql.SimpleQuote(basis / 10000)), >>>> ql.Period(*tenor), >>>> 2, >>>> calendar, >>>> ql.Following, >>>> False, >>>> sonia, >>>> sofr, >>>> sonia_ts, >>>> True, >>>> False, >>>> paymentFrequency=ql.Quarterly >>>> ) >>>> for basis, tenor in ... >>>> ] >>>> >>>> My question is: how should one handle market instruments where the two >>>> floating legs have different payment frequencies? For example when I >>>> inquired with my market data provider, they indicated that for their quotes: >>>> >>>> - >>>> >>>> SONIA leg pays annually >>>> - >>>> >>>> SOFR leg pays quarterly >>>> >>>> Is there a way to specify separate payment frequencies for each leg >>>> when using ConstNotionalCrossCurrencyBasisSwapRateHelper or >>>> MtMCrossCurrencyBasisSwapRateHelper, or is the helper designed under >>>> the assumption that both legs share the same payment schedule? >>>> >>>> If different frequencies are required, is the recommended approach to: >>>> >>>> 1. >>>> >>>> Build a custom cross-currency swap instrument with separate >>>> schedules for each leg and create a custom RateHelper; or >>>> 2. >>>> >>>> Approximate the market convention using a common frequency for both >>>> legs? >>>> >>>> I would appreciate any guidance on how QuantLib intends such >>>> instruments to be handled and whether there are examples of bootstrapping a >>>> CCS basis curve when the two legs have different payment frequencies. >>>> >>>> Thank you for your help. >>>> >>>> Kind regards, >>>> >>>> Nk >>>> _______________________________________________ >>>> QuantLib-users mailing list >>>> Qua...@li... >>>> https://lists.sourceforge.net/lists/listinfo/quantlib-users >>>> >>> |