Skip to content
All library documents

Full Revaluation of FX Options in Monte Carlo VaR

Article Quant Q&A · Author: Tbo-lu

Summary

The document considers how to add EURUSD European options to a one-day Monte Carlo VaR framework already using correlated historical shocks for FX and commodity returns. The proposed method applies each simulated spot return, reduces time to expiry by one day, revalues the option with Garman–Kohlhagen, converts its value into euros, and calculates P&L against current mark-to-market. It also asks about holding rates and volatility constant, choosing an implied volatility, and approximating options with delta.

The response emphasizes that FX option value can depend on spot, interest-rate curves and cross-currency bases, and a volatility surface across expiry and moneyness. It recommends perturbing these inputs and notes that tail scenarios may involve simultaneous moves. The document does not supply calibrated scenarios or quantify the practical value of each risk factor. Its discussion also flags settlement currency as a possible additional exposure for non-delivery options.

Key ideas

  • Full revaluation applies each simulated spot scenario to the option pricing model.
  • Option P&L should be measured from current mark-to-market in the reporting currency.
  • FX option valuation can depend on spot, multiple interest-rate curves, bases, and the volatility surface.
  • Keeping rates or implied volatility fixed omits potential sources of scenario P&L.
  • Delta-only approximations can miss nonlinear exposure, though the document does not quantify when this matters.

Tags

Full text
# Including EURUSD vanilla options in an existing Monte Carlo VaR


# Including EURUSD vanilla options in an existing Monte Carlo VaR












I have built an Excel Monte Carlo VaR framework for a multi-asset portfolio (commodities + FX). It works well for linear instruments, and I now want to include EURUSD vanilla European options in a consistent way.

1) Current VaR engine (already working)

Horizon: 1-day VaR

Factors: daily log-returns for each underlying (EURUSD spot, other FX, commodities, etc.)

From aligned historical series I estimate volatilities and a correlation matrix.

I simulate correlated shocks via Cholesky and generate scenario log-returns.

For linear positions I compute scenario P&L (e.g. using ΔV ≈ PV0*(exp(R)-1)), sum all instruments, and take the left-tail quantile.

EURUSD spot is already one of my factors (I also have linear EURUSD exposure).

2) Goal

Add EURUSD vanilla European calls/puts to the same Monte Carlo scenarios. Reporting currency is EUR.

3) Proposed approach: full revaluation using Garman–Kohlhagen

For each scenario i:

(a) Build the scenario spot from the simulated EURUSD log-return

```
Scenario spot: Si = S0*exp(Ri)
```

(b) Reprice the option using Garman–Kohlhagen (FX Black–Scholes)

For EURUSD (USD per 1 EUR), I understand the standard mapping is:

```
domestic rate rd = rUSD (quote currency)

foreign rate rf = rEUR (base currency)
```

For a 1-day VaR horizon I would set:

```
Ti = T0 - 1/252
```

Initially I would keep rates and implied vol constant across scenarios (shock spot only):

```
Vi_USD = GK(Si, K, Ti, sigma0, rUSD, rEUR)
```

(c) Convert to EUR and compute scenario P&L

Because GK returns a price in the domestic currency (USD here), I would convert scenario-by-scenario:

```
Vi_EUR = Vi_USD / Si
```

Then:

```
PnL_i = Vi_EUR - V0_EUR
```

4) Questions

- Is this full revaluation approach (reuse my existing EURUSD scenarios + reprice with GK) the correct / recommended method for including FX options in Monte Carlo VaR?

- For 1-day VaR, is it acceptable to keep rUSD and rEUR constant (not simulated)?

- If I keep vol constant (spot-only shock), what is the best choice for sigma0? `° ATM implied vol for the relevant tenor / matching maturity? ° realized spot vol (consistent with my return simulation)? ° strike/smile-adjusted implied vol? `

```
° ATM implied vol for the relevant tenor / matching maturity?

° realized spot vol (consistent with my return simulation)?

° strike/smile-adjusted implied vol?
```

- How important is it in practice to simulate implied vol as an additional correlated risk factor (spot/vol correlation)?

- Could I simplify implementation by using delta only, either: `° per option or ° aggregating option deltas into an “effective EURUSD spot position” and treating it as linear? `

```
° per option or

° aggregating option deltas into an “effective EURUSD spot position” and treating it as linear?
```

When does this become materially wrong (gamma, short-dated options, large moves)?

MTM clarification (loss “> premium”): VaR is computed on current mark-to-market, not on inception premium. If a call was bought for 10k but is currently marked at 100k, a move down to 50k implies a 1-day PnL = -50k (giving back unrealized gains). In a full revaluation framework, is the 1-day loss for a long option naturally bounded by -V0 (current option value, since option value cannot go below zero), rather than by the inception premium?

Sorry if some parts are unclear.

Thanks in advance.

## Answer by Dimitri Vulis (score 1)

https://quant.stackexchange.com/a/85423

It sounds like you're getting to the point where Excel doesn't scale well. Therefore you may want to migrate your VaR calculation in something that scales better, such as Python.

If you build a proper P&L explain for your book, you will have a better feel for what drives your P&L, and won't ever ask whether interest rates and implied volatility (IV) cause P&L.

As a side note, for a non-delivery option, 3 currencies are involves (but in practice two usually coincide, so you have two left). For example, USD/PLN option settled in EUR is possible, but unusual. You can assume just two currencies, but it will be more painful to add a 3rd currency later if you ever need it.

The PV of an FX option depends on many market factor inputs:

- the spot rate of course

- the interest rates and cross-currency bases of all currencies involved, with term structure.

- the FX IV surface with at least 2 dimensions - time to expiration and the moneyness

(more inputs, like risk reversal, may be needed for more complicated contracts.)

In your MC, you should perturb all the inputs, and you shouldn't assume that interest rate curves or IV surfaces only move in parallel.

If you look at the risk scenarios in the tail if your distribution, you will probably see that they mostly perturb all of: spot exchange rates, interest rates, and IV.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.