It makes sense to calculate P&L due to passage of time, and to try to separate it into carry and rolldown. What would the P&L be if all the rates today were the same as they were yesterday, with just the time to maturity decreasing? How much would the P&L be if the forward rates implied yesterday were exctly realized?
It is usually helpful to attribute the P&L due to interest rate changes by tenor buckets. For this, you should also calculate the risk in those buckets. An FX forward has P&L from risk-free domestic and foreign swap curves and from the cross-currency basis. All 3 have term structure. For the cross-currency basis, you decide on a standard set of tenors, e.g. overnight, 1 week, 2 weeks ... - the observable spreads that you mark. For swap curves, you choose one of the following two approaches. Either you use the same tenors as for the xccy spread, e.g. 1 week ... 1y swap, 2y swap. Or, if you mark futures contracts (e.g. DI futures for BRL, I guess now SOFR futures for USD) and use them to construct the swap curve and to hedge the IR risk, then you may prfer to use the futures as well for rates sensitivities (risk) and for P&L attribution. You need to calculate the interest rate risk as sensitivities to whichever instruments you choose.
If some countries it is useful to view the interest rates as the swap curve (e.g. CDI curve in Brazil) and spreads to various government curves (e.g. to NTN-F yields). So you'd decompose the P&L from holding NTN-F into the P&L from swap (CDI) curve changing and from the swap curve-government spread changing, by tenor bucket.
Probably not as useful for a linear book, but if you have the principal components of the curves (parallel shift, slope, twist..), then you can report the sensitivities to the PC, and also attribute the P&L to the PC movements. There is no "correct" - whatever helps in the task of understanding where the P&L came from.
If you have non-delivery FX forwards (NDF), and every day you mark to market using, e.g. London close, but on determination date, you begin to mark to market using some official observed central bank rate, such as PTAX in Brazil, then it is useful to separate the P&L from the change in the London close from prior date, and the P&L from the spread between London close and the CB rate.
If you use London close for FX rates, but some local time zone close (e.g, Latin American or Asian) for interest rates and bonds, then it is useful to separate the P&L from FX rate change between London close and the local time zone.
The most convenient way to express FX delta (as well as equity, commodity, etc delta) is to scale it to 100% so that for a foreign currency spot position the delta is just the mark to market in your base currency. Assuming that your accounting is in USD, I will work through a simple example. Note that a few currency pairs (GBP, EUR, are traditionally quoted cable, i.e. the foreign currency is the base) while for most others, USD is the base. Suppose you are long some spot EUR and some spot BRL, i.e. are short USD in both positions.
Currency |
EUR |
BRL |
Quoting convention |
Cable (EUR is base) |
USD is base |
Exchange Rate T0 |
1.11 |
5.30 |
Rate T1 |
1.13 |
5.05 |
Rate change (Quoting convention dependent formula) |
(1 / Rate T0 - 1 / Rate T1) * Rate T1 = (1 / 1.11 - 1 / 1.13) * 1.13 = 0.01802 |
(Rate T0 - Rate T1) / Rate T1 = (5.3 - 5.05) / 5.05 = 0.04950 |
Example Foreign Currency Notional |
1,000,000 |
2,000,000 |
FX Delta = USD MTM T0 |
Notional * Rate T0 = 1,000,000 * 1.11 = 1,110,000 |
Notional / Rate T0 = 2,000,000 / 5.3 = 377,358.49 |
MTM T1 |
Notional * Rate T1 = 1,000,000 * 1.13 = 1,130,000 |
Notional / Rate T1 = 2,000,000 / 5.05 = 396,039.60 |
P&L |
MTM T1 - MTM T0 = 1,130,000 - 1,110,000 = 20,000 |
MTM T1 - MTM T0 = 396039.60 - 377358.49 = 18,681.11 |
P&L Explain |
Rate change * MTM T0 = 0.018018 * 1,110,000 = 20,000 |
Rate change * MTM T0 = 0.0495 * 377358.49 = 18,681.11 |
(Or you simply denote R = r if cable, 1/r otherwise, and then use the same formulas for rate change.)
If in addition the book has FX options or other non-linear instruments, then you have a lot more market risk factors than spot FX and various interest rates and spreads. You have vega (sensitivity to implied volatility) that is probably not a single number, but has some structure for different moneynesses and expiries. You have material second order risks (gammas and cross-gammas), and for an exotic FX options, you might have material 3rd order risks.
You can no longer assume that you can estimate P&L by multiplying a sensitivity (delta) by the change in a market factor. Rather, you must perform full revaluations as described here, as well as a Taylor series expansion. My advice is - if you're doing this spreadsheet as an exercise to learn how to explain P&L, then limit yourself to linear instruments first.
I cited a couple of P&L attribution books (not very detailed) here.