QuantLib_AssetSwap man page

AssetSwap — Bullet bond vs Libor swap.

Synopsis

#include <ql/instruments/assetswap.hpp>

Inherits Swap.

Classes

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

Public Member Functions

AssetSwap (bool payBondCoupon, const boost::shared_ptr< Bond > &bond, Real bondCleanPrice, const boost::shared_ptr< IborIndex > &iborIndex, Spread spread, const Schedule &floatSchedule=Schedule(), const DayCounter &floatingDayCount=DayCounter(), bool parAssetSwap=true)

AssetSwap (bool parAssetSwap, const boost::shared_ptr< Bond > &bond, Real bondCleanPrice, Real nonParRepayment, Real gearing, const boost::shared_ptr< IborIndex > &iborIndex, Spread spread=0.0, const DayCounter &floatingDayCount=DayCounter(), Date dealMaturity=Date(), bool payBondCoupon=false)

Spread fairSpread () const

Real floatingLegBPS () const

Real floatingLegNPV () const

Real fairCleanPrice () const

Real fairNonParRepayment () const

bool parSwap () const

Spread spread () const

Real cleanPrice () const

Real nonParRepayment () const

const boost::shared_ptr< Bond > & bond () const

bool payBondCoupon () const

const Leg & bondLeg () const

const Leg & floatingLeg () const

void setupArguments (PricingEngine::arguments *args) const

void fetchResults (const PricingEngine::results *) const

Additional Inherited 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

Warning

bondCleanPrice must be the (forward) price at the floatSchedule start date

Bug

fair prices are not calculated correctly when using indexed coupons.

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 Instrument.

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 Instrument.

Author

Generated automatically by Doxygen for QuantLib from the source code.

Referenced By

AssetSwap(3), bond(3), bondLeg(3), cleanPrice(3), fairCleanPrice(3), fairNonParRepayment(3), fairSpread(3), fetchResults(3), floatingLeg(3), floatingLegBPS(3), floatingLegNPV(3), nonParRepayment(3), parSwap(3), payBondCoupon(3), setupArguments(3) and spread(3) are aliases of QuantLib_AssetSwap(3).

Fri Sep 23 2016 Version 1.8.1 QuantLib