Counterparty Risk and CVA › Netting and Collateral
Quantitative FinanceAll chapters Counterparty Risk and CVA › Netting and CollateralOne section · Sections in this chapter10 / 16 ↓
Reading tools Definitions & inline links
Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.
Article links
Make inline references clickable
Legal documentation significantly affects counterparty exposure through netting agreements and collateral arrangements. These risk mitigation techniques are essential components of modern derivative trading and can reduce CVA by 70% or more in many cases.
Netting
An ISDA Master Agreement typically includes a netting provision that allows offsetting positive and negative positions with the same counterparty. Without netting, you face exposure on all positive-value trades while still owing on negative-value trades. With netting, you can offset these, dramatically reducing net exposure.
To understand the power of netting, consider a simple example. Suppose you have two trades with a counterparty: Trade A has a value of +$10 million (they owe you), and Trade B has a value of -$8 million (you owe them). Without netting, your exposure is $10 million on Trade A, and you still must pay the $8 million on Trade B even if the counterparty defaults. With netting, your net exposure is only $2 million as the positive and negative values offset.
Mathematically, the comparison is:
compared to:
where:
- : mark-to-market value of the -th trade in the netting set
- : total value of the portfolio allowing for offsets
Netting can dramatically reduce exposure, especially for portfolios with offsetting positions. A dealer with thousands of trades facing a single counterparty might have gross exposure of billions of dollars but net exposure of only millions, representing a reduction of 90% or more.

Collateral and Margining
Credit Support Annexes (CSAs) govern collateral posting. A typical CSA specifies the rules by which counterparties exchange collateral to mitigate credit exposure:
- Threshold: The exposure level above which collateral must be posted
- Minimum Transfer Amount: The smallest collateral transfer required
- Eligible Collateral: Usually cash or high-quality government securities
- Haircuts: Adjustments to collateral value for non-cash securities
Under perfect collateralization with daily margin calls and zero threshold, exposure is limited to one day's potential movement, dramatically reducing CVA. However, during the period between default and closeout (often 10-20 days), exposure can grow, creating residual risk even with collateral. This "margin period of risk" represents the time needed to recognize the default, value the portfolio, liquidate hedges, and close out positions. During this period, the collateral held may become insufficient if market conditions move adversely.
import numpy as np
def calculate_collateralized_exposure(
exposures, threshold, margin_period_of_risk
):
"""
Calculate exposure with collateral considering margin period of risk.
Parameters:
- exposures: Raw exposure paths (n_paths x n_steps)
- threshold: Collateral threshold
- margin_period_of_risk: Number of steps for closeout period
"""
n_paths, n_steps = exposures.shape
coll_exposures = np.zeros_like(exposures)
for t in range(n_steps):
# Look back to find exposure at last margin call
lookback = max(0, t - margin_period_of_risk)
# Exposure at last margin call determines collateral held
collateral_held = np.maximum(exposures[:, lookback] - threshold, 0)
# Current exposure minus collateral
coll_exposures[:, t] = np.maximum(exposures[:, t] - collateral_held, 0)
return coll_exposures
# Calculate with different collateral assumptions
threshold_0 = 0 # Zero threshold (fully collateralized)
threshold_50k = 50000 # $50k threshold
mpor_steps = 2 # 2 quarters margin period of risk
coll_exposures_0 = calculate_collateralized_exposure(
exposures, threshold_0, mpor_steps
)
coll_exposures_50k = calculate_collateralized_exposure(
exposures, threshold_50k, mpor_steps
)
ee_collateralized_0 = coll_exposures_0.mean(axis=0)
ee_collateralized_50k = coll_exposures_50k.mean(axis=0)
Collateralization substantially reduces exposure, and consequently CVA. This explains why post-crisis regulation pushed for central clearing and mandatory margining of OTC derivatives. The dramatic reduction in exposure under collateralization represents a measurable reduction in credit risk for both counterparties and the financial system as a whole.
# Calculate CVA for collateralized profiles
cva_collateralized_0 = calculate_cva(
ee_collateralized_0, marginal_pds, discount_factors, lgd
)
cva_collateralized_50k = calculate_cva(
ee_collateralized_50k, marginal_pds, discount_factors, lgd
)CVA Impact of Collateralization ======================================== Uncollateralized CVA: $3,547 $50k Threshold CVA: $2,284 Zero Threshold CVA: $863 Reduction with $50k: 35.6% Reduction with Zero: 75.7%
The zero-threshold collateralization eliminates most of the CVA, leaving only the risk associated with the margin period of risk. The $50k threshold introduces a small uncollateralized exposure buffer, resulting in slightly higher CVA, but still achieving a massive reduction compared to the uncollateralized case. These results demonstrate why collateralization has become the norm for interbank derivative trading.