29 : swapIndex_(
std::move(swapIndex)), spread_(
std::move(spread)), fwdStart_(fwdStart) {
78 bool swapIndexIsValid =
true;
82 swapIndexIsValid =
false;
85 return swapIndexIsValid && spreadIsValid;
92 static const Spread basisPoint = 1.0e-4;
93 Real floatingLegNPV =
swap_->floatingLegNPV();
95 Real spreadNPV =
swap_->floatingLegBPS()/basisPoint*spread;
96 Real totNPV = - (floatingLegNPV+spreadNPV);
void performCalculations() const override
ext::shared_ptr< VanillaSwap > swap_
ext::shared_ptr< SwapIndex > swapIndex_
ForwardSwapQuote(ext::shared_ptr< SwapIndex > swapIndex, Handle< Quote > spread, const Period &fwdStart)
const Date & valueDate() const
const Date & startDate() const
const Date & fixingDate() const
Real value() const override
returns the current value
bool isValid() const override
returns true if the Quote holds a valid value
Shared handle to an observable.
virtual void calculate() const
std::pair< iterator, bool > registerWith(const ext::shared_ptr< Observable > &)
DateProxy & evaluationDate()
the date at which pricing is to be performed.
static Settings & instance()
access to the unique instance
quote for a forward starting swap
Real Spread
spreads on interest rates
global repository for run-time library settings