3 votos

CallableFloatingRateBond en QuantLib: sólo una cuestión de herencia múltiple?

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:

  1. establecer un FloatingRateBond con su CouponPricer;
  2. extracto de flujos de efectivo a partir de este FRN y posible optionlets' de los precios;
  3. set CallableFixedRateBond flujos de efectivo igual a la extraídos de arriba;
  4. el precio de un CallableFixedRateBond mediante la implementación predeterminada;
  5. 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.

3voto

Brad Tutterow Puntos 5628

No, no creo que el raw solución de croquis se va a trabajar.

En primer lugar, la extracción de los flujos de efectivo de los bonos está descartando la dinámica de la tasa bajo el Casco/Blanco modelo que está utilizando. Los dos deben de previsión y de descuento en el árbol; la manera de hacerlo correctamente implementado, por ejemplo, en la DiscretizedSwap de la clase (y se explica en detalle en la Implementación de QuantLib). En su solución, sería subestimar las tasas en un lado del árbol y sobreestiman en el otro con respecto a la verdadera previsión, que a su vez llevaría a mal el ejercicio probabilidades si se va a insertar en un CallableFixedRateBond.

Segundo, el tratamiento de la optionlets no sería correcto. Por un lado, estaría ya pensando optatividad durante la CallableFixedRateBond cálculo, por lo que estaría poniendo en dos veces. Por otro lado, no se puede simplemente añadir optionlets; no son independientes, ya que llamar a los bonos en una fecha de ejercicio implica el ejercicio de todos los optionlets que viene después de esa fecha, si uno está en el dinero o no.

En conclusión: lo siento, pero tendrás una solución completa, y que tomará algo de trabajo. Usted puede utilizar CallableFixedRateBond como un modelo de aplicación y mirar en DiscretizedSwap de cómo el modelo flotante de pagos.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X