- Excel Version
- 365
Excel allows us to retrieve currency quotes from Rifinitiv's database and populate a spreadsheet with the quotes. Using function XLOOKUP and some smartly laid-out tables, we can calculate all the cross-rates and their changes from the prior day's quotes. It's a simple process of refreshing the data when you need to, or let it do so every five minutes.
In this setup, there are just seven currency pairs. Thus there are 56 derived cross-rates that can be calculated by inference. What is notable here is that there is no need to have all currency pairs in a quote list, and indeed there are some currency pairs that don't exist in the currency markets and must be inferred by calculating a cross rate (though the seven listed here certainly exist).
Addendum, Dec 2021: Interestingly, the database of currency pairs has been updated so that the Stock Data Type quotes now include what are called Cross Rates in the 'name' field. For example, this pair provides a Cross Rate quote, and we can guess that it's probably not a popular trade.
I put the file in OneDrive for anyone to download. For those who want to use the MrExcel mini-sheet instead, here it is. The colours from the source table at the top correspond to the colours in the cross-rate tables beneath.
In this setup, there are just seven currency pairs. Thus there are 56 derived cross-rates that can be calculated by inference. What is notable here is that there is no need to have all currency pairs in a quote list, and indeed there are some currency pairs that don't exist in the currency markets and must be inferred by calculating a cross rate (though the seven listed here certainly exist).
Addendum, Dec 2021: Interestingly, the database of currency pairs has been updated so that the Stock Data Type quotes now include what are called Cross Rates in the 'name' field. For example, this pair provides a Cross Rate quote, and we can guess that it's probably not a popular trade.
Book1 | ||||||
---|---|---|---|---|---|---|
C | D | E | F | |||
9 | Pair | Name | Price | Ticker symbol | ||
10 | SAR/ILS | Saudi Arabian Riyal/Israeli Shekel FX Cross Rate | ₪ 0.83 | SARILS | ||
Sheet1 |
Cell Formulas | ||
---|---|---|
Range | Formula | |
D10 | D10 | =[@Pair].Name |
E10 | E10 | =[@Pair].Price |
F10 | F10 | =[@Pair].[Ticker symbol] |
I put the file in OneDrive for anyone to download. For those who want to use the MrExcel mini-sheet instead, here it is. The colours from the source table at the top correspond to the colours in the cross-rate tables beneath.
Cell Formulas | ||
---|---|---|
Range | Formula | |
O2 | O2 | =B3.[Last trade time] |
C3:C9 | C3 | =B3.[From currency] |
D3:D9 | D3 | =B3.Currency |
E3:E9 | E3 | =B3.Price |
F3:F9 | F3 | =B3.[Previous close] |
G3:G9 | G3 | =B3.Change |
H3:H9 | H3 | =B3.[Change (%)] |
I3:J9 | I3 | =1/E3 |
K3:K9 | K3 | =I3-J3 |
L3:L9 | L3 | =K3/J3 |
M3:M9 | M3 | =1/(1+H3)-1 |
C15 | C15 | =IF($B15=C$14,"",$C16/XLOOKUP(C$14,$B$15:$B$22,$C$15:$C$22)) |
D15:J15 | D15 | =1/XLOOKUP(D14,$B$16:$B$22,$C$16:$C$22) |
C16:C22 | C16 | =XLOOKUP(B16,$D$3:$D$9,$E$3:$E$9) |
D16:J22 | D16 | =IF($B16=D$14,"",$C16/XLOOKUP(D$14,$B$15:$B$22,$C$15:$C$22)) |
Q15:W22 | Q15 | =IFERROR(D15-D26,"") |
P16:P22 | P16 | =C16-C27 |
D26:J26 | D26 | =1/XLOOKUP(D25,$B$27:$B$33,$C$27:$C$33) |
P26:W33 | P26 | =IFERROR(P15/C26,"") |
C27:C33 | C27 | =XLOOKUP(B27,$D$3:$D$9,$F$3:$F$9) |
D27:J33 | D27 | =IF($B27=D$25,"",$C27/XLOOKUP(D$25,$B$26:$B$33,$C$26:$C$33)) |