FX Spot

Read Post

In this post, we will cover FX spot trade which is settled on the value date that is two business days from the trade date \((T + 2)\).

Equilibrum Spot Exchange Rate

The equilibrium spot exchange rate is the price where the supply and demand curves intersect. The demand for a certain currency depends on the demand for the country’s goods and services and financial assets. Similarly, the supply of a country’s currency is based on the demand for the other currency pair’s goods and services and financial assets.

Taking the EURUSD as example, and referencing the EUR demand/supply curves:

Relative Inflation Rates

Suppose the supply of USD increases and subsequently cause inflation in the US. This cause a relative increase in the goods and services as compared to the Eurozone. Eurozone will decrease the import of US goods and services leading to a decrease in the amount of EUR supplied at every exchange rate (supply curve moving to the left). Remember the supply of EUR is the demand for USD. Similarly, higher prices in the US will increase the demand for Eurozone goods and services and causing the demand for EUR to increase (demand curve moving to the right).

This will cause EUR to appreciate and USD to depreciate. This inflation relationship is known as Purchasing Power Parity (PPP).

Relative Interest Rates

A rise in real interest rates relative to Eurozone rates, all else being equal, will cause investors in both nations to switch from EUR to USD securities. If the rise in interest rates is due to inflation, then it would have the opposite effect.

Relative Economic Growth Rates

Empirical evidence shows that economic growth (GDP) leads to stronger currency.

Quotation Terms

A currency pair has a base currency and a terms currency. For example, EUR is the base currency in EURUSD, and USD is the terms currency. USD is the terms currency because EURUSD is quoted in terms of USD. If EURUSD = 2, it takes 2USD to buy 1EUR.

A currency pair can be quoted in European or American terms. In European term, the base currency is the USD, and the terms currency is not USD.

\[\begin{aligned} \frac{\text{EUR}}{\text{USD}} \end{aligned}\]

In American term, the base currency is not USD, and the terms currency is USD.

\[\begin{aligned} \frac{\text{USD}}{\text{EUR}} \end{aligned}\]

For example, common European terms currency pairs:

USDJPY, USDCAD, USDSGD

\[\begin{aligned} \frac{\text{JPY}}{\text{USD}}, \frac{\text{CAD}}{\text{USD}}, \frac{\text{SGD}}{\text{USD}} \end{aligned}\]

And American terms pairs:

EURUSD, AUDUSD, GBPUSD

\[\begin{aligned} \frac{\text{USD}}{\text{EUR}}, \frac{\text{USD}}{\text{AUD}}, \frac{\text{USD}}{\text{GBP}} \end{aligned}\]

Let us write some R code to get the current FX rates for the above currencies:

options(pillar.sigfig = 5)
ccy1 <- c("USD/JPY", "USD/CAD", "USD/SGD", "USD/CHF", "USD/CNY") |>
  tq_get(get = "alphavantage", av_fun = "CURRENCY_EXCHANGE_RATE")

ccy2 <- c("CHF/USD", "EUR/USD", "AUD/USD", "NZD/USD", "GBP/USD") |>     
  tq_get(get = "alphavantage", av_fun = "CURRENCY_EXCHANGE_RATE")

rbind(ccy1, ccy2) |>
  select(
  "symbol",
  "exchange_rate",
  "from_currency_name",
  "to_currency_name",
  "bid_price",
  "ask_price"
  )

Big Figure and Pips

As the traders in the FX market knows roughly the level of the FX rate, they normally do not communicate on all the digits to save time. The last 2 digits of the FX rate are know as the pips and the remaining digits are called the big figure. For example:

\[\begin{aligned} \text{EURUSD} &= 1.2389/1.2391\\ &= 89/91\\ \text{USDJPY} &= 135.53/135.54\\ &= 53/54 \end{aligned}\]

For EURUSD, 1.23 is the big figure and 89/91 are the bid/ask spread in pips. As for USDJPY, 135 is the big figure and 53/54 is the spread in pips.

Bid and Offer

The bid quote is the rate at which the market maker will buy the base currency from you. The offer or the ask quote is the rate at which the market will sell the base currency to you. The difference between the bid and offer is the spread.

The offer quote will always be higher than the bid as the market maker is making the spread in order to compensate the risk as a market maker is obligated to trade at those prices and always need to quote a bid/offer rate.

Cross Rates

When the USD is not involved, the currency pair is known as the cross rate. Cross rates are normally not quoted, so we would need to calculate them from the the quotes with USD.

Same Terms

If the two currencies are quoted against USD on the same terms (European or American), divide the two currencies. The order depends on whether we are dealing with European or American terms:

For example:

\[\begin{aligned} \frac{\text{USD}}{\text{EUR}}\frac{1}{\frac{\text{USD}}{\text{AUD}}} &= \frac{\text{USD}}{\text{EUR}}\frac{\text{AUD}}{\text{USD}}\\ &= \frac{\text{AUD}}{\text{EUR}} \end{aligned}\] \[\begin{aligned} \frac{\text{JPY}}{\text{USD}}\frac{1}{\frac{\text{CHF}}{\text{USD}}} &= \frac{\text{JPY}}{\text{USD}}\frac{\text{USD}}{\text{CHF}}\\ &= \frac{\text{JPY}}{\text{CHF}} \end{aligned}\]

To incorporate bid/offer to the cross rate calculation, flip the bid/offer for the currency pair in the denominator:

\[\begin{aligned} \frac{\text{USD}}{\text{EUR}}_{\text{Bid}}\frac{1}{\frac{\text{USD}}{\text{AUD}}}_{\text{Offer}} &= \frac{\text{USD}}{\text{EUR}}_{\text{Bid}}\frac{\text{AUD}}{\text{USD}}_{\text{Offer}}\\ &= \frac{\text{AUD}}{\text{EUR}}_{\text{Bid}} \end{aligned}\] \[\begin{aligned} \frac{\text{USD}}{\text{EUR}}_{\text{Offer}}\frac{1}{\frac{\text{USD}}{\text{AUD}}}_{\text{Bid}} &= \frac{\text{USD}}{\text{EUR}}_{\text{Offer}}\frac{\text{AUD}}{\text{USD}}_{\text{Bid}}\\ &= \frac{\text{AUD}}{\text{EUR}}_{\text{Offer}} \end{aligned}\] \[\begin{aligned} \frac{\text{JPY}}{\text{USD}}_{\text{Bid}}\frac{1}{\frac{\text{CHF}}{\text{USD}}}_{\text{Offer}} &= \frac{\text{JPY}}{\text{USD}}_{\text{Bid}}\frac{\text{USD}}{\text{CHF}}_{\text{Offer}}\\ &= \frac{\text{JPY}}{\text{CHF}}_{\text{Bid}} \end{aligned}\] \[\begin{aligned} \frac{\text{JPY}}{\text{USD}}_{\text{Offer}}\frac{1}{\frac{\text{CHF}}{\text{USD}}}_{\text{Bid}} &= \frac{\text{JPY}}{\text{USD}}_{\text{Offer}}\frac{\text{USD}}{\text{CHF}}_{\text{Bid}}\\ &= \frac{\text{JPY}}{\text{CHF}}_{\text{Offer}} \end{aligned}\]

One can reason the above from a market maker perspective. If the client wants to sell EURAUD to the market maker and hit the bid price, the market maker will long EUR and would need to sell the EUR as a market user. It would need to hit the bid price of EURUSD. Market maker will be short AUD and the market maker would need to buy AUDUSD, and as a market user, hit the offer price of AUDUSD.

Similarly, if the client wants to buy EURAUD from the market maker and hit the ask price, the market maker will short EUR and would need to buy the EUR as a market user. It would need to hit the ask price of EURUSD. Market maker will be long AUD and the market maker would need to sell AUDUSD, and as a market user, hit the bid price of AUDUSD.

The same story goes for CHFJPY. If the client wants to sell CHFJPY to the market maker and hit the bid price, the market maker will long CHF and would need to sell CHF (buy USD) as a market user. It would need to hit the offer price of CHFUSD. Market maker will be short JPY and the market maker would need to buy JPY (sell USD), and as a market user, hit the bid price of USDJPY.

Similarly, if the client wants to buy CHFJPY from the market maker and hit the ask price, the market maker will short CHF and would need to buy CHF (sell USD) as a market user. It would need to hit the bid price of USDCHF. Market maker will be long JPY and the market maker would need to sell JPY (buy USD), and as a market user, hit the ask price of USDJPY.

Different Terms

If the two currencies are quoted against USD with same terms (European or American), multiply the two currencies.

\[\begin{aligned} \frac{\text{USD}}{\text{EUR}}\frac{\text{JPY}}{\text{USD}} &= \frac{\text{JPY}}{\text{EUR}} \end{aligned}\]

To incorporate bid/offer to the cross rate calculation, there is no need to flip:

\[\begin{aligned} \frac{\text{USD}}{\text{EUR}}_{\text{Bid}}\frac{\text{JPY}}{\text{USD}}_{\text{Bid}} &= \frac{\text{JPY}}{\text{EUR}}_{\text{Bid}} \end{aligned}\] \[\begin{aligned} \frac{\text{USD}}{\text{EUR}}_{\text{Offer}}\frac{\text{JPY}}{\text{USD}}_{\text{Offer}} &= \frac{\text{JPY}}{\text{EUR}}_{\text{Offer}} \end{aligned}\]

If done correctly, the cross rate bid/offer spread should be as wide as possible.

One can reason the above from a market maker perspective. If the client wants to sell EURJPY to the market maker and hit the bid price, the market maker will long EUR and would need to sell the EUR as a market user. It would need to hit the bid price of EURUSD. Market maker will be short JPY and the market maker would need to buy JPY (sell USD), and as a market user, hit the bid price of AUDUSD.

Similarly, if the client wants to buy EURJPY from the market maker and hit the offer price, the market maker will short EUR and would need to buy the EUR as a market user. It would need to hit the ask price of EURUSD. Market maker will be long JPY and the market maker would need to sell JPY (buy USD), and as a market user, hit the offer price of AUDUSD.

See Also

FX Forwards and Swaps

References

Foreign Exchange Training Manual

Chapter 4 The Foreign Exchange Market

Shapiro A. (2019), Multnational Financial Management (11th Edition)

Jason

Passionate software developer with a background in CS, Math, and Statistics. Love challenges and solving hard quantitative problems with interest in the area of finance and ML.