# How to Bloomberg compute the implied Yield ? What is FX swap basis spread?

Question 1: You can see Bloomberg EUR/USD FXFA<go> page attached below

EUR 3 months yield=3.9412

US 3 months yield= 5.6683

Spot Rate: 1.0580

How does it find FX swap rate as 1.062732?

Question 2:

The last column in this picture is "spread", is this FX swap basis spread ?

Question 3:

The following paper calculates FX swap basis spread as the following formulea, is this true ? https://www.newyorkfed.org/medialibrary/media/research/epr/2022/epr_2022_fima-repo_choi.pdf

• (1) What Bloomberg page is this (4 letter code)? (2) Where does it say "basis spread" on this screen, I think it is a different "spread"? Oct 11, 2023 at 11:01
• Hello, I dont know 4 letter code, this is only the capture from system. I try to understand that this column (spread) is same as FX swap basis spread or basis spread ? Oct 11, 2023 at 11:29
• It's FXFA<GO> and you can find the methodology under HELP FXFA<GO> under the Calculations section. Oct 11, 2023 at 11:54
• I dont have terminal Oct 11, 2023 at 12:00

1 ) The value 1.062732 is the Forward outright as quoted on FRD. Your pricing source is BGN (Bloomberg Generic New York). That means historically, the value refers to 5PM New York time. The quote itself is derived from all available indicative quotes. You can see the quotes you have access to on ALLQ, given you load the forward ticker. Some details about the calculation behind it can be found on XDF.

Technically, the quote for EURUSD is in points but you have show outrights ticked and FRD should show both, points and outrights anyways. Note that FRD and FXFA both have separate settings for this, and your view may differ and not display everything.

2 ) It is simply the spread (difference) between the actual yield and the one implied from covered interest rate parity. Therefore, it is the FX basis swap spread, as defined by the authors:

One standard metric that reflects the gap in the cost of funds is the FX swap basis spread (sometimes referred to as the basis), constructed by comparing the implied cost of U.S. dollar funding from an FX swap transaction of a specific tenor to a direct U.S. dollar interest rate.

3 ) The formula in the paper has a typo. As mentioned in the answer by @bartosz.leszynski before, it really is just standard covered interest rate parity solved for yield. $${{S_{t}}}\frac {(1+i_{\ }*\frac{k}{360})}{(1+i_{\ €}*\frac{k}{360})} = F_{t+k}$$, hence $$i_{\ _{implied}} = \left(\frac {F_{t+k}*(1+i_{\ €}*\frac{k}{360})}{S_t} -1 \right)/\frac{k}{360}$$ which is just the formula in the paper (after fixing the bracket), rearranging a bit $$i_{\ _{implied}} = \frac{360}{k} \left(\left(\frac{F_{t+k}}{S_t} \right) * \left(1+i{_\ €}*\frac{k}{360} \right) -1 \right)$$ , and subtracting the yield to get the $$Basis \ Spread = \left[\frac{360}{k} \left(\left(\frac{F_{t+k}}{S_t} \right) \left(1+i{_\ €}*\frac{k}{360} \right) -1 \right) \right] - i_{\ }.$$

Moreover, it is not 90 days, but 92 days (daycount is Act/360, taking into account a T+2 settlement lag for Spot). A quick demo in Julia looks like this.

using Dates
# define dates
start_dt = Dates.Date(2023,10,10)
settle_dt = start_dt + Dates.Day(2) # Spot settles T+2 (in this case)
end_dt = Dates.Date(2024,1,12)
days = end_dt - settle_dt
# define input data
spot_bid = 1.058
fwd_bid = 1.062732
#fwd_pts_bid = (fwd_bid - spot_bid)*10000
usd_yld_bid =  0.056683
eur_yld_bid = 0.039412
# compute implied yield
println("Days to expiry = $$(days.value)") paper = 360/days.value*((fwd_bid/spot_bid)*(1+eur_yld_bid*days.value/360))-1 println("Wrong Formula Implied USD Yield=$$(paper)")
cip_solved = 360/days.value*((fwd_bid/spot_bid)*(1+eur_yld_bid*days.value/360)-1)
println("Correct Formula Implied USD Yield= $$(cip_solved)") println("USD Implied Yield Pct =$$(round(cip_solved*100, digits = 4))")
println("Spread Bid = \$(round((cip_solved - usd_yld_bid)*100, digits = 4))")


To sum up, the implied cost is the computed interest rate you get from covered interest rate parity, and the direct USD interest rate is the quoted rate. That said, you need to click on the Yield columns in FXFA to see what you actually have selected. This will depend on your (default) settings and need not be OIS (also OIS can be Fed Funds as well as SOFR).

TL;DR One final comment, I omitted bid and ask above, but the relationship is not as simply as solving the formula. Bloomberg shows the formulas they use on the help page:

The reason these formulas are not consistent is that in real life, spot and forward transactions are negotiated as a swap, and you usually do not need to pay the full spread on both legs. Therefore, it is common practice to reverse the spread on one rate which gives the relationship shown on the help page (our example refers to $$N_b$$).

This is also consistent with FRD, where two rules are mentioned:

1. {LPHP FRD:0:1 2898067 }:

ON ("Overnight"), TN ("Tomorrow-Next"), and SN ("Spot-Next") are not tenors; they are swaps. Each are associated with two separate settlement dates, one for each leg:
• ON is the swap between TOD and TOM.
• TN is the swap between TOM and the following business day (which is spot in a T+2 currency).

1. {LPHP FRD:0:1 612124 }:

Certain rules apply when calculating two-day settlements for Overnight (ON) and Tomorrow Night (TN) outrights.
Two-Day Settlement Outright Calculations
• ON bid outright: spot bid - TN ask points - ON ask points
• ON ask outright: spot ask - TN bid points - ON bid points
• TN bid outright: spot bid - TN ask points

• Thank you for your kindly response. I would like to ask short 2 questions. If the Implied yield is greater than the direct USD interest rate (spread is positive) , what does it mean? 1- This means that positive FX swap basis spread reflects a premium to borrow U.S. dollars in the FX swap market, meaning that borrowers pay a higher cost for obtaining funds than the relevant U.S. dollar unsecured rates. 2- Positive yield signs the appreciation of the US currency (against Euro)? Sincerely Oct 12, 2023 at 10:01
• As the NY Fed authors state (slightly edited) "The formula [is] based on (1) the cost of borrowing euros in unsecured markets and converting them to US dollars via the FX swap market, minus (2) the rate paid to borrow US dollars directly in the unsecured market" So if the number is big it means (1) minus (2) is big. The FX swap way of getting US dollars (1) is expensive compared to (2). BTW it is believed that European banks use method (1) to get USD financing. Conclusion: it is the first thing you said. Oct 12, 2023 at 11:25
• @AKdemy also Are the calculations made on following web page (cmegroup.com/articles/2023/cross-currency-basis-watch.html ) different from the calculations made on this page? Sincerely Oct 12, 2023 at 13:36
• It's quite well explained and computed in much detail on the CME website I'd say? It's not implying the interest rate but forwards (something FXFA can do as well). It's also using very different market data: instead of swap curves, spot and OTC forwards it uses CME futures) and the examples compute forward forwards. Something FXFA could do at the very bottom. Overall the idea is the same, and you could set FXFA to use IMM dates and forward forwards. What is your objective though? Seems it's quite unclear to you what you actually look at? Oct 12, 2023 at 17:28
• @akdemy I try to understand what is exactly the dollar funding stress metric. For example, this following web site (bondvigilantes.com/blog/2017/12/…) indicates the cross currency basis as a premium. Is this same thing? the cross currency basis is fw swap basis spread? Oct 13, 2023 at 13:25
1. In my opinion the first column is the market EURUSD FX forward BID rate. So they find the market price 1.062732.

2. It looks like it is a spread between Implied USD Yield and market USD Yield.

3. In my opinion the price formula is:

EURUSD_spot_bid * (1 + USD_yield_bid * 90/360) / (1 + EUR_yield_ask * 90/360) = EURUSD_3Mforward_bid

so the Implied USD Yield formula is:

implied_USD_yield_bid = 360/90 * EURUSD_3Mforward_bid / EURUSD_spot_bid * (1 + EUR_yield_ask * 90/360) - 360/90

so the spread between Implied USD Yield and market USD Yield is:

spread = 360/90 * EURUSD_3Mforward_bid / EURUSD_spot_bid * (1 + EUR_yield_ask * 90/360) - 360/90 - USD_yield_bid

However, my Implied USD Yield formula returns dfferent outcome 0,057548 than what is in the screenshot 0,05709

implied_USD_yield_bid = 360/90 * 1,062732 / 1,058 * (1 + 0,039481 * 90/360) - 360/90 = 0,057548

• My question is how to find exactly "1.062732"? Oct 11, 2023 at 13:54