Skip to main content

Module ndf

Module ndf 

Expand description

Non-deliverable FX forward templates — the ndf group, one per currency with an EMTA Template Terms document for NDFs.

Sources. Every row is cited to its EMTA template, which ISDA’s FX Emerging Markets Documentation page alone now hosts (https://www.isda.org/book/fx-emerging-markets-documentation/; EMTA retired its own copies in 2025). The settlement rate options are Annex A to the 1998 FX and Currency Option Definitions, as amended 3 December 2024. History cites EMTA’s FX market practices (MP numbers).

The shared template skeleton. Every current template is

  • USD-settled on New York business days, except XOF-EUR-NDF;
  • fixed on a scheduled valuation date adjusted Preceding, or Following after an Unscheduled Holiday;
  • disrupted by Price Source Disruption only, falling back to Valuation Postponement and then Calculation Agent Determination. The seven SFEMC Asian templates put an indicative survey rate between those two, with a 3-business-day survey postponement;
  • capped at 14 calendar days each for the Deferral Period, the Maximum Days of Postponement and Cumulative Events. The LatAm templates had 30 until 3 December 2021 (MP96).

No document fixes the fixing lag. Each template writes both the valuation and the settlement date as a “DATE CERTAIN”. The 1998 Definitions §1.16(f) default — “two Business Days prior to the Settlement Date” — applies only when a confirmation omits the valuation date. A row’s fixing_lag is therefore its rate option’s own Annex A spot (“for settlement in N Business Days”) where that is one or two days, and the 1998 default otherwise; each row says which. The spot lag of 2 and the Modified Following + end-of-month tenor roll are FX market convention that no EMTA or ISDA document states (UNVERIFIED).

What is coming. The 2026 ISDA FX Definitions (published 3 March 2026, implemented 22 November 2027) absorb these templates: their provisions move into Main Book Section 9 and the per-currency terms into an “EM Currency Matrix”, applied as it stood on each trade date — which is why each row carries its template’s date.

Not here: the NDO templates, the nine cross-currency NDF templates (BRL, CLP, CNY, COP, INR and KRW against EUR, INR/GBP, KRW/JPY, TWD/EUR), and currencies without a template (PKR, LKR, BDT, TZS, GEL, TRY, RSD).

Structs§

NdfTemplate
The terms of one market’s non-deliverable forward: what it fixes on, when, on which calendars, and the caps its disruption fallbacks run to.

Statics§

NDF
Registry rows for this template group.
NDF_CROSS
Registry rows for this template group.

Functions§

aoa_usd
AOA-USD-NDF template.
ars_usd
ARS-USD-NDF template.
azn_usd
AZN-USD-NDF template.
brl_eur
BRL-EUR-NDF template.
brl_usd
BRL-USD-NDF template.
clp_eur
CLP-EUR-NDF template.
clp_usd
CLP-USD-NDF template.
cny_eur
CNY-EUR-NDF template.
cny_usd
CNY-USD-NDF template.
cop_eur
COP-EUR-NDF template.
cop_usd
COP-USD-NDF template.
crc_usd
CRC-USD-NDF template.
cross_ndf 🔒
A cross-currency row: the reference currency’s USD row’s terms, settled in settlement on settlement_centers, its rate the cross of the reference and settlement currencies’ rates against USD.
dop_usd
DOP-USD-NDF template.
dzd_usd
DZD-USD-NDF template.
egp_usd
EGP-USD-NDF template.
ghs_usd
GHS-USD-NDF template.
idr_usd
IDR-USD-NDF template.
inr_eur
INR-EUR-NDF template.
inr_gbp
INR-GBP-NDF template.
inr_usd
INR-USD-NDF template.
kes_usd
KES-USD-NDF template.
krw_eur
KRW-EUR-NDF template.
krw_jpy
KRW-JPY-NDF template.
krw_usd
KRW-USD-NDF template.
kzt_usd
KZT-USD-NDF template.
mad_usd
MAD-USD-NDF template.
myr_usd
MYR-USD-NDF template.
mzn_usd
MZN-USD-NDF template.
ndf 🔒
Builds one row. Every template shares the spot lag, the tenor roll and the 14/14/14 caps; the row states the rest.
ngn_usd
NGN-USD-NDF template.
pen_usd
PEN-USD-NDF template.
php_usd
PHP-USD-NDF template.
rub_usd
RUB-USD-NDF template.
twd_eur
TWD-EUR-NDF template.
twd_usd
TWD-USD-NDF template.
uah_usd
UAH-USD-NDF template.
ugx_usd
UGX-USD-NDF template.
uyu_usd
UYU-USD-NDF template.
uzs_usd
UZS-USD-NDF template.
vnd_usd
VND-USD-NDF template.
xof_eur
XOF-EUR-NDF template.
zmw_usd
ZMW-USD-NDF template.