Simply multiplying the PNL vector by the Spot does not produce the correct PNL vector in domestic currency.
→PNLCC0≠→PNLCC1⋅FXCC0/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:
PLNCC0(i)=(PLNCC1(i)⋅(shiftCC0/CC1(i)+1)+MTMCC1⋅shiftCC0/CC1(i))⋅FXCC0/CC1
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.