26#ifndef quantlib_asset_swap_hpp
27#define quantlib_asset_swap_hpp
57 ext::shared_ptr<Bond>
bond,
59 const ext::shared_ptr<IborIndex>& iborIndex,
63 bool parAssetSwap =
true);
66 ext::shared_ptr<Bond>
bond,
70 const ext::shared_ptr<IborIndex>& iborIndex,
86 const ext::shared_ptr<Bond>&
bond()
const {
return bond_; }
127 void reset()
override;
Arguments for asset swap calculation
std::vector< Date > floatingResetDates
std::vector< Spread > floatingSpreads
std::vector< Date > floatingFixingDates
std::vector< Date > fixedPayDates
std::vector< Date > fixedResetDates
void validate() const override
std::vector< Time > floatingAccrualTimes
std::vector< Real > fixedCoupons
std::vector< Date > floatingPayDates
Results from simple swap calculation
Bullet bond vs Libor swap.
const ext::shared_ptr< Bond > & bond() const
Real fairNonParRepayment_
Real fairCleanPrice() const
const Leg & floatingLeg() const
Spread fairSpread() const
Real floatingLegBPS() const
Real fairNonParRepayment() const
Real nonParRepayment() const
void setupArguments(PricingEngine::arguments *args) const override
const Leg & bondLeg() const
ext::shared_ptr< Bond > bond_
void setupExpired() const override
Real floatingLegNPV() const
void fetchResults(const PricingEngine::results *) const override
bool payBondCoupon() const
std::vector< Real > payer_
Real Spread
spreads on interest rates
std::vector< ext::shared_ptr< CashFlow > > Leg
Sequence of cash-flows.