The floating leg of a USD swap has present value

$$ PV = \sum_{i=1}^N \delta_i f_i p^d(t_i) $$

where the $\{t_i\}$ are the floating leg payment dates, $\delta_i$ is the accrual fraction between $t_{i-1}$ and $t_i$, $p^d(t)$ is the curve used for discounting, and $f_i$ are the forward rates determined from the LIBOR curve $p^l(t)$

$$ f_i = \frac{1}{\delta_i} \left(\frac{p^l(t_{i-1})} {p^l(t_i)} - 1 \right) $$

The day count convention for the floating leg of a USD swap is ACT/360, so it is clear that when computing the $\delta_i$ we should use the ACT/360 day count function,

$$ \delta_i = \textrm{Days}_{\rm ACT/360}(t_{i-1}, t_i) $$

But what day count convention should we use for discounting? If I also use ACT/360, then the year fraction from $t = 0$ to the final payment on a 10-year swap is

$$ \textrm{Days}_{\rm ACT/360} (0, 10y) \approx \frac{10\times 365}{360} \approx 10.139 $$

which has the counter-intuitive consequence that the price of a 10-year swap depends on values of the discount curve beyond the 10 year point, which is clearly nonsense.

So it seems as though we should use some other day count convention for discounting, e.g. ACT/ACT or ACT/365. But this breaks the property that

$$ \sum_{i=1}^n \delta_i = t_n $$

which also seems undesirable. Can anyone clear up my confusion?


The discount curve should be constructed such that there's a one-to-one mapping between a date and a discount factor. It is common practice to use either Actual/365 or Actual/365.25 for the discount curve. Once a convention has been adopted, it should be used for all discount curve construction, regardless of the market convention of the product in question. The final output can always be converted into the proper convention.

  • $\begingroup$ Great - this is what I suspected but it's good to hear it from someone more knowledgable! $\endgroup$ – Chris Taylor Mar 11 '16 at 17:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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