These are the lecture notes on foreign exchange market and theories. \(\newcommand{\E}{\text{E}} \newcommand{\P}{\text{P}} \newcommand{\Q}{\text{Q}} \newcommand{\F}{\mathcal{F}} \newcommand{\d}{\text{d}} \newcommand{\N}{\mathcal{N}} \newcommand{\eeq}{\ \!=\mathrel{\mkern-3mu}=\ \!} \newcommand{\eeeq}{\ \!=\mathrel{\mkern-3mu}=\mathrel{\mkern-3mu}=\ \!} \newcommand{\MGF}{\text{MGF}}\)

Pricing in Theory


  • \(d\) \(\equiv\) superscript for domestic currency
  • \(f\) \(\equiv\) superscript for foreign currency
  • \(t\) \(\equiv\) current time
  • \(T\) \(\equiv\) delivery time
  • \(S_t\) \(\equiv\) spot price of a foreign currency in domestic currency
  • \(N\) \(\equiv\) number of units in transaction
  • \(R\) \(\equiv\) fixed contract rate
  • \(r\) \(\equiv\) interest rate
  • \(PV\) \(\equiv\) present value
  • \(P\) \(\equiv\) PV of a zero-coupon bond
  • \(D\) \(\equiv\) currency deposit (money market account)

FX Spot Price

The spot price of a foreign currency is (LHS as units of foreign currency, RHS as of domestic currency) \(1 = S_t\). Which is equivalent to \(1/S_t = 1\). We say \(S_t\) is a price in domestic terms.

FX Spot Contract

Selling domestic currency to buy foreign currencies.

Value of a Spot Contract

Value for the buyer is (in domestic currency) \(PV=(S_t - R)N\). This is because of the two cash flows:

  • \(+N\) (foreign currency)
  • \(-N\cdot R\) (domestic currency).

Zero-Coupon Bonds

  • Domestic: \(P^d(t,T) =\exp[-(T-t)r^d(t, T)]\)
  • Domestic: \(P^f(t,T) =\exp[-(T-t)r^f(t, T)]\)

FX Forward Contract

Executing a spot contract at time \(T\) with given contract rate \(R\).

Value of a Forward Contract

Value for the buyer is (in domestic currency) \(PV=(S_t\cdot P^f - R\cdot P^d)N\). This is because of the two cash flows at time \(T\):

  • \(+N\) (foreign currency)
  • \(-N\cdot R\) (domestic currency)

which has present values at time \(t\)

  • \(+N\cdot P^f\) (foreign currency)
  • \(-N\cdot R\cdot P^d\) (domestic currency)

Forward Rate

We set \(PV=0\) for the forward contract and get \(F\equiv R=S_t\cdot P^f /\ P^d=S_t\exp[(r^d - r^f)\cdot(T-t)]\). Therefore, we also have \(F-S_t\approx S_t(r^d - r^f)\cdot(T-t)\).

Covered Interest Rate Parity (CIP)

In order to replicate a forward contract, we can execute a spot contract, borrow domestic and lend foreign. Namely, we have cash flows at time \(t\):

  • \(+1-1\equiv 0\) (foreign currency)
  • \(+S_t-S_t\equiv 0\) (domestic currency)

and at time \(T\):

  • \(+1/ P^f\) (foreign currency)
  • \(-S_t / P^d\) (domestic currency)

This yields \(S_t/P^dF=F\cdot 1 / P^f\), or \(F=S_t\cdot P^f / P^d\), which is what we call the CIP. This means higher interest rate currencies will be "weaker" on a forward basis.

Implied Yields

From the CIP we have \(P^f = P^d \cdot F/S_t\), which gives \(r^f = r^d - \log(F/S_t) / (T-t)\).

FX Swap Contract

Swapping a forward contract (\(T_1\), \(R_1\)) for another (\(T_2\), \(R_2\)).

Value of a Swap Contract

Value for the buyer is (in domestic currency) \[\begin{align*} PV&=(S_t\cdot P^{f1} - R_1\cdot P^{d1} - S_t\cdot P^{f2} + R_2\cdot P^{d2})\\ &=\left\{S_t\left[\exp(-r^{f1}(T_1-t)) - \exp(-r^{f2}(T_2-t))\right] - R_1\exp(r^{d1}(T_1-t)) + R_1\exp(r^{d1}(T_1-t))\right\}\cdot N \end{align*}\] which is rather insensitive w.r.t. the spot rate: \[ PV_S = \frac{\partial PV}{\partial S} = (P^{f1} - P^{f2})N = \left[\exp(-r^{f1}(T_1-t)) - \exp(-r^{f2}(T_2-t))\right]\cdot N\approx N r^f(T_2 -T_1) \] compared with that of a forward contract: \[ PV_S = P^f\cdot N = \exp[-r^f(T-t)]\cdot N \approx N. \]

FX Option Contract

The right (but not obligation) to exhcange \(N\) units of foreign currency for \(N\cdot K\) units of domestic currency at time \(T\). This is to say, we call the right to buy foreign currency as a foreign call, but in the meantime, also a domestic put.

Value of an Option Contract

We have the put-call parity as \(C-P=P^d(F-K)\) and the payoff of a foreign call option, \(\max(0, S_T-K)\). We assume \(\{S_t\}_{0\le t\le T}\) follows GBM \(\d S = \mu S \d t + \sigma S \d W\) which, according to Itô's lemma, gives \[ \d V = \left(\frac{1}{2}\sigma^2S^2V_{SS} + V_t\right) \d t + V_S\d S \] where \(V\) is any derivative w.r.t. \(S\) (remark: remember that all subscript \(t\) here denote derivatives w.r.t. \(t\), not time). Now, noticing the hedged portfolio \(\Pi = \{+1 \text{ unit of }V; -V_S \text{ units of } D^f\}\) has dynamics \[\begin{align*} \d\Pi &= \d V - V_S\d (S\cdot D^f) \\ &= \left(\frac{1}{2}\sigma^2S^2V_{SS} + V_t\right) \d t + V_S\d S - V_S(D^f \d S + S\cdot r^f \d t) \\ &= \left(\frac{1}{2}\sigma^2S^2V_{SS} + V_t - r^fV_S S\right) \d t \end{align*}\] where we used the fact that \(D^f(t)=1\). Now under risk-neutral measure, we know \[ \left(\frac{1}{2}\sigma^2S^2V_{SS} + V_t - r^fV_S S\right)\d t = r^d(V - V_S S)\d t \] which gives the so-called Garman-Kohlhagen PDE: \[ \frac{1}{2}\sigma^2S^2V_{SS} + (r^d - r^f)V_S S - r^d V + V_t = 0 \] with boundary conditions \(V(S_T,T)=(S_T-K)^+\) and \(V(0,T)=0\).

Pricing in Practice

FX Spot Contract: Dates

Trade date is when the terms of the transaction are agreed. Currency trading is a global, 24-hour market. The "trading day" ends at 5pm New York time. Value date is when cash flows occur, i.e., when currencies are delivered. Value date for spot transactions is "T+2" for most currency pairs. However, spot value date is "T+1" for USD versus CAD, RUB, TRY, PHP.

Trade Date (T+0) T+1 Value Date (T+2)
Trade terms are agreed Two currency payments are delivered
Good day for CCY1 and CCY2 if non-USD Good day for CCY1 and CCY2
Can be a USD holiday Cannot be a USD holiday

Currency Pairs (CCY1/CCY2)

We usually call currency pairs (CCY1/CCY2, usually "/" is omitted) as any of the following:

Base Currency Terms Currency
Fixed Currency Variable Currency
Home Currency Overseas Currency

When we say EURUSD \(= 1.1860\), we mean \(1\) EUR \(=\) \(1.1860\) USD.

Bid Offer Spreads

In the context of bid offer spreads, we denote the bid and offer prices as EURUSD \(=1.1859/1.1860\) (or \(1.1859/60\) as shorthand). These spreads may vary. The possible reasons may involve liquidity, volatility and cost of risk.

Direct and Indirect Quotes

In terms of USD, the direct quotes are CCYUSD and the indirect quotes are USDCCY.


  • LHS (left-hand side) \(=\) market-maker's bid
  • RHD (right-hand side) \(=\) market-maker's offer

Cross Rates

Spot rates calculated from an indirect market, e.g. when EURUSD \(=1.1882\) and USDJPY \(=109.14\), then we have cross rate EURJPY \(=129.68\), which does not necessarily coincides with the actual rate in the market.

Day Count for Money Market

  • For tenors of \(1\) year and under: ACT/360 or ACT/365, where ACT \(=\) actual (number of days)
  • For tenors of years (e.g. bonds): 30/360

Interest Rate used with FX Forwards

It's neither of the interest rates of the two currencies. Instead, people use the deposit rate in this case, specifically in terms of USD, it's the Eurodollar deposit rate, or LIBOR.

FX Forward Contract

Contracts with any delivery date (a.k.a. value date) other than spot are considered forward. Standard delivery dates may be in weeks or months, and otherwise called "broken". Specifically, we call the contract "cash" if its delivery date is today, and "tom" if it's tomorrow. FX forwards are OTC (over-the-counter).

Forward Point

We define: \(\text{forward point} = \text{forward rate (outright)} - \text{spot rate}\). The number is usually scaled by \(10^4\).

Covered Interest Rate Parity (CIP) with Interest Rates

We have \[ \text{forward} =\text{spot} \times \frac{1 + R_{\text{variable CCY}}\times\text{days}/ 360}{1 + R_{\text{fixed CCY}}\times\text{days}/360} \] where we use \(R\) instead of \(P\) here as it's more commonly given.

Implied Yields with Interest Rates

Using the CIP above, we have \[ R^f = \frac{(S/F)\times(1 +R_d\times\text{days}/360) - 1}{\text{days}/360} \] where we assume the rates are not compounded.

FX Swap Contract

Contracts that alter the value date on an existing trade by simultaneously executing two forward transactions.

Risks For Spot, Forward and Swap

# of legs FX Risk IR Spread Risk
Spot 1 Yes No
Forward 1 Yes Yes
Swap 2 No Yes

Swap Point

We define: \(\text{swap point} = \text{far rate} - \text{near rate}\).

To be continued.