|
From: Jose Aparicio-N. <ja...@fr...> - 2009-04-21 17:12:19
|
Quoting Ferdinando Ametrano <qf...@am...>:
> I wonder how to bootstrap including an upfront if depending on the
> TermStructure reference date the upfront might not enter the NPV?
>
> ;-)
>
> ok, ok, I'm joking... sorry... I just couldn't resist... :-D
>
> ciao -- Nando
>
Its not sci fiction, its in there:
and it boostraps from it
void MidPointCdsEngine::calculate() const {
[.....]
// Upfront Flow NPV. Either we are on-the-run (no flow)
// or we are forward start
Real upfPVO1 = 0.0;
if(!arguments_.upfrontPayment.hasOccurred(settlementDate, true))//true?
upfPVO1 =
probability_->survivalProbability(settlementDate) *
discountCurve_->discount(settlementDate);
results_.upfrontNPV = upfPVO1 * arguments_.upfrontPayment.amount();
[.....]
"hasOcurred" hits back...
Settlement lags are relevant here indeed (ordering combinations of
T_settle=upfrtPay Today and T_protection_start), I did not enter the discussion
but followed with interest because of this but yes the meaning of today is
relevant.
Regards
Pepe
|