I am trying to understand how to price a forward contract on the GBP/USD currency pair and then compare my answer with current future prices on GBP/USD. If my understanding is correct I believe we would use the short-term SOFR and SONIA rates, when pricing short-term forwards for say 3 months but unsure what we use for longer time horizons.

My first question is what interest rates should we be using when pricing out forwards for longer time periods say 1 year or 2 years? Would we still use SOFR and SONIA rates or would we use like 1 year/2 year Treasury and Gilt yields for the interest rates? In my example below I use a linearly interpolated rate from Treasury's and UK bonds as the interest rate, but would like to know what is the correct rate to be using.

My second question is on which formula I should be using to calculate a forward price. Online I found 3 different formulas and am having trouble figuring out which one I should be using. I am able to get the same results between formula 1 and 2 once I convert the interest rate into continuous time, however these result differ from equation 3 results.I got equation 3 directly from CME's website.

enter image description here

I then took all of this information and used it in excel to price out a forward. Here is a screenshot of what I tried in excel.It appears I got close to what the current future was trading at, but would like to make sure I am doing this correctly. i.e. using the correct assumptions, equation, and thought process etc.

enter image description here

  • 1
    $\begingroup$ Conceptually, the Forward Price is a market determined price. The formulas you present are the theory (specifically the CIP Theory) that smart people have come up to try to explain the market price in terms of interest rates and the spot price. This theory is largely successful, but some discrepancies between CIP and real life have been noted as well. So I don't expect that you will be able to match market prices exactly. The discrepancies are discussed (here and elsewhere) under the title the cross-currency basis. It seems that $S,r_q$ and $r_b$ ae not enough to fully explain prices. $\endgroup$
    – nbbo2
    Feb 18 at 8:05

1 Answer 1


You seem to be a bit confused on the multiple different definitions (formulae 1 - 3).

Let me give you a better one:

$$ 4) \qquad F_t = S_0 \frac{v_t}{w_t} $$

where $S_0$ is the immediate currency exchange rate (not spot becuase spot that is one or two days forward), $v_t$ is foreign discount factor at time $t$ and $w_t$ is the domestic discount factor at time $t$.

Hopefully this now makes it clear what formulae 1 - 3) are doing: they are using interest rates and day count conventions to produce these two discount factors, and hence their ratio.

If you use continuous compounding (which no yielding instruments do, but this is common in Black-Scholes option formulae), where $r_t$ is expressed as a continuously compounded rate, then:

$$ v_t = e^{-r_t T} $$

If $r_t$ is expressed as a simple money-market yield then:

$$ v_t = \frac{1}{1+r_t * T} $$

And the $T$'s match the day count convention of your rate.

Basically, you want to realise that the rates in each of your 3 equations are not the same, even though they have the same variable name.

Personally, I use 4), but 3) for matching with money market instruments, and 2) for working with FX Options. I never use 1).

See also the comment about FXSwaps and Cross-Currency basis. The FXForwards market has its own supply and demand dynamics so forward cannot always be implied by market interest rates and matched to the market.

  • $\begingroup$ Thank you Attack68 for your detailed response. I guess I am still confused on why the simple money-market yield discount factor is calculated like that. I'm used to seeing discount factors calculated as 1/(1+r)^T, but here we are calculating the discount factor as 1/(1+(r * T)). This clearly would produce different discount factors. Is this just the convention in FX markets? How do you know which convention to use when calculating discount factors? $\endgroup$
    – user71149
    Feb 18 at 19:25
  • 1
    $\begingroup$ 1/(1+r)^T is usually used in bond yield-to-maturity calculations. This does not reflect real economic cashflows. Money market cashflows (e.g. on swaps, repos, loans) are calculated with the 3) and therefore form the basis for actually deriving discount factors related to the time value of money principle. $\endgroup$
    – Attack68
    Feb 18 at 20:30
  • $\begingroup$ Super helpful. Do you have any book recommendations that might cover this in more detail? I believe I saw that you have also published a book would these topics be covered in it at all? $\endgroup$
    – user71149
    Feb 18 at 20:59

Not the answer you're looking for? Browse other questions tagged or ask your own question.