VanillaSwap Class Reference
[Financial instruments]

#include <ql/instruments/vanillaswap.hpp>

Inheritance diagram for VanillaSwap:

List of all members.


Detailed Description

Plain-vanilla swap.

Tests:
  • the correctness of the returned value is tested by checking that the price of a swap paying the fair fixed rate is null.
  • the correctness of the returned value is tested by checking that the price of a swap receiving the fair floating-rate spread is null.
  • the correctness of the returned value is tested by checking that the price of a swap decreases with the paid fixed rate.
  • the correctness of the returned value is tested by checking that the price of a swap increases with the received floating-rate spread.
  • the correctness of the returned value is tested by checking it against a known good value.
Examples:

BermudanSwaption.cpp, and swapvaluation.cpp.


Public Types

enum  Type { Receiver = -1, Payer = 1 }

Public Member Functions

 VanillaSwap (Type type, Real nominal, const Schedule &fixedSchedule, Rate fixedRate, const DayCounter &fixedDayCount, const Schedule &floatSchedule, const boost::shared_ptr< IborIndex > &index, Spread spread, const DayCounter &floatingDayCount)
Real fixedLegBPS () const
Real fixedLegNPV () const
Rate fairRate () const
Real floatingLegBPS () const
Real floatingLegNPV () const
Spread fairSpread () const
Rate fixedRate () const
Spread spread () const
Real nominal () const
Type type () const
const Leg & fixedLeg () const
const Leg & floatingLeg () const
void setupArguments (PricingEngine::arguments *args) const
void fetchResults (const PricingEngine::results *) const

Classes

class  arguments
 Arguments for simple swap calculation More...
class  results
 Results from simple swap calculation More...

Member Function Documentation

void setupArguments ( PricingEngine::arguments *   )  const [virtual]

When a derived argument structure is defined for an instrument, this method should be overridden to fill it. This is mandatory in case a pricing engine is used.

Reimplemented from Swap.

void fetchResults ( const PricingEngine::results *  r  )  const [virtual]

When a derived result structure is defined for an instrument, this method should be overridden to read from it. This is mandatory in case a pricing engine is used.

Reimplemented from Swap.