Skip to content
All library documents

Choosing Interest Rate Curves for FX Option Pricing

Article Quant Q&A · Author: user66491

Summary

The document explains rate inputs for pricing a one-year EUR/GBP option and distinguishes OTC options on spot FX from listed options on FX futures. For spot FX, it describes the Garman–Kohlhagen form of Black–Scholes, in which domestic and foreign rates both matter. The answer recommends using market swap or overnight-indexed curves rather than government bond yields, and says that a 12-month LIBOR tenor is not generally the relevant input. FX forward quotes and the two currencies’ rates are linked, so the less liquid currency rate may be inferred from forwards; for EUR/GBP, the reply identifies GBP as the rate commonly implied.

The discussion stresses that conventions such as implied volatility quotes, delta conventions, cut-off times, and expiry versus delivery dates can materially affect pricing. Listed futures options instead use a futures-option framework such as Black 76, without the same pair of spot-FX rates. A second reply suggests yield curves as inputs but does not address all the market conventions raised in the detailed answer.

Key ideas

  • Garman–Kohlhagen pricing for spot FX options uses rates for both currencies.
  • Market swap or overnight-indexed curves are described as more appropriate inputs than government bond curves.
  • FX forward quotes connect spot prices and the two currency rates, allowing the less liquid rate to be implied.
  • Listed options on FX futures use a different framework, such as Black 76.
  • Volatility quotes, delta conventions, cut-off times, and separate expiry and delivery dates affect practical pricing.

Tags

Full text
# Risk free rate for currency option


# Risk free rate for currency option












I’m trying to price a call option on EUR/GBP exchange rate and it expires in 1 year. Should I use GBP Libor as foreign risk free rate in order to apply BS formula? The pricing date is 02/21/2023 but in this date there is no 12m GBP Libor https://www.global-rates.com/it/tassi-di-interesse/libor/sterlina-inglese/sterlina-inglese.aspx

## Answer by AKdemy (score 3)

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

I assume you meant spot FX options. However, I'm going to comment on another answer and associated comments before trying to answer your question.

Using government bond curves is not recommended. See for example Decomposing Swap Spreads by Feldhütter et al. All derivative pricers in Bloomberg for example do not even allow you to select such curves.

Options on spot FX are OTC (over the counter) traded and not listed (few, very illiquid exceptions). Insofar you cannot look up details on the specific exchange. While there are a lot of details and conventions needed to get this right, there is nothing `surprising about reproducing industry practices with BS model, by just using the "correct" curves`. In fact, that is exactly how Spot FX options are priced all the time.

However, listed FX options are options on listed futures. They are price (premium) quoted (CME used to have vol quoted FX options, but they were discontinued last September). Theoretically, options on Futures are priced with Black 76, and there is no need for a second interest rate in this case. The proposed Garman Kohlhagen model cannot be used here. The SABR model is not used in pricing CME FX Futures options. It is merely used in a tool that backs out OTC equivalent implied vols. In a nutshell, it adjusts the futures option strike price by the FX forward swap differential and uses SABR to compute (calibrate) a vol surface. How SABR works is shown in the GIF below, which is taken from this answer.

Now, none of this applies to spot fx options. OTC traded FX options are quoted in IVOL. ATM DNS (Delta Neutral Straddles), Risk Reversals and Butterflies for various deltas. The GIF below shows how this builds a vol surfaces. As you can see, the outcome /shape is similar to SABR. After all, the idea of the CME FX options vol converter is to provide price transparency between the OTC and CME options markets.

These quotes have a cut-off time (frequently New York 10am) when the option expires. EURGBP is by convention also delta premium included. This is explained in this mathfinance paper by Uwe Wystup and Dmitri Reiswich. This answer shows in Julia code what delta premium adjusted means. Solving for strike is not that trivial in this case and requires a root solver.

Once you dealt with all the complexities of getting the correct implied vol, which is a lot more important for pricing an option, you can think of interest rates. Generally, the RFR (for risk free rate) swap rates (SOFR for USD, ESTR for EUR, SONIA for GBP for example) are used, and you have a choice for other swap curves like Euribor and Libor (legacy reasons) as well as other OIS swaps like the Fed funds swaps. CME and LCH moved to SOFR PAI and discounting on Oct. 16 2020 on new AND legacy swaps. For EUR cleared, major CCPs did this since July 27 2020. The market also switched to discounting with the relevant RFR rates on these dates. Even if you use Libor rates, you would not use a 12m tenor. Some food for thought can be found in this answer.

With FX, you also face a "consistency problem", because Spot, and two interest rates determine the FX forward quote (uncovered interest rate parity). Therefore, it is common practice to imply the least liquid interest rate (FX Forward quotes are very liquid in the short to medium term and already include any cross currency basis adjustment). This implied rate would be GBP in your case. An example showing how you imply a rate can be found here.

Now, you can compute the market value of the option. This answer replicates Bloomberg with Julia code. It is just Black Scholes (Garman Kohlhagen) but not straightforward if you have never done it before, because you need to know what direction a call is (on EUR for EURGBP), what notional currency is (EUR for EURGBP) and what premium currency is (GBP for EURGBP). All else requires adjustments as shown here. Ideally you also account for two different time gaps as done in OVML: a) time to expiry = Expiry Date - Price Date b) time to delivery = Delivery Date - Premium Date

## Answer by kwinto (score -3)

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

As suggested by Wikipedia, the most common model to price European options on FX is Garman-Kohlhagen: $$ C(S,T) = S_0 \, e^{-r_f \, T}\mathcal{N}(d_1) - K \, e^{-r_d\ T}\mathcal{N}(d_2) $$

To find $r_f$ and $r_d$ you need EUR and GBP yield curves for spot or forward rate (both are just different representation of the same data).

EUR curve is published by European Central Bank, see Euro Area Yield Curves. What you need is spot rate, use Svensson parametrization also provided there to get exact rate for a given $T$.

GBP curve is published by Bank of England, see Yield Curves for the UK. Not sure if they provide some continuous-time parametrization, like for EUR, but you might choose to use some interpolation.

On both portals you will find plenty information on the calibration methodology, traded instruments used, etc.

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.