Back to research
Systematic / Quant

FX Option Pricer — Garman-Kohlhagen

· ~2 min read fx-optionsgarman-kohlhagengreekspricing-toolvanilla

Garman-Kohlhagen is the market-standard pricing model for European vanilla FX options — the two-rate extension of Black-Scholes. For a pair quoted as BASE/QUOTE (e.g. EUR/USD = 1.085), the spot S is in quote/base units, the premium is paid in the quote currency, rd is the quote (domestic) rate and rf the base (foreign) rate. The tool below computes the premium, the forward outright and all the Greeks live.

The model

The maturity T is measured from the spot date (T+2) to the maturity date — the standard FX convention — and the model returns the premium as the present value as of the spot date.

d₁ = [ ln(S/K) + (rd − rf + σ²/2)·T ] / (σ·√T)
d₂ = d₁ − σ·√T

Call = S·e^(−rf·T)·N(d₁) − K·e^(−rd·T)·N(d₂)
Put  = K·e^(−rd·T)·N(−d₂) − S·e^(−rf·T)·N(−d₁)

Forward outright:  F = S·e^((rd − rf)·T)

N(·) is the standard normal cumulative distribution (Abramowitz-Stegun 26.2.17, error ~7.5·10⁻⁸). Put-call parity C − P = S·e^(−rf·T) − K·e^(−rd·T) holds exactly in the model.

The Greeks

Conventions

ParameterChoice
SpotT+2, Modified Following roll (weekends + TARGET/Fed holiday calendar)
Day countACT/365
RatesContinuously compounded
Premium paymentSpot date (standard) or maturity — if maturity is selected, the standard premium is carried forward by e^(rd·T)

For theoretical depth on the subject, see Cross-Currency Option Hedging and Replication: EUR/TRY as a Worked Example — why an option on a cross rate is a covariance instrument and why static replication with vanilla legs is impossible.


For educational and indicative purposes only; not investment advice.