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.
Covered interest parity by matching currency cash flows
- One domestic unit grows to 1+r_dT domestically.
- Converted abroad it buys 1/S₀ foreign units and grows to (1+r_fT)/S₀ foreign units.
- Selling that amount forward yields F(1+r_fT)/S₀ domestically; set equal to the domestic route and solve for F.
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- Invert both units and bid/ask sides
- Triangular conversion with executable sides
- Covered interest parity by matching currency cash flows
- Unhedged carry leaves exchange-rate risk
- Storage and convenience yield in a commodity forward
- Futures profit and margin cash demands
- Rolling futures without inventing a cash profit
- Minimum-variance cross hedging and basis risk
Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations