OK, the link got removed (no grousing: I told the admins about it and agree fully with their reasoning), so I’ll try to write something intelligible here. There’s no equation editor, so you’ll have to be patient with the notation.

- Vt = value of the currency forward (to the DC payer / FC receiver) at time t
- T = expiration of the forward contract
- St = spot exchange rate at time t (in DC/FC)
- FT = forward exchange rate at time T (in DC/FC)
- rDC = domestic risk-free rate
- rFC = foreign risk-free rate

For all other forwards, we have:

Vt = St – PV(FT)

The subtlety of currency forwards (as I mentioned in post 2, above) is that if we settle a currency forward early, we don’t settle it for the notional amount of the foreign currency (which is what the DC payer is buying); we settle it for *the present value of the notional amount of the foreign currency*. So, for a currency forward, the formula is:

Vt = PV(St – PV(FT))

We get PV(FT) by discounting using interest rate parity, and we get PV(St – PV(FT)) by discounting by discounting at the foreign risk-free rate. So,

V__{t}_ = PV(S__{t}_ − PV(FT))

= PV(S__{t}_ − FT × (((1 + *r*_{DC})^{−(T − t)}) / (1 + *r*_{FC})^{−(T − t)}))

= PV(S__{t}_ − FT × (((1 + *r*_{FC})^{T − t}) / (1 + *r*_{DC})^{T − t})))

= (S__{t}_ − FT × (((1 + *r*_{FC})^{T − t}) / ((1 + *r*_{DC})^{T − t})))) / (1 + *r*_{FC})^{T − t}

= [S_<sub>t</sub>_ / (1 + _r_<sub>FC</sub>)<sup>T − t</sup>] − [FT × ((1 + *r*_{FC})^{T − t} / (1 + *r*_{DC})^{T − t})) / (1 + *r*_{FC})^{T − t}]

= [S_<sub>t</sub>_ / (1 + _r_<sub>FC</sub>)<sup>T − t</sup>] − [FT / (1 + *r*_{DC})^{T − t}]

Whew!