AssetSwap Class Reference
[Financial instruments]

#include <ql/instruments/assetswap.hpp>

Inheritance diagram for AssetSwap:

Inheritance graph
[legend]
List of all members.

Detailed Description

Bullet bond vs Libor swap.

for mechanics of par asset swap and market asset swap, refer to "Introduction to Asset Swap", Lehman Brothers European Fixed Income Research - January 2000, D. O'Kane

Bug:
fair prices are not calculated correctly when using indexed coupons.


Public Member Functions

 AssetSwap (bool payFixedRate, const boost::shared_ptr< Bond > &bond, Real bondCleanPrice, const boost::shared_ptr< IborIndex > &index, Spread spread, const Handle< YieldTermStructure > &discountCurve, const Schedule &floatSchedule=Schedule(), const DayCounter &floatingDayCount=DayCounter(), bool parAssetSwap=true)
Spread fairSpread () const
Real floatingLegBPS () const
Real fairPrice () const
Spread spread () const
Real nominal () const
bool payFixedRate () const
const Leg & bondLeg () const
const Leg & floatingLeg () const
void setupArguments (PricingEngine::arguments *args) const
void fetchResults (const PricingEngine::results *) const

Classes

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


Member Function Documentation

void fetchResults ( const PricingEngine::results *   )  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 Instrument.