Me gustaría saber cuáles son las cuestiones relacionadas con un posible CallableFloatingRateBond
de la clase en QuantLib y tener algunas sugerencias acerca de la aplicación.
Mi (muy obvio) la idea es declarar una clase como:
class CallableFloatingRateBond : public FloatingRateBond, public CallableBond
{
public:
CallableFloatingRateBond(); //ctor
virtual ~CallableFloatingRateBond(); //dtor
protected:
// ..?..
private:
// ..?..
};
Sin embargo, CallableFixedRateBond
clase hereda sólo de Bond
clase a través de lo abstracto CallableBond
de clase, cuyo propósito parece ser para la mayoría de la configuración de los precios del motor y relinkable asas para cosas como el Negro volatilidades de descuento y curvas.
De hecho, CallableFixedRateBond
de ejecución trabaja mucho con PricingEngine::arguments*
a configurar flujos de efectivo y callability programación, pero esto no implica la emisión de un IborIndex
o SwapIndex
el cual debe ser modificado a lo largo con el corto plazo la tasa de dinámica (por ejemplo, HullWhite
tasa de corto modelo discretizado por un TreeCallableFixedRateBondEngine
).
Una diferente, raw, la solución podría ser el siguiente:
- establecer un
FloatingRateBond
con suCouponPricer
; - extracto de flujos de efectivo a partir de este FRN y posible optionlets' de los precios;
- set
CallableFixedRateBond
flujos de efectivo igual a la extraídos de arriba; - el precio de un
CallableFixedRateBond
mediante la implementación predeterminada; - suma optionlet los precios (si los hubiera) 4.
Un "sucio" de la clase de este tipo podría hacer el trabajo de devolver algo parecido a la OEA para que el usuario sólo por un cambio IborIndex
's / SwapIndex
's de la estructura a plazo y HullWhite
's de la estructura a plazo todos juntos, pero realmente estoy preguntando si esto es teóricamente consistente.