Valuing Currency Forward Contracts prior to maturity

Can somebody explain to me why the value of a currency forward contract to the long is as follows: Vt = St/(1 + R fc)^T-t - Ft/(1 + R dc)^T-t ? I understand this comes from the interest rate parity formula Ft = St * (1 + R dc)^T / (1 + R fc)^T. But can somebody explain to me conceptually why the Spot rate have to be discounted at the foreign rate and the Forward rate (the rate locked in the contract) has to be discounted at the domestic rate? Many thanks!

think of it this way if you wanted to enter the contract today look at formula 15 page 39 now modify it slightly, since we are not at time 0, we are at time t, it become f(t,T)=(st/(1+rf)^(T-t))(1+r)^(T-t) agree that is the fair price to enter at? well wait, insted you are already commited at F0 the diff is (st/(1+rf)^(T-t))(1+r)^(T-t)- [f0] but that diff does not happen till the future so it all needs to be discounted back to today devide both sides by (1+rd)^(T-t) in order to discount and you get the formula you have… there are many other ways to go about it, all lead to the same thing, MATH has yet to disappoint me… i hope this helps

please replace F0 in the above example with F(0,T) it is more “correct”

also notice the reason i devided both and not ONE by the domestic rate is that the pay offs are in the domestic rate… it just so happened that the equation simlified giving you the apperance that you are dividing one by domestic and one by forign rate, while in fact both are being devided by domestic rate…

Thank you so much for your thorough explanation! It makes the whole concept much clearer now.

Any time my friend, and take this advice please. If you spend an hours using this logic and applying it to all other forwards and futures valuation formulas, you will realise you do not have to memorise them. I personally could not possible memorise them. All you have to do is understand how to price them, which is probably straight forward for you by now and you can modify it to any type of contract… You apply the logic above and you get the value formula, Works on all of them. Some times you would get a diff formula that will give you the same answer. Based on how you end up simplifying Reagrds,