Logo
Reference manual - version qle_version
Classes | Public Member Functions | List of all members
BalanceGuaranteedSwap Class Reference

Balance Guaranteed Swap. More...

#include <qle/instruments/balanceguaranteedswap.hpp>

+ Inheritance diagram for BalanceGuaranteedSwap:

Classes

class  arguments
 Arguments for Balance Guaranteed Swap More...
 
class  engine
 Base class for Balance Guaranteed Swap engines. More...
 
class  results
 Results for Balance Guaranteed Swap More...
 

Public Member Functions

 BalanceGuaranteedSwap (const VanillaSwap::Type type, const std::vector< std::vector< Real >> &trancheNominals, const Schedule &nominalSchedule, const Size referencedTranche, const Schedule &fixedSchedule, const std::vector< Real > &fixedRate, const DayCounter &fixedDayCount, const Schedule &floatingSchedule, const QuantLib::ext::shared_ptr< IborIndex > &iborIndex, const std::vector< Real > &gearing, const std::vector< Real > &spread, const std::vector< Real > &cappedRate, const std::vector< Real > &flooredRate, const DayCounter &floatingDayCount, boost::optional< BusinessDayConvention > paymentConvention=boost::none)
 

Inspectors

VanillaSwap::Type type () const
 
const std::vector< std::vector< Real > > & trancheNominal () const
 
const Schedule & nominalSchedule () const
 
const Size referencedTranche () const
 
const Schedule & fixedSchedule () const
 
const std::vector< Real > & fixedRate () const
 
const DayCounter & fixedDayCount () const
 
const Schedule & floatingSchedule () const
 
const QuantLib::ext::shared_ptr< IborIndex > & iborIndex () const
 
const std::vector< Real > & gearing () const
 
const std::vector< Real > & spread () const
 
const std::vector< Real > & cappedRate () const
 
const std::vector< Real > & flooredRate () const
 
const DayCounter & floatingDayCount () const
 
BusinessDayConvention paymentConvention () const
 
const Leg & fixedLeg () const
 
const Leg & floatingLeg () const
 
Real trancheNominal (const Size trancheIndex, const Date &d)
 

Detailed Description

Balance Guaranteed Swap.

Notice the comment in the NumericLgmBgsFlexiSwapEngine concerning the start of the prepayments, this means that the tranche notionals for periods with a start date in the past or on the evaluation date should include actual (known) prepayments. For future periods the notionals should correspond to a zero CPR assumption on the other hand.