Trading Dev AcademyFree quant education

Free lesson · FX and commodities

Covered interest parity by matching currency cash flows

Open interactive lessonPractice calculationsExplore labs

Start with the idea

Hedging the exchange rate should make two matched deposit routes comparable under ideal financing conditions.

Symbols, units & horizon
  • S₀,F: domestic currency per foreign unit, spot and maturity forward
  • r_d,r_f: domestic/foreign annual simple interest fractions for the same tenor
  • T: years on a stated day-count convention
  • equal funding/lending access and matching settlement assumed

When and why to use this

Check forward quotes and separate hedged funding economics from unhedged currency views.

Hedging the exchange rate should make two matched deposit routes comparable under ideal financing conditions.

Compare keeping domestic cash on deposit with converting to foreign currency, earning foreign interest and selling the maturity foreign amount forward. The forward rate that equalizes their domestic payoff is the simple-interest parity benchmark.

Real borrowing and lending rates differ by currency, borrower and tenor. Collateral, balance-sheet costs, credit and cross-currency basis can prevent a textbook discrepancy from being captured. A forward premium is not a standalone currency forecast.

F=S01+rdT1+rfT
Matched cash-flow algebra under frictionless financing assumptions

Covered interest parity by matching currency cash flows

  1. One domestic unit grows to 1+r_dT domestically.
  2. Converted abroad it buys 1/S₀ foreign units and grows to (1+r_fT)/S₀ foreign units.
  3. Selling that amount forward yields F(1+r_fT)/S₀ domestically; set equal to the domestic route and solve for F.
Work it by hand

S₀=1.10 USD/EUR, r_d=.05, r_f=.03, T=1 give F=1.10×1.05/1.03≈1.121359 USD/EUR.

Apply it in a strategy

  • Freeze inputs at the stated decision time and record their units.
  • Check forward quotes and separate hedged funding economics from unhedged currency views.
  • Recompute the example, then change the material assumption and explain the difference.

Research deliverable

Covered interest parity by matching currency cash flows: produce the worked calculation, a timestamped input record and a written decision addressing this limitation: Unequal funding, collateral, credit and settlement conventions break the simple frictionless comparison.

These are synthetic mechanics examples, not historical performance or paper replications. Module evidence and research boundaries record the 12 September 2026 review.

Python implementation

Self-contained teaching example. Python 3.10+; dependencies and input conventions are shown in the code and notation. Run in your own Python environment.

# Python 3.10+; standard library and NumPy only.
# Synthetic teaching inputs; conventions and units are defined in the notation above.
def covered_forward(spot,domestic_rate,foreign_rate,years):
    if spot<=0 or years<0 or min(1+domestic_rate*years,1+foreign_rate*years)<=0: raise ValueError('Invalid positive accrual factors')
    return spot*(1+domestic_rate*years)/(1+foreign_rate*years)

assert abs(covered_forward(1.1,.05,.03,1)-1.121359223301)<1e-9
print(covered_forward(1.1,.05,.03,1))

Continue learning

FX & Commodities: Quotes, Carry, Curves & Hedges — all lessons
  1. Invert both units and bid/ask sides
  2. Triangular conversion with executable sides
  3. Covered interest parity by matching currency cash flows
  4. Unhedged carry leaves exchange-rate risk
  5. Storage and convenience yield in a commodity forward
  6. Futures profit and margin cash demands
  7. Rolling futures without inventing a cash profit
  8. Minimum-variance cross hedging and basis risk

Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations