i am trying to clarify the correct method of computing pnl (in base ccy) on an FX forward. let's assume the following notation:

S(t) = spot rate at time t

df(base,t) = base ccy discount factor (USD in this case) at time t

df(foreign,t) = foreign ccy discount factor (JPY in this case) at time t

FXfwd(t) = FX forward at time t = S(t)*[df(base,t) / df(foreign,t)]

assuming, at time t=0, we buy 100 USDJPY, 1y forward, i would compute the pnl from t=0 to t=1 to be \$100 * [(FXfwd(1) - FXfwd(0)) / FXfwd(1)]

however, an alternate approach seems to be to compute the present value of each of the future cashflows using each ccy's discount factor, sum in USD according to the spot for time t=0 and do the same at time t=1, and taking the difference.

it seems like the first approach i mention is more commonly referenced, but the 2 methods do not produce the same result and there is surprisingly little information found online for more practical matters like this


1 Answer 1


They are the same, provided your discount curves are consistent with the fx forward market, as defined in your 'Notation' paragraph.

The problem people usually run into is that they use risk free rates in each currency for discount curves , but they forgot to incorporate the currency basis.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.