The impact of cross currency basis on FX forward pricing has become more noticeable since 2008, diverging significantly from the interest rate differential, what are the fundamentals behind this mechanism?
When you look at EUR/USD Cross Currency basis historical chart, you will notice that it was very similar in magnitude before 2008 to what it is now: in other words, there has always been some cross-currency basis, it hasn't really gotten more pronounced post 2008.
Many people (even seasoned industry professionals) believe that the Cross-Currency basis has to do with "rate differentials" between two currencies. But that would only be the case if the Cross Currency Basis Swaps were unfunded (i.e. no exchange of notionals at the start and the end of the swap). These unfunded Xccy swaps don't actually exist (they don't trade at all, the product doesn't exists as such). If they did exist, we'd have the following stream of cashflows:
EUR Libor coupons on one leg (currently, EUR Libor is negative, so if you are "receiving" the EUR Libor, you are actually paying it to the counterparty)
USD Libor coupons on the other leg (these are positive: so a person who'd pay the EUR leg and receive the USD leg would receive cashflows on both legs, whilst the person paying USD and receiving EUR would end up paying both legs)
So obviously, for such hypothetical Swap, there would need to be a "basis" term added onto the EUR leg to balance out the cashflows and to make the initial MtM of the swap zero
But the XCCY Basis Swaps have exchange of notionals at the start and the end, so instead, we have the following situation:
Party A pays USD notional to Party B at the beginning, whilst receiving EUR notional at the beginning
for the duration of the Swap, Party A will receive USD Libor, whilst paying EUR Libor. Party B will receive EUR Libor, whilst paying USD Libor
At the end, party A will pay back the exact same EUR notional to party B, whilst party B will pay the exact same USD notional to Party A
The difference to the previous example is that in this funded swap, Party A has to get the USD notional from somewhere, and Party B has to get the EUR notional from somewhere. Where do they get this money? Whether Party A and Party B are banks, hedge funds, or any other entity, they will end up raising the EUR and USD in the market, and that will involve costs:
Suppose party A is a US-based bank and can raise money at Fed-Funds, whilst party B is an EU-based bank and can raise money at the EUR OIS rate. Well, USD Fed-Funds is very close to USD Libor (there is a few basis points spread) and the same goes for EUR OIS vs. EUR Libor.
So in the end, Party A has to pay USD Fed-Funds to the market for the USD Notional, which it then passes onto party B and receives USD Libor in return. Party B has to pay EUR OIS to the market for the EUR notional, which it then passes onto party A and receives EUR Libor in return.
If you assume for simplicity that the Fed-Funds is identical to USD Libor and the EUR OIS is identical to EUR Libor, you will see that the coupons cancel out (Party A receives USD Libor from Party B, but has to pay USD Libor to the market, so makes no money. Party B receives EUR Libor from party A (which is negative, so Party B has to pay EUR Libor to Party A), but Party B also has to pay EUR Libor to the market (so it receives it back from the market). So just looking at the stream of cashflows (including the cashflows being paid to the market to raise USD and EUR), nobody makes any money.
In addition, even just considering the Xccy swap cashflows in isolation, the way the maths works is that the initial MtM is zero (if you take one numeraire, for example USD money market, and convert all EUR cashflows into USD at the implied FX Forward rates whilst discounting them using USD OIS, you will get zero MtM: that also explains why the basis doesn't move even if the Libors on one leg move: this often does happen and for the swap to still be zero MtM, the implied FX Forwards as well as discount factors change: but I don't want to get too technical in this post)
So if the Xccy Basis Swaps are zero MtM and nobody makes money on the cashflows, why does anyone trade these?
How it works is that either Party A or Party B is in need of funding in a foreign currency for a fixed period of time: that is why such Xccy swap wold be initiated. Suppose Party A has access to USD but really needs EUR for 2 years: so it goes into the market and Party B says: Ok, I will take your USD and give you EUR in exchange for the duration of 2 years, but because you came to me, I will demand EUR Libor + a few bps spread. Because Party A needs that EUR, it agrees to pay that extra few BPS spread: and this spread is called the cross-currency basis.
And that's how the cross-currency basis market works: it is purely driven by supply and demand for funding. If many people want to swap USD for EUR, it will drive the basis on the EUR leg up. If many people want to swap EUR for USD instead, it will drive the basis on the EUR leg down (can be even negative).
Hope that answers your question, let me know if not,
PS: Libor cessation at the end of this year will mean that the Xccy Basis swaps will trade not against Libor, but against the RFR rates (so would be USD SOFR vs. EURIBOR, or USD SOFR vs. GBP SONIA): but that won't change the underlying dymanics, it will remain the same and the xccy basis will still be driven purely by supply and demand for funding.