What is the incremental contribution measure?
The incremental contribution expresses, as a signed scalar in the same unit as the underlying metric (for example, PFE or EE), how much a trade adds to its parent’s metric. It is the difference between the parent metric and the corresponding metric computed on the inframarginal exposure, evaluated per the trade level and not aggregated above it: where is the metric computed on the inframarginal exposure (the parent aggregate excluding the current trade). Both terms of the difference honor the query filters: when the query restricts the trades in scope, the parent aggregate and the inframarginal value are both computed on the visible trades only, keeping the contribution consistent with the displayed totals. The result is a signed amount, not a ratio: positive when the trade increases the parent’s exposure, negative when it provides a netting benefit. Unlike the inframarginal exposure it is derived from, the incremental contribution measure is visible to cube end-users. It is available throughIInframarginalExposureAndMetricsMeasures.incrementalContributions().
What is inframarginal exposure?
Inframarginal exposure is the value of the aggregate excluding a single trade: it answers the question “what would the netting-set exposure be if this trade were removed?” It is an intermediate quantity that end-users do not query directly. The cube hides it and exposes the incremental contribution computed from it instead. The framework provides three inframarginal approaches:
The netted inframarginal measure routes on the netting set of each trade: trades whose netting set ID is the default
N/A use the linear formula, and all other trades use the non-linear one. Both yield the same quantity: the underlying evaluated on the parent excluding the trade.
How is linear inframarginal computed?
Linear inframarginal subtracts the trade’s own value from the value of its parent: The parent value honours the query filters, so both terms agree on which trades make up the parent. This is exact wherever the aggregate is additive, which is the case without a netting agreement: the no-netting branch floors each trade’s exposure before summing, so the trades add up. It also follows that where the linear form applies, the incremental contribution reduces to the trade’s own value, since .How is non-linear inframarginal computed?
For each trade at the trade-id level, non-linear inframarginal exposure is: where is the exposure of the netting set with the current trade excluded from aggregation. This is exact because netting is non-linear, so the excluded value cannot be obtained by simply subtracting the trade’s own value from the parent. It applies to both scalar and vector underlying measures.How do these measures relate to the public API?
TheIInframarginalExposureMeasures interface gives access to the hidden inframarginal exposure vectors:
IInframarginalExposureAndMetricsMeasures interface extends this with inframarginal metrics and the incremental contribution metric:
IGrossMeasures and INettedMeasures extend IInframarginalExposureMeasures. ICollateralizedExposureByAlgoMeasures also extends IInframarginalExposureMeasures, so all three exposure families carry inframarginal measures.