I am currently working on the task for finding out, how to calculate XCCY basis spreads for short-end of the corresponding curve. I have a strong hypothesis, that this could be possible by using a bit modified version of standard FX-IR parity. Below are my thoughts. Assume currency pair EUR/USD
"Standard" parity formula:
(1 + R_eur * dt) = (FX_spot / FX_forward) * (1 + R_usd * dt)
where:
R_eur = EUR deposit rate for a given tenor
R_usd = USD deposit rate for a given tenor
dt = tenor length in years
"Modified" parity formula:
(1 + [R_eur + S] * dt) = (FX_spot / FX_forward) * (1 + R_usd * dt)
where S is XCCY basis spread. This spread can then be solved:
S = (((FX_spot / FX_forward) * (1 + R_usd * dt) - 1) * (1 / dt)) - R_eur
Assume the following data (ICE dataset as of 1.11.2018):
FX spot=1.1388
FX forward points for 3M=0.009713
EUR deposit rate for 3M=-0.00318
USD deposit rate for 3M=0.025815
By using that "Modified" parity formula and solving basis spread for 6M, I will get -24.622 bps, which is pretty close to Bloomberg closing mid quote of -25.048 for the same day. Also, we need to take into account, that Bloomberg spread is an actual quoted spread, while my spread is theoretical, so (AFAIK) those two should not even be the same exactly.
Any clever opinions on this? If you have tackled with the same issue, what was your solution?
Thanks in advance, Mike Juniperhill