Quantlib: чем fixingValueDate_/fixingEndDate_ отличается от купона startDate/endDate
Какую правильную дату начала и дату окончания следует использовать для получения процентной ставки по форвардной кривой? Что нужно для fixingValueDate_ и fixingEndDate_?
В методе ниже используются fixingValueDate_ и fixingEndDate_
IborCoupon::indexFixing()
{
...
return iborIndex_->forecastFixing(fixingValueDate_,
fixingEndDate_,
spanningTime_);
}
Если вы регистрируетесь IborCoupon::IborCoupon()
, fixingValueDate_
а также fixingEndDate_
ничего кроме accrualStartDate_
а также accrualEndDate_
из-за следующего:
(В случае просроченной задолженности ложно)
(1) fixingDate_ = accrualStartDate_ - spotDays
(2) fixingValueDate_ = fixingDate_ + spotdays = accrualStartDate_
(3) nextFixingDate = accrualEndDate_ - spotDays
(4) fixingEndDate_ = nextFixingDate + spotDays = accrualEndDate_
В чем смысл расчета fixingValueDate_
а также fixingEndDate_
...
Можем ли мы не использовать accrualStartDate_
а также accrualEndDate_
...
Также я думаю, что Quantlib не поддерживает множественные сбросы в течение одного купонного периода.
1 ответ
Начальная и конечная даты купона не всегда совпадают с начальной и конечной датой базовой фиксации LIBOR.
Более очевидный случай, когда купон выплачивается с просроченной задолженностью. В этом случае ставка фиксируется в конце купона.
Менее очевидный случай, когда даты отличаются из-за корректировок. Например, рассмотрим годовой своп, начинающийся 7 января 2013 года и заканчивающийся 7 января 2014 года полугодовыми плавающими купонами. 7 июля 2013 года - воскресенье, поэтому даты купона будут корректироваться. Первый купон действует с 7 января по 8 июня, а второй купон - с 8 июня по 7 января.
Для первого купона даты равны, как вы говорите. Во-вторых, это не так. Дата начала 8 июня и соответствует дате валютирования фиксации. Дата окончания купона, однако, 7 января, тогда как дата погашения фиксации составляет 6 месяцев после даты его оценки, то есть 8 января. Небольшая разница, но, тем не менее, разница.