A desk using Nifa's scenario matching should report the range around its credit score alongside the selected answer. At a 0.5 correlation target, the matched pairs average 0.4996. Yet admissible pairings put the mean credit score anywhere from EUR 7,061 to EUR 10,483. The method belongs in a counterparty-risk toolkit; that range is the number I would read first.

The paper makes the point itself: "Near-target correlation leaves economically material dependence uncertainty." Nifa's conclusion identifies the bounds as the useful output, "a transparent account of which risk conclusions are fixed by the scenario sets and which still depend on the chosen coupling." My position goes only a step further. A selected score at a single target should never appear alone.

Keeping the paths intact

Exposure and credit often run in separate desk engines. Nifa starts with n market paths and n credit paths simulated separately, then pairs them one to one. Each market path receives exactly one credit path. Each credit path is used once. This permutation preserves both empirical distributions of complete paths, keeping curves, discount factors and trade values together in the market block.

Within each pair, dependence is measured across time: the Pearson correlation between the trade's signed value and the counterparty's hazard rate over twelve monthly dates. The paper distinguishes this measure from correlation across scenarios at a single future date.

A candidate pair's cost is the absolute difference between its temporal correlation and the target. A tolerance ε determines eligibility. Linear assignment then chooses the permutation with the smallest average gap, while a perfect-matching test checks whether any permutation can stay within ε throughout.

The graph of eligible pairs also supplies exact bounds. Assigning on loss and on its negative produces the lowest and highest attainable means. Indicator costs produce exceedance probabilities. For quantiles, binary search over loss values needs at most 16 assignment queries at n = 256. Nifa credits Glasserman and Yang (2018) for fixed-marginal coupling. The contribution claimed here lies in the temporal-correlation criterion, the analysis of feasibility and the financial interpretation.

The experiment uses a long forward on a 10-year zero-coupon bond. Delivery is in one year, notional is EUR 100 million and loss given default is 60%. A two-factor Gaussian model generates rates from a flat 2.5% initial forward. The hazard rate follows an independent log-OU process with mean level 0.025. The reported loss is a discounted exposure score weighted by default probability; the paper distinguishes it from jump-to-default cash loss and from CVA.

Across ten batches of 256 paths, the selected score climbs from EUR 6.14k at a target of -0.5 to 7.46k at zero and 8.90k at 0.5. Moving from -0.5 to 0.5 changes the score by 44.9% with identical marginal scenarios. Random pairing produces EUR 7,429.

What does a 0.006 correlation error settle?

The correlation fit is close. At 0.5, mean absolute error is 0.0061; at zero, it is 0.0154. Raising the target from zero to 0.5 adds EUR 1,438 to the selected score, with a paired standard error of EUR 25. The target plainly changes the answer.

The admissible pairings change it more.

At 0.5, the attainable mean extends from EUR 7,061 to 10,483. Its EUR 3,422 width amounts to 38.5% of the selected score. It also exceeds twice the EUR 1,438 change from target 0 to 0.5. Most of the permitted range at zero, EUR 5.81k to 9.43k, overlaps the range at 0.5, 7.06k to 10.48k. A desk told that wrong-way correlation had risen from zero to 0.5 could not infer from these admissible ranges that its credit score had risen.

Tail estimates leave the same uncertainty. Under the selected pairing at 0.5, the probability of a score above EUR 20,000 is 16.45%. Other admissible pairings place it between 8.28% and 25.47%. The selected 99th percentile is EUR 50.01k; its endpoints are 34.13k and 73.54k. That percentile is the 254th order statistic in a sample of 256 paths, so a handful of draws carries the estimate.

These figures need Nifa's disclosures beside them. Eligibility stays fixed when calculating the bounds. As a result, the min- and max-loss pairings have average correlations of 0.4053 and 0.5386, compared with 0.4996 for the minimum-error pairing. The tail envelopes are also pointwise: the permutation producing the worst exceedance may differ from the one producing the worst quantile. Neither qualification rescues the selected score. Reducing ε from 0.2 to 0.1 leaves all ten batches feasible and cuts the mean-score width by only 17.2%, to EUR 2,833.

A target the scenario library cannot express

No complete matching at a target of 0.8 fits within 0.2 in any of the ten batches. The minimum feasible tolerances range from 0.2131 to 0.3765. The paper's conclusion is limited to these fixed scenario sets: the target cannot simply be imposed at the requested precision.

Tighter tolerances fail elsewhere too. With ε = 0.05 and a 0.5 target, eight of ten batches pass. The failures have bottleneck tolerances of about 0.0765 and 0.0717. In one failed batch, 255 market paths have only 254 eligible credit partners between them.

I regard this as the second real contribution. The method reports an inexpressible stress target as infeasible and gives the smallest tolerance that would make it work. Average error conceals that problem. At target zero, the mean gap is 0.0154, yet the worst selected pair reaches 0.1983, barely inside the band.

Grid error comes before scale

Monthly interval-end exposure overstates the score by 4.95% relative to a 192-date reference. The scores are EUR 9,584 and 9,132, with a paired standard error of EUR 18. At 96 dates, the gap drops to 0.34%. These estimates use fresh batches and therefore cannot be netted directly against the main table.

The level bias is about a quarter of the 19.28% increase from zero to 0.5. Its effect on that difference remains unknown: the paper measures the bias only at the 0.5 target.

Computation is cheap at the tested scale. On a MacBook Air running single-threaded, matching plus mean bounds takes a median 0.018 seconds at 256 paths and 4.529 seconds at 2,048. At 2,048 paths, the bound routine alone takes a median 3.92 seconds, compared with 0.46 for correlation matching. The paper explicitly excludes tail and quantile searches from those timings. Dense matrices at 10,000 paths would require about 2.4 GB on their own; that size was not timed.

We could not test the method ourselves. The exposure is an OTC bond forward against a defaultable counterparty. We have neither bond-forward price histories nor counterparty hazard or default data, and Treasury ETFs or listed rates futures would not reproduce the exposure and default mechanism.

What would raise my opinion?

A numerical comparison with Glasserman and Yang's bounds on the same paths would help. We did not find one. The paper also places a Sinkhorn comparison outside its experiment.

The other result I would want is the workflow Nifa recommends, with tolerances chosen on validation data. That workflow is not run here. The target sweep holds ε at 0.2, while the 0.1 and 0.05 runs at the 0.5 target serve as sensitivity checks. Validation data never select ε. The generators are uncalibrated.

Until those results arrive, the method measures how much a scenario library leaves undetermined. At the 0.5 target, that uncertainty is 38.5% of the selected score. Relative to their selected scores, the ranges at -0.5 and 0.0 are wider still.