|
From: Ferdinando A. <qf...@am...> - 2009-04-09 12:21:28
|
On Wed, Apr 8, 2009 at 5:50 PM, <lba...@us...> wrote:
> Revision: 16124
> [...]
> Log Message:
> -----------
> More MakeSchedule setters instead of anonymous constructor parameters
> [...]
> + BusinessDayConvention terminationDateConvention;
> + // if set explicitly, we use it;
> + if (terminationDateConvention_) {
> + terminationDateConvention = *terminationDateConvention_;
> + } else {
> + // it equals the convention for all other dates.
> + terminationDateConvention = convention;
> + }
if not set I would prefer Schedule to default to Unadjusted for the
termination date, as per ISDA standard where it states that
termination date should always be considered unadjusted unless
explicitly specified
> + BusinessDayConvention convention;
> + // if a convention was set, we use it.
> + if (convention_) {
> + convention = *convention_;
> + } else {
> + if (!calendar_.empty()) {
> + // ...if we set a calendar, we probably want it to be used;
> + convention = Following;
> + } else {
> + // if not, we don't care.
> + convention = Unadjusted;
> + }
> + }
even here I would prefer Unadjusted. In this case I have a weaker
argument: Schedule is most often used to calculate accrual dates
(derived payment dates will be adjusted anyway). YMMV
ciao -- Nando
|