|
|
| FlexiSwap (const VanillaSwap::Type type, const std::vector< Real > &fixedNominal, const std::vector< Real > &floatingNominal, 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, const std::vector< Real > &lowerNotionalBound, const QuantLib::Position::Type optionPosition, const std::vector< bool > ¬ionalCanBeDecreased=std::vector< bool >(), boost::optional< BusinessDayConvention > paymentConvention=boost::none) |
| |
|
|
VanillaSwap::Type | type () const |
| |
|
const std::vector< Real > & | fixedNominal () const |
| |
|
const std::vector< Real > & | floatingNominal () 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 |
| |
|
const std::vector< Real > & | lowerNotionalBound () const |
| |
|
const QuantLib::Position::Type | optionPosition () const |
| |
|
const std::vector< bool > & | notionalCanBeDecreased () const |
| |
|
BusinessDayConvention | paymentConvention () const |
| |
|
const Leg & | fixedLeg () const |
| |
|
const Leg & | floatingLeg () const |
| |
|
Real | underlyingValue () const |
| |
Flexi-Swap with global notional bounds.
The given non-standard swap defines the upper bound for the notionals, which must be non-increasing and consistent across the legs. Furthermore it is assumed that that floating leg's frequency divides the fixed leg's frequency. The notional in the Flexi-Swap can be adjusted on each fixing date corresponding to a whole fixed leg period to any value between the given lower bound and the original amount. The vector of lower bounds must therefore have the same size as the fixed leg vector in the non-standard swap. For periods with a fixing date on or before the evaluation date, is is assumed that the non-standard swap's notional is the relevant one, i.e. the lower bound is ignored for such periods.
notionalCanBeDecreased marks fixed rate periods in which the notional can actually be decreased; defaults to true,true,...,true if not given, i.e. the notional can be decreased in each period.