Arte SheetsLearn. Try. Understand.

FX Derivatives & International Money Markets

Cross-Currency Basis & CIP Deviation Formula

Calculate 1-Year FX Forward Premium, FX-Swapped Synthetic USD Rate, Du-Tepper-Verdelhan Cross-Currency Basis Spread (bps), and Hedged USD Cash-Lender Arbitrage Pickup.

Measure post-2008 Covered Interest Parity (CIP) deviations in basis points accurately!

Textbook Covered Interest Parity (CIP) asserts that 1 + r_USD = (F_1 / S_0) * (1 + r_FOR) (quoting S_0 and F_1 in USD per unit of foreign currency, such as EUR/USD). Since 2008, global bank leverage-ratio constraints have sustained a non-zero Cross-Currency Basis b_ccy (Du, Tepper & Verdelhan, 2018 Journal of Finance) satisfying 1 + r_USD = (F_1 / S_0) * (1 + r_FOR + b_ccy)! Solving directly yields Cross-Currency Basis (in bps) = 10,000 * (((1 + r_USD) / (F_1 / S_0)) - (1 + r_FOR)): when b_ccy < 0 (typical EUR/JPY dollar funding scarcity), European borrowers pay MORE to synthesize USD via FX swaps ((F_1 / S_0)*(1 + r_FOR) - 1 > r_USD), while cash-rich USD Treasury investors earn an extra FX-hedged yield pickup over USD OIS!

Verify on EUR/USD Spot S_0 = $1.0800 (B2), 1-Year_Forward F_1 = $1.1016 (B3 -> Forward Premium (F_1 - S_0)/S_0 = 0.0200 = +2.00% in E2), USD_1Yr_OIS r_USD = 0.0455 (4.55%, B4), and EUR_1Yr_OIS r_EUR = 0.0300 (3.00%, B5): Synthetic Swapped USD Rate is 1.02 * 1.03 - 1 = 0.0506 (5.06% in E3); Exact Cross-Currency Basis is 10,000 * ((1.0455 / 1.02) - 1.03) = 10,000 * (1.025 - 1.030) = -50.00 bps (E4); and FX-Hedged USD Investor Pickup over USD OIS is 10,000 * (0.0506 - 0.0455) = +51.00 bps (E5)!

EUR/USD CIP Basis Metric (Spot=1.0800, 1Y Fwd=1.1016, USD OIS=4.55%, EUR OIS=3.00%)FormulaVerified Output
1-Year FX Forward Premium(F_1 - S_0) / S_00.0200 (+2.00% Forward Points)
Synthetic Swapped USD Rate(F_1 / S_0) * (1 + r_EUR) - 10.0506 (5.06% vs 4.55% Direct USD)
Cross-Currency Basis (bps)10000 * (((1+r_USD)/(F1/S0)) - (1+r_EUR))-50.00 bps (0.00 bps @ r_USD=5.06%)
Hedged USD Lender Pickup (bps)10000 * (Synthetic_USD - Direct_USD)+51.00 bps Arbitrage Spread

Exact Cross-Currency Basis Spread (bps) Formula

Validate S_0 > 0, F_1 > 0, and gross interest factors (1 + r_USD) > 0 and (1 + r_FOR) > 0 (so negative EUR/JPY policy eras r_FOR > -1 evaluate cleanly!)!

=LET(sp_0, B2, fw_1, B3, r_us, B4, r_fr, B5, IF(OR(sp_0 <= 0, fw_1 <= 0, r_us <= -1, r_fr <= -1), "Invalid FX Swap Quote", LET(fw_r, fw_1 / sp_0, ROUND(10000 * (((1 + r_us) / fw_r) - (1 + r_fr)), 2))))

Frictionless Textbook CIP Identity Check (r_USD = 5.06%)

Set USD_1Yr_OIS B4 = 0.0506: both Cross-Currency Basis (E4) and Hedged USD Pickup (E5) collapse identically to 0.00 bps!

=IF(ISTEXT(E4), E4, ROUND(10000 * (E3 - B4), 2))

Try the example

Use the original values or change them to test your understanding.

Further reading