Markets: A Rigorous Course

11.8 Covered interest parity: derivation and arbitrage

Core about 15 min

Motivation

Every Indian importer, exporter, FPI and bank hedges currency with forwards. The forward price is not a forecast. It is pinned by arbitrage to the rate differential. This is the FX version of the cost-of-carry argument in M07.

11.8.1Frictionless parity#

Setup

SS = spot, FF = forward for delivery at TT, both in domestic currency (INR) per unit of foreign (USD). rdr_d, rfr_f are simple money-market rates for tenor TT (in years).

Proposition 11.8covered interest parity, CIP

With no transaction costs, no default risk and free borrowing and lending in both currencies,

F=S 1+rdT1+rfT.(11.17)F = S\,\frac{1+r_dT}{1+r_fT}. \tag{11.17}

With continuous compounding, F=Se(rd−rf)TF = Se^{(r_d-r_f)T}. To first order, the annualised forward premium (F/S−1)/T≈rd−rf(F/S-1)/T \approx r_d-r_f.

Proofreplication

Two strategies turn ₹1 today into a riskless rupee amount at TT.

  • (i) Lend ₹1 in INR, receiving 1+rdT1+r_dT at TT.
  • (ii) Convert ₹1 to 1/S1/S dollars, lend at rfr_f to get (1+rfT)/S(1+r_fT)/S dollars at TT, and sell these forward today at FF. That guarantees F(1+rfT)/SF(1+r_fT)/S rupees at TT.

Both are riskless and cost ₹1. If (ii) paid more, borrow rupees, do (ii) and repay (i): a riskless profit with zero investment. If (i) paid more, run the reverse. Absence of arbitrage forces equality.∎

11.8.2Arbitrage bounds with spreads#

Proposition 11.9CIP with bid–ask spreads

Let the spot be Sb/SaS^b/S^a (bid/ask), the forward Fb/FaF^b/F^a, rupee rates rdlend≤rdborr_d^{\text{lend}}\le r_d^{\text{bor}} and dollar rates rflend≤rfborr_f^{\text{lend}}\le r_f^{\text{bor}}. Define

L=Sb1+rdlendT1+rfborT,U=Sa1+rdborT1+rflendT.(11.18)L = S^b\frac{1+r_d^{\text{lend}}T}{1+r_f^{\text{bor}}T},\qquad U = S^a\frac{1+r_d^{\text{bor}}T}{1+r_f^{\text{lend}}T}. \tag{11.18}

Then: (a) Round trip A (borrow INR, buy USD spot, lend USD, sell USD forward) is profitable if and only if Fb>UF^b>U. Its profit per ₹1 borrowed is ΠA=Fb(1+rflendT)/Sa−(1+rdborT)\Pi_A = F^b(1+r_f^{\text{lend}}T)/S^a - (1+r_d^{\text{bor}}T). (b) Round trip B (borrow USD, sell spot, lend INR, buy USD forward) is profitable if and only if Fa<LF^a<L, with ΠB=(1+rdlendT)−Fa(1+rfborT)/Sb\Pi_B = (1+r_d^{\text{lend}}T) - F^a(1+r_f^{\text{bor}}T)/S^b per ₹1 raised. (c) L≤UL\le U, and A and B cannot both be profitable. The no-arbitrage region is Fa≥LF^a\ge L and Fb≤UF^b\le U.

Proof

(a) Borrowing ₹1 costs 1+rdborT1+r_d^{\text{bor}}T at TT. Buying dollars at the ask gives 1/Sa1/S^a USD, which grows to (1+rflendT)/Sa(1+r_f^{\text{lend}}T)/S^a, and selling forward at the bid yields Fb(1+rflendT)/SaF^b(1+r_f^{\text{lend}}T)/S^a rupees. Subtracting gives ΠA\Pi_A. Then ΠA>0  ⟺  Fb>Sa(1+rdborT)/(1+rflendT)=U\Pi_A>0 \iff F^b > S^a(1+r_d^{\text{bor}}T)/(1+r_f^{\text{lend}}T) = U. (b) Borrow 1/Sb1/S^b USD and sell it at the bid for ₹1. Lend at rdlendr_d^{\text{lend}}. At TT, repay (1+rfborT)/Sb(1+r_f^{\text{bor}}T)/S^b USD, bought forward at FaF^a. Then ΠB>0  ⟺  Fa<L\Pi_B>0\iff F^a<L. (c) Sb≤SaS^b\le S^a, 1+rdlendT≤1+rdborT1+r_d^{\text{lend}}T\le 1+r_d^{\text{bor}}T and 1+rfborT≥1+rflendT1+r_f^{\text{bor}}T\ge 1+r_f^{\text{lend}}T, so L≤UL\le U. Both profitable would need Fb>U≥L>FaF^b>U\ge L>F^a, contradicting Fb≤FaF^b\le F^a.∎

Worked example 11.7illustrative rates

USDINR spot is 94.47 (5 Nov 2026 [V]). Take an assumed 3-month INR money-market rate of 5.75%, between repo and MSF, and an assumed 3-month USD rate of 3.90%, near the fed funds range. With T=0.25T=0.25:

F=94.47×1.0143751.00975=94.903.F = 94.47\times\frac{1.014375}{1.00975} = 94.903.

The forward points are +43 paise, an annualised premium of 1.83%, close to the 1.85 pp rate gap. This is why exporters who sell dollars forward earn the premium and importers who buy forward pay it.

Now add spreads. Spot is 94.46/94.48. Rupee rates are 5.65% lend / 5.85% borrow, and dollar rates 3.80% / 4.00%. Then L=94.846L=94.846 and U=94.960U=94.960. Suppose a dealer shows the 3-month forward at 95.10/95.14. Then Fb=95.10>UF^b=95.10>U, and round trip A earns ΠA=0.00150\Pi_A = 0.00150 per rupee, that is ₹1.50 lakh per ₹10 crore over three months, riskless. m11_parity.cip_arbitrage reproduces these numbers.

Practitioner notes

  • CIP deviations after 2008. Since 2008 CIP has failed persistently for major currency pairs. Synthetic dollar funding through FX swaps has cost more than direct dollar borrowing; this is the negative cross-currency basis. Du, Tepper and Verdelhan (2018, J. Finance 73(3):915–957 [V]) show the deviations are large at quarter-ends and linked to bank balance-sheet costs (leverage-ratio regulation). The "arbitrage" in Proposition 11.9 needs balance sheet, and balance sheet now has a price. cip_basis_bp computes the basis.
  • India's onshore market has capital controls. Onshore forward premia track the INR–USD differential imperfectly, and an offshore non-deliverable forward (NDF) market prices the rupee from outside the controls. When onshore and NDF diverge, the RBI often acts in both.
  • The forward is not a forecast. A 1.8% premium does not mean the market "expects" the rupee to fall 1.8%. That is the next section.

Create a free account

Reading is open to everyone. An account keeps your progress, answers, notes and code drafts, and gives you the study plan, the journals and the simulator. Running code needs an account approved for it.