26#ifndef quantlib_asset_swap_hpp
27#define quantlib_asset_swap_hpp
62 ext::shared_ptr<Bond>
bond,
64 const ext::shared_ptr<IborIndex>& iborIndex,
68 bool parAssetSwap =
true,
76 [[deprecated(
"Use the other overload")]]
78 ext::shared_ptr<Bond>
bond,
82 const ext::shared_ptr<IborIndex>& iborIndex,
99 const ext::shared_ptr<Bond>&
bond()
const {
return bond_; }
140 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
template class providing a null value for a given type.
std::vector< Real > payer_
Real Spread
spreads on interest rates
std::vector< ext::shared_ptr< CashFlow > > Leg
Sequence of cash-flows.