inline DiscountFactor ZeroYieldStructure::discountImpl(Time t) const {
if (t == 0.0) // this acts as a safe guard in cases where
return 1.0; // zeroYieldImpl(0.0) would throw.
Rate r = zeroYieldImpl(t);
return DiscountFactor(std::exp(-r*t));
}
El código es un adaptador para tipos cero porque QuantLib lo hace todo por factor de descuento. Convierte una tasa cero en un factor de descuento.
Lo que no entiendo es por qué siempre asumimos que todo está continuamente compuesto. Por ejemplo, si tengo un bono probablemente prefiera la capitalización semestral.
P: ¿Existe alguna razón por la que cuando se dan tipos cero, siempre podemos suponer que se trata de un compuesto continuo? ¿Significa eso que si tenemos un conjunto de tipos cero para el descuento, todo lo que no sea compuesto continuo no es válido?