FX Effect on VaR

Overview

Simply multiplying the PNL vector by the Spot does not produce the correct PNL vector in domestic currency.

$$ \overrightarrow{PNL_{CC0}} \neq \overrightarrow{PNL_{CC1}} \cdot FX_{CC0/CC1} $$

The currency rate is a stochastic variable that has to be taken into account in the VaR computation. For each scenario of the PNL vector, you must use a specific exchange rate. This exchange rate must be consistent with the corresponding scenario.

Additionally, to account for the FX risk associated with a trade in another currency, the current mark-to-market (MTM) value of the trade is multiplied by the same FX shift and added to the PNL for the trade. Where MTM is not provided for a trade, the FX risk is not accounted for.

This will give us: $$ PLN_{CC0^{(i)}} = (PLN_{CC1^{(i)}} \cdot (shift_{CC0/CC1^{(i)}} + 1) + MTM_{CC1} \cdot shift_{CC0/CC1^{(i)}}) \cdot FX_{CC0/CC1} $$

with the shift defined as

$$ shift_{CC0/CC1^{(day)}} = \frac{FX_{CC0/CC1^{(day)}}}{FX_{CC0/CC1^{(day-1)}}} - 1 $$

VaR computation and risk class

If the Risk Class axis is selected, we must split the VaR between the FX risk class and the underlying risk class.

So the VaR is split like this:

$$ \begin{cases} & PNL_{CCO}^{FX}(i) = PNL_{CC1}^{Other}(i) \cdot shift_{CC0/CC1}(i) \cdot FX_{CC0/CC1} \\\ & PNL_{CCO}^{Other}(i) = PNL_{CC1}^{Other}(i) \cdot FX_{CC0/CC1} \end{cases} $$

The name of the FX risk class is given by the parameter risk.class.member.fx=FX

The FX exchange produces an effect on VaR only if the RiskFactorId column is set in the [FxRates] datastore, otherwise only the spot exchange rate conversion is applied.