# How to calculate FX Forward Rate to fit bloomberg

If we take the EUR/USD currency pair, how do we calculate the forward rate to match Bloomberg's FRD function?

I assume that if we use both the curve 514 - EUR OIS ESTR and 490 - USD SOFR (vs. FIXED RATE), we should be able to calculate the forward rate. However, it seems I am missing something because my calculation does not match Bloomberg's forward rate.

To calculate the 2-year FX forward rate, I used the following formula:

((1+ESTR_2YEAR)/(1+SOFR_2YEAR)^2) * FX_SPOT

Applying this formula, with the rates:

(((1+3.24267/100)/(1+4.83070/100))^2 ) * 0.9193

This calculation gives a result of 0.891659, whereas Bloomberg shows 0.892039.

What am I doing wrong?

On the right, EUR OIS ESTR and on the left, USD SOFR

FRD Function

• You cannot compute it because it's a markey quoted value on FRD. there will always be a spread to manually computing it from swap curves as shown on FXFA (there is a cross currency basis, but it's also quoted and FRF will not be the same quotes). Details on quant.stackexchange.com/a/76971/54838 Commented Jul 22 at 14:34
• @AKdemy thanks, nice to know that FXFA & FRD does not display the same. Was thinking that they both are the same. Commented Jul 22 at 15:40
• Well, FXFA uses the same forward quotes as FRD. Insofar they are the same. FXFA just let's so imply one of the 4 quoted values from the 3 other quotes. Commented Jul 22 at 15:48
• @AKdemy even using FXFA : USD Yield 4.6218 | EUR Yield 3.0874 | FX Swap 0.891936 | Spot : 0.9193 If I do (( (1+3.0874/100) / (1+ 4.6218/100) )^2)* 0.9193 = 0.892532537 Which does not match 0.891936 Commented Jul 22 at 15:52
• The market quote will match (the quoted forward). The rest is, as written above, is just to imply one of the quotes of your choice to see the spread relative to the quoted value (as shown in the link I provided). Commented Jul 22 at 17:43

I'm just going to expand on AKdemy's comment. I don't have enough cred to comment (need 50).

As he said they'll never match due to being two fundamentally different sources. But assuming we do this exercise for theoretical reasons, there are a few things also worth pointing out.

Looks like you're using 1y rates compounded twice to get a two year spread. You should generally use the actual given 2Y rate for this. Secondly, I'd highly advice you to use the Zero Coupon rates as an FX forward is just a single cash flow.

Now as mentioned, there is a XCCY basis. This is the difference between forward rates implied by interest rates (what you're attempting to calculate) and actual forward FX rates traded in the market. This is highly material.

ESTR 2Y zero: 2.589 SOFR 2y zero: 4.283

implied forward rate = ((1+2.859/100)/(1+4.283/100))^2 * 0.9193 = 0.8944

So we're still missing something. Let's add the basis.

Now I'm restricted to Eikon at the moment, and I can only pull XCCY quotes for what pretends to be a Libor vs Euribor XCCY swap. Which is quoted at 2.2 bps give or take.

So if we add the XCCY basis quote, subtract the synthetic Libor/Sofr spread of 26.2 bps, add the Euribor/Estr spread of ca. 11 bps. then I estimate an OIS/OIS EUR/USD XCCY basis spread of + 2.2 - 26.2 + 0.11 = -12.8 bps. (disclaimer: not entirely sure how valid this approach is in practice)

If we add this to ESTR rate, we get the following:

implied forward rate = ((1+2.859/100 -12.8/10000)/(1+4.283/100))^2 * 0.9193 = 0.892141

Which is not terribly different from the 0.892108 you've highlighted on screen.

Again, they'll never match, but hopefully this shows a little the moving parts involved. Also please note that the estimation of the OIS/OIS XCCY spread is really a ballpark estimate, so might just be pure luck that even resembles something remotely useful

• Thanks for adding details. Commented Jul 22 at 17:44