Skip to content

Non-deliverable cross currency swap#2413

Open
marcin-rybacki wants to merge 8 commits into
lballabio:masterfrom
marcin-rybacki:feature/non-deliverable-xccy-swap
Open

Non-deliverable cross currency swap#2413
marcin-rybacki wants to merge 8 commits into
lballabio:masterfrom
marcin-rybacki:feature/non-deliverable-xccy-swap

Conversation

@marcin-rybacki

Copy link
Copy Markdown
Contributor

This PR extends the FX framework with another rate helper for non-deliverable cross currency swaps.
The main difference, compared to deliverable products, lies in the settlement of cash flows. In non-deliverable case, a few days prior to maturity (according to the FX fixing delay) the FX rate is set to convert foreign cash flow to domestic currency. This required implementing another calculator (using the visitor pattern), in the same way we did it for the resetting helper.

Looking forward to your feedback.

@coveralls

coveralls commented Dec 31, 2025

Copy link
Copy Markdown

Coverage Status

coverage: 74.255% (+0.08%) from 74.172%
when pulling af0fbd7 on marcin-rybacki:feature/non-deliverable-xccy-swap
into b43bcbf on lballabio:master.

@lballabio

Copy link
Copy Markdown
Owner

@marcin-rybacki, @paolodelia99, may you cross-check this PR and #2248 and see if they're consistent or if something might be useful for both? Thanks!

@paolodelia99

Copy link
Copy Markdown
Contributor

Actually yes, we can use the CrossCcySwap instances in the crosscurrencyratehelpers that would be more self-descriptive. This is also applicable for the non-derivable cross currency swaps introduced in this PR, since the last parameter of the CrossCcySwapEngine is spotFXSettleDate which is the day where the FX rate is set and used to convert foreign cash flow to domestic currency. I'll try to integrate those crossccyswap objects in the crossccyswaphelpers in #2248 and see if I'll have some problems.

@marcin-rybacki

Copy link
Copy Markdown
Contributor Author

@marcin-rybacki, @paolodelia99, may you cross-check this PR and #2248 and see if they're consistent or if something might be useful for both? Thanks!

Hi Luigi, I saw only now that I did not reply to your message, apologies. Happy to check this with @paolodelia99, I left a couple of comments in his PR and could help with migrating, if needed.

@lballabio

Copy link
Copy Markdown
Owner

Ok, thanks — let me know when the two PRs are ok to merge.

@github-actions

github-actions Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

This PR was automatically marked as stale because it has been open 60 days with no activity. Remove stale label or comment, or this will be closed in two weeks.

@github-actions github-actions Bot added the stale label May 4, 2026
@lballabio lballabio removed the stale label May 4, 2026
@lballabio

Copy link
Copy Markdown
Owner

Hello @marcin-rybacki, I just merged #2248. When you have time, please have a look at this PR and check if those new features can be useful for it.

@marcin-rybacki

Copy link
Copy Markdown
Contributor Author

Hello @marcin-rybacki, I just merged #2248. When you have time, please have a look at this PR and check if those new features can be useful for it.

Hi @lballabio, thank you. Will do!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Question on fixing date used in notional adjustment of MtmCrossCurrencyBasisSwapRateHelper

4 participants