CFA Level 1 · Module 03 Economics · Chapter 8

Exchange Rate Calculations

MidhaFin22 min readUpdated August 2026

Reading tools

Learning Objectives

  1. Calculate and interpret currency cross-rates.
  2. Explain the arbitrage relationship between spot and forward exchange rates and interest rates, calculate a forward rate using points or in percentage terms, and interpret a forward discount or premium.

This reading is the calculation workshop of the economics material. It takes the exchange-rate concepts from the previous reading and turns them into arithmetic you can be tested on directly: building a cross-rate for two currencies that are not quoted against each other, spotting the rare arbitrage when quotes disagree, and pricing a forward rate from spot rates and interest rates. There is very little to memorize and a great deal to practice, because the same few relationships appear again and again.

Two skills carry the whole reading. First, cancel a common currency to build a cross-rate, multiplying or inverting quotes as needed. Second, use the no-arbitrage link between spot rates, forward rates, and interest rates to price a forward and to say whether a currency trades at a premium or a discount. Every currency, rate, and number in this lesson is invented by MidhaFin to illustrate the ideas; none is taken from the source curriculum or any prep provider. The A/B notation means the number of units of price currency A per one unit of base currency B.

Key Takeaways

  • A cross-rate is an exchange rate between two currencies not quoted directly, built by arranging their quotes against a common currency so the shared code cancels (multiply if it is on opposite levels, invert one quote first if it is on the same level).
  • Triangular arbitrage earns a riskless profit when a quoted cross-rate disagrees with the rate implied by the underlying quotes; such gaps are tiny and vanish quickly.
  • Forward rates are quoted as forward points (the scaled difference from spot): positive points mean the base currency is at a forward premium, negative points a discount.
  • Convert points with the correct scale, 10,000 for four-decimal pairs and 100 for yen-style pairs, and move freely between points, the full forward rate, and a percentage of spot.
  • Covered interest parity prices the forward: F(f/d) = S(f/d) times (1 + foreign rate) / (1 + domestic rate), ruling out riskless arbitrage.
  • The currency with the higher interest rate trades at a forward discount and the lower-rate currency at a premium; forward points grow with the interest differential and the maturity.

What a Cross-Rate Is and Why We Need One

Not every pair of currencies is quoted directly against each other. The market quotes the most active pairs, and to price the rest it derives them. A cross-rate is an exchange rate between two currencies that are not directly quoted, calculated from their quotes against a common third currency. If you know how each of two currencies trades against a shared currency, you can back out how they trade against each other.

The whole technique rests on treating exchange rates like fractions whose units cancel. Written as A/B, an exchange rate is units of the price currency A per one unit of the base currency B, so the codes behave like a numerator over a denominator. To build a cross-rate, you arrange two quotes so that the common currency cancels, leaving the pair you want. Sometimes the two quotes line up for a straight multiplication; sometimes you must first invert one of them so the common currency sits where it can cancel.

Key Insight

Treat currency codes like units in a fraction. In A/B the price currency is on top and the base currency on the bottom, and a cross-rate is just the product of two quotes arranged so the shared currency cancels. If the shared currency is already on opposite levels (one on top, one on the bottom), multiply directly; if it is on the same level in both quotes, invert one quote first. Get the cancellation right and the arithmetic takes care of itself.

Calculating a Cross-Rate: Multiply or Invert

Take a common currency, the Meridian dollar (MRD), and two currencies quoted against it, the Solira (SLR) and the Kestrel (KSR). Suppose the market gives VLT/MRD and MRD/KSR, where the Veltar (VLT) is another currency. Because MRD appears as the base in the first quote and the price currency in the second, the two MRD codes cancel on multiplication, leaving the cross-rate directly.

A/C = (A/B) × (B/C)

The shared currency B is the base of the first quote and the price currency of the second, so it cancels, leaving the cross-rate A/C (units of A per one unit of C). If instead the shared currency sits on the same level in both quotes, invert one quote first, for example (B/A)−1 = A/B, so that the shared code can cancel.

Exhibit 1. Building a Cross-Rate: Multiply or Invert
Where the shared currency sitsWhat to doResult
Base in one quote, price in the otherMultiply the two quotes directlyShared currency cancels; cross-rate remains
Same level in both quotesInvert one quote, then multiplyShared currency now cancels
Worked Example 1

Setup. A dealer quotes VLT/MRD = 1.3000 (Veltar per Meridian dollar) and MRD/KSR = 0.7000 (Meridian dollars per Kestrel). Find the VLT/KSR cross-rate (Veltar per Kestrel).

  1. Line up the common currency. MRD is the base of the first quote and the price currency of the second, so multiplying cancels it: VLT/KSR = (VLT/MRD) × (MRD/KSR).
  2. Multiply. 1.3000 × 0.7000 = 0.9100.
  3. Interpret. One Kestrel is worth 0.9100 Veltar.

Answer: VLT/KSR = 0.9100, so one Kestrel buys 0.91 Veltar. Because the shared currency was already on opposite levels, a straight multiplication delivered the cross-rate with no inversion needed.

Worked Example 2

Setup. Now the dealer quotes both currencies with the Meridian dollar as the price currency: MRD/SLR = 1.2500 (Meridian dollars per Solira) and MRD/KSR = 0.8000 (Meridian dollars per Kestrel). Find the SLR/KSR cross-rate (Solira per Kestrel).

  1. Spot the problem. MRD is the price currency in both quotes (the same level), so it will not cancel by direct multiplication.
  2. Invert one quote. Flip MRD/SLR to SLR/MRD = 1 / 1.2500 = 0.8000 (Solira per Meridian dollar).
  3. Multiply to cancel. SLR/KSR = (SLR/MRD) × (MRD/KSR) = 0.8000 × 0.8000 = 0.6400.

Answer: SLR/KSR = 0.6400, so one Kestrel buys 0.64 Solira. The key move was inverting one quote so the shared Meridian dollar sat on opposite levels and could cancel.

Triangular Arbitrage: When Cross-Rates Disagree

A dealer may quote a cross-rate directly, and it must match the rate implied by the two underlying quotes. If it does not, a riskless profit is available through triangular arbitrage, so called because it involves three currencies. You buy the currency where it is cheap and sell it where it is dear, going around the triangle, and pocket the difference with no market risk. In practice these gaps are tiny and fleeting, because human and algorithmic traders watch constantly, but the exam still asks you to compute the profit.

The mechanics are worth seeing clearly, because the profit comes from a round trip that ends in the currency you started with. Starting from one currency, you convert into the second, then into the third, then back into the first, choosing the direction so that the mispriced leg works in your favor. If the loop returns more than you put in, that surplus is the arbitrage profit, and it is riskless because every rate is locked in at the moment you trade. The size of the profit is simply the gap between the mispriced quote and the correct cross-rate, multiplied by the amount transacted, which is exactly what the worked example computes.

Worked Example 3

Setup. From the underlying quotes, the correct SLR/KSR cross-rate is 0.6400 (from Worked Example 2). A second dealer, however, quotes SLR/KSR at 0.6440. Show the arbitrage and compute the profit on one million Kestrel traded.

  1. Compare the prices. The Kestrel is worth 0.6400 Solira via the underlying quotes but 0.6440 Solira at the second dealer, so the second dealer values the Kestrel too highly.
  2. Trade around the triangle. Buy Kestrel cheaply at the implied 0.6400 (through the two underlying legs) and sell them to the second dealer at 0.6440.
  3. Compute the gain. The profit is 0.6440 − 0.6400 = 0.0040 Solira per Kestrel, so on 1,000,000 Kestrel the profit is 1,000,000 × 0.0040 = 4,000 Solira.

Answer: the riskless profit is 4,000 Solira per million Kestrel. Arbitrage forces the mispriced quote back to 0.6400, which is why cross-rates in practice stay consistent with their underlying quotes.

Forward Rates, Points, and the Premium or Discount

A forward rate is an exchange rate agreed today for settlement at a future date. It is not a forecast; it comes out of an arbitrage relationship, which the next section derives. In the market, forwards are usually quoted not as a full rate but as forward points (also called swap points): the difference between the forward rate and the spot rate, scaled to the last decimal place of the spot quote.

The sign of the points tells a simple story about the base currency. When the forward rate is higher than the spot rate, the points are positive and the base currency is said to trade at a forward premium. When the forward rate is lower than the spot rate, the points are negative and the base currency trades at a forward discount. Because an exchange rate has two sides, whenever the base currency is at a premium, the price currency is at a discount, and vice versa.

Forward rate = Spot rate + (Forward points / Scale)

Scale = 10,000 for currencies quoted to four decimal places, and 100 for yen-style pairs quoted to two decimal places. Positive points give a forward above spot (base currency at a premium); negative points give a forward below spot (base currency at a discount). To go the other way, forward points = (Forward rate − Spot rate) × Scale.

Worked Example 4

Setup. The spot rate is VLT/MRD = 1.3000 (Veltar per Meridian dollar), quoted to four decimal places, and the three-month forward points are +65.0. Find the three-month forward rate, express the premium as a percentage, and say which currency is at a premium.

  1. Convert the points. Forward = 1.3000 + 65.0 / 10,000 = 1.3000 + 0.0065 = 1.3065.
  2. Express as a percentage. (1.3065 / 1.3000) − 1 = 0.5%, a forward premium of 0.5 percent.
  3. Read the sign. The points are positive and the forward is above spot, so the base currency (the Meridian dollar) is at a forward premium.

Answer: the forward rate is 1.3065, a premium of 0.5 percent, and the Meridian dollar (the base currency) trades at a forward premium, which means the Veltar (the price currency) trades at a forward discount.

Converting Between Points, Rates, and Percentages

Three representations of the same forward appear on the exam, and you should move between them fluently. The forward rate itself is the full number. The forward points are the scaled difference from spot. And the forward as a percentage of spot is the premium or discount expressed as a rate. To turn a percentage into a rate, multiply spot by one plus the percentage; to turn a rate into points, subtract spot and scale up.

Forward rate = Spot rate × (1 + Forward premium or discount %)

A positive percentage is a premium on the base currency (forward above spot); a negative percentage is a discount (forward below spot). This is the same forward rate you would get by adding scaled points, just built from the percentage form instead.

Exhibit 2. Three Ways to Express the Same Forward
RepresentationWhat it isConvert to the forward rate by
Forward rateThe full agreed future rateAlready the rate
Forward pointsScaled difference from spotSpot + points / scale
Forward percentagePremium or discount as a rateSpot × (1 + percentage)

Reading the interpretation off any of the three forms is the same skill. A positive number in any representation, points, percentage, or a forward above spot, says the base currency is at a premium; a negative number says a discount. Being able to start from whichever form a question gives you and reach the other two is what the calculation-style items reward, so it is worth practicing the round trip until it is automatic.

Common Mistake

Do not forget the scale, and do not use the wrong one. Forward points are scaled to the last decimal place of the spot quote: divide by 10,000 for a four-decimal pair and by 100 for a two-decimal yen-style pair. Dividing yen points by 10,000, or four-decimal points by 100, is a common and costly slip. Always match the scale to the number of decimal places in the spot rate.

The Arbitrage Relationship: Covered Interest Parity

Where does the forward rate come from? From the requirement that two equivalent, risk-free investments earn the same return. Imagine an investor with one unit of domestic currency for one period. Option one: invest at the domestic risk-free rate and end with (1 + rd). Option two: convert to foreign currency at the spot rate, invest at the foreign risk-free rate, and convert back at a forward rate locked in today, which removes all currency risk. Both are risk-free, so they must return the same amount, and setting them equal pins down the forward rate. This is covered interest parity.

F(f/d) = S(f/d) × (1 + rf) / (1 + rd)

F(f/d) and S(f/d) = forward and spot rates quoted as foreign currency per one unit of domestic currency (so the domestic currency is the base); rd = domestic risk-free rate; rf = foreign risk-free rate. If the two sides do not hold, a riskless arbitrage exists: borrow in the lower-return leg, invest in the higher-return leg, and the gap is pure profit. This is why the all-in cost of hedged foreign financing stays close to the domestic rate.

Worked Example 5

Setup. The spot rate is S(f/d) = 1.3000 (foreign currency per one unit of domestic currency, so the domestic currency is the base). The 12-month domestic risk-free rate is 2.0 percent and the 12-month foreign risk-free rate is 5.0 percent. Find the one-year forward rate and say which currency trades at a premium.

  1. Apply covered interest parity. F = 1.3000 × (1 + 0.05) / (1 + 0.02) = 1.3000 × (1.05 / 1.02).
  2. Compute the ratio. 1.05 / 1.02 = 1.02941, so F = 1.3000 × 1.02941 = 1.3382.
  3. Read the premium. The forward (1.3382) is above spot (1.3000), so the base currency (domestic) is at a forward premium.

Answer: the one-year forward rate is 1.3382, and the domestic currency (the base) trades at a forward premium. That fits the rule: the domestic rate (2 percent) is lower than the foreign rate (5 percent), and the lower-yielding currency trades at a premium.

Which Currency Trades at a Premium

The single most testable idea in the reading is which way the forward points go. Rearranging covered interest parity shows that the forward-to-spot ratio equals the ratio of one plus the foreign rate to one plus the domestic rate. The consequence is a clean rule that holds regardless of the quoting convention: the currency with the higher interest rate trades at a forward discount, and the currency with the lower interest rate trades at a forward premium. Equivalently, the base currency trades at a premium exactly when its interest rate is below the price currency’s.

Exhibit 1. Interest Rates and the Forward Premium or Discount
If the base currency’s interest rate isForward pointsThe base currency trades at a
Lower than the price currency’sPositive (forward above spot)Forward premium
Higher than the price currency’sNegative (forward below spot)Forward discount
Equal to the price currency’sZeroNeither (forward equals spot)
Key Insight

Higher interest rate, forward discount. That four-word rule answers most forward-premium questions without any arithmetic. The intuition is no-arbitrage: a currency offering a higher interest rate must be expected to lose value forward, or investors would pile into it risk-free. So if a scenario says the base currency yields more than the price currency, its forward points are negative and it trades at a discount, before you compute a single number.

Common Mistake

Do not assume the higher-yielding currency is the stronger one in the forward market. Intuition says a higher interest rate should attract demand and strengthen a currency, but covered interest parity says the opposite for forwards: the higher-yielding currency trades at a forward discount, not a premium. The forward simply offsets the interest advantage so that no riskless profit remains.

Forward Points, Maturity, and the Interest Differential

Two things scale the size of the forward points: the interest rate differential and the time to maturity. A wider gap between the foreign and domestic interest rates produces more points, and a longer maturity produces more points, because the interest advantage compounds over a longer horizon. To handle real maturities that are not a whole year, the interest rates are applied over the fraction of a year the contract runs, using the market’s day-count convention.

Both drivers scale the points roughly, but not exactly, in proportion. Double the interest differential and the forward points roughly double; extend the maturity from 30 days to 180 days and the points grow about sixfold. The word roughly matters, because the denominator of the parity relationship, one plus the domestic rate over the horizon, also grows with maturity and with the level of rates, so the true multiple is a little below the simple ratio. For Level 1 the practical takeaway is direction and rough magnitude: bigger differential and longer term both mean more points, and the sign of the differential decides premium versus discount.

F(f/d) − S(f/d) = S(f/d) × [(rfrd) / (1 + rdτ)] × τ

τ = the fraction of a year to settlement (for example, 90/360 for a 90-day contract on a 360-day basis); rf and rd = the annualized foreign and domestic risk-free rates. The forward points are proportional to the spot rate and to the interest differential, and roughly proportional to the maturity: doubling the differential roughly doubles the points, and so does doubling the term.

Worked Example 6

Setup. The spot rate is S(f/d) = 1.3000, the annualized domestic rate is 2.0 percent, and the annualized foreign rate is 5.0 percent. Find the 90-day forward rate and the forward points, using a 360-day basis.

  1. Set the horizon. τ = 90 / 360 = 0.25, so the period rates are 0.05 × 0.25 = 0.0125 foreign and 0.02 × 0.25 = 0.005 domestic.
  2. Apply parity over the horizon. F = 1.3000 × (1 + 0.0125) / (1 + 0.005) = 1.3000 × (1.0125 / 1.005).
  3. Compute. 1.0125 / 1.005 = 1.007463, so F = 1.3000 × 1.007463 = 1.30970.
  4. Scale to points. (1.30970 − 1.3000) × 10,000 = 97.0 forward points.

Answer: the 90-day forward rate is 1.30970, or +97.0 points, so the base currency is at a forward premium of about 0.75 percent. The points are positive because the base (domestic) rate of 2 percent is below the foreign rate of 5 percent, exactly the premium the rule predicts.

Four Variables, One Relationship

Step back and notice that covered interest parity ties together four quantities: the spot rate, the forward rate, the domestic interest rate, and the foreign interest rate. Because they sit in a single equation, any one of them can be found from the other three. Given spot and the two interest rates, you solve for the forward rate; given spot, forward, and one interest rate, you can back out the other interest rate; given the two rates and a forward, you can recover the spot. Exam items exploit this by giving you three of the four and asking for the fourth, so the skill is less about memorizing a separate formula for each case than about rearranging the one relationship.

This interconnection is also why forward rates carry information about interest rates but should not be read as a market forecast of the future spot rate. It is tempting to treat the forward as what the market expects the currency to be worth later, yet the forward is pinned down by today’s spot rate and today’s interest differential through arbitrage, not by any prediction. Historically, forward rates have been poor predictors of future spot rates, because exchange rates are driven by far more than the interest differential. The safe reading is the narrow one: a forward rate is the arbitrage-consistent price of future delivery, related to the time-scaled interest differential, and nothing more.

Key Insight

Covered interest parity is one equation in four unknowns: spot, forward, and the two interest rates. Fix any three and the fourth is determined. That is the real reason this reading has so few formulas but so many question types, each just asks for a different one of the four. Do not over-read the forward as a forecast, though; it is the no-arbitrage price of future delivery, not the market’s prediction of where the spot rate will go.

On the Exam

Two moves cover most items. For cross-rates, write the pair you want as a fraction and cancel the shared currency, inverting one quote if the common code sits on the same level in both. For forwards, remember higher interest rate means forward discount, convert points with the correct scale (10,000 for four decimals, 100 for yen), and price a forward with F = S × (1 + rf) / (1 + rd) in the f/d convention, using τ for partial years.

On the Exam

Watch the quoting convention. Covered interest parity as F = S × (1 + rf) / (1 + rd) assumes the rate is quoted foreign per domestic, so the domestic currency is the base. If the data are given the other way (domestic per foreign), either invert the spot and forward first or swap which rate you call rf and rd. A sign or convention slip here is the most common way to get an otherwise correct forward calculation wrong.

Check Yourself

You are given MRD/SLR = 1.2500 and MRD/KSR = 0.8000 (Meridian dollars per Solira, and per Kestrel). What is the KSR/SLR cross-rate (Kestrel per Solira)?

Show answer

Cancel MRD by writing KSR/SLR = (KSR/MRD) × (MRD/SLR). Invert MRD/KSR to get KSR/MRD = 1 / 0.8000 = 1.2500, then multiply by MRD/SLR = 1.2500: KSR/SLR = 1.2500 × 1.2500 = 1.5625. One Solira is worth 1.5625 Kestrel.

Check Yourself

A spot rate is 1.5000 (four decimals) and the six-month forward points are −120.0. What is the forward rate, and is the base currency at a premium or a discount?

Show answer

Forward = 1.5000 + (−120.0 / 10,000) = 1.5000 − 0.0120 = 1.4880. The points are negative and the forward is below spot, so the base currency trades at a forward discount (and the price currency at a premium).

Check Yourself

In a quote, the base currency’s risk-free interest rate is 6 percent and the price currency’s is 2 percent. Does the base currency trade at a forward premium or discount?

Show answer

At a discount. The base currency has the higher interest rate (6 percent versus 2 percent), and the higher-yielding currency always trades at a forward discount. The forward points are negative, so the forward rate is below the spot rate.

Check Yourself

Using F = S × (1 + rf) / (1 + rd), a spot rate of 1.2000 (foreign per domestic), a domestic rate of 4 percent, and a foreign rate of 1 percent for one year, find the forward rate.

Show answer

F = 1.2000 × (1.01 / 1.04) = 1.2000 × 0.97115 = 1.1654. The forward is below spot, so the base (domestic) currency is at a forward discount, consistent with its higher interest rate (4 percent versus 1 percent).

Check Yourself

Why are triangular arbitrage opportunities rarely available in practice?

Show answer

Because human traders and automated algorithms constantly monitor cross-rates against their underlying quotes, any discrepancy is exploited and eliminated almost instantly. The arbitrage is riskless, so it is competed away the moment it appears, which keeps cross-rates consistent with the currencies’ quotes against the common currency.

Check Yourself

Two forward contracts have the same currencies and interest differential, but one is 30 days and the other 180 days. Which has the larger absolute number of forward points, and are they exactly proportional to maturity?

Show answer

The 180-day contract has the larger absolute number of points, because forward points grow with maturity. They are only approximately proportional, not exactly: the discounting term (1 + rdτ) grows with the horizon too, so the 180-day points are close to, but not exactly, six times the 30-day points.

Chapter Summary

  • A cross-rate is an exchange rate between two currencies that are not directly quoted, built from their quotes against a common third currency.
  • Treat currency codes like a fraction: arrange two quotes so the shared currency cancels, multiplying directly when it is on opposite levels and inverting one quote first when it is on the same level.
  • If a directly quoted cross-rate disagrees with the rate implied by the underlying quotes, triangular arbitrage earns a riskless profit; such gaps are tiny and fleeting because traders remove them at once.
  • A forward rate is agreed today for future settlement and is quoted as forward points, the scaled difference from spot; positive points mean the base currency is at a forward premium, negative points a discount.
  • Convert points with the right scale (10,000 for four-decimal pairs, 100 for yen-style pairs), and move freely between points, the full forward rate, and the forward as a percentage of spot.
  • Covered interest parity, F(f/d) = S(f/d) times (1 + rf) / (1 + rd), prices the forward from spot and the two interest rates by ruling out riskless arbitrage.
  • The currency with the higher interest rate trades at a forward discount and the lower-rate currency at a premium, regardless of the quoting convention.
  • Forward points grow with both the interest rate differential and the time to maturity, applied over the fraction of a year using the market day-count convention.

Frequently Asked Questions

What is a currency cross-rate?

A cross-rate is an exchange rate between two currencies that are not quoted directly against each other, calculated from their quotes against a common third currency. If you know how each of two currencies trades against a shared currency, you can derive how they trade against each other by arranging the two quotes so the common currency cancels.

How do you calculate a cross-rate?

Treat the currency codes like a fraction, where an A/B quote is units of price currency A per one unit of base currency B. Arrange the two quotes so the shared currency cancels: if it appears as the base in one quote and the price currency in the other, multiply them directly; if it appears on the same level in both, invert one quote first, then multiply. What remains is the cross-rate you want.

What is triangular arbitrage?

Triangular arbitrage is a riskless profit available when a directly quoted cross-rate disagrees with the rate implied by two underlying quotes. A trader buys the mispriced currency where it is cheap and sells it where it is dear, moving around the triangle of three currencies, and keeps the difference with no market risk. In practice these opportunities are tiny and disappear almost instantly because traders and algorithms constantly monitor for them.

What are forward points and what do they mean?

Forward points, also called swap points, are the difference between the forward exchange rate and the spot rate, scaled to the last decimal place of the spot quote. Positive points mean the forward rate is above spot and the base currency trades at a forward premium; negative points mean the forward is below spot and the base currency trades at a forward discount. Whenever the base currency is at a premium, the price currency is at a discount.

How do you convert forward points into a forward rate?

Divide the points by the appropriate scale and add the result to the spot rate. The scale is 10,000 for currencies quoted to four decimal places and 100 for yen-style pairs quoted to two decimal places. For example, a spot of 1.3000 with +65.0 points gives a forward of 1.3000 plus 0.0065, or 1.3065. Using the wrong scale is a common error, so match it to the number of decimals in the spot quote.

What is covered interest parity?

Covered interest parity is the no-arbitrage relationship that prices a forward rate from the spot rate and the two countries’ risk-free interest rates. It states that F(f/d) equals S(f/d) times (1 plus the foreign rate) divided by (1 plus the domestic rate), where the domestic currency is the base. It holds because two risk-free investments, one domestic and one hedged foreign, must earn the same return; if they did not, a riskless arbitrage would exist.

Which currency trades at a forward premium?

The currency with the lower interest rate trades at a forward premium, and the currency with the higher interest rate trades at a forward discount, regardless of the quoting convention. Equivalently, the base currency is at a premium exactly when its interest rate is below the price currency’s. This may feel counterintuitive, because a higher interest rate seems attractive, but the forward simply offsets the interest advantage so that no riskless profit remains.

Loading comments...

Add your Thoughts:

Chat with MidhaFin on WhatsAppJoin MidhaFin on Telegram