`#include <fixedcouponbondforward.hpp>`

Inheritance diagram for QuantLib::FixedCouponBondForward:

1. valueDate refers to the settlement date of the bond forward contract. maturityDate is the delivery (or repurchase) date for the underlying bond (not the bond's maturity date).

2. Relevant formulas used in the calculations ( refers to a price):

a. where refers to the accrued interest on the underlying bond.

b.

c. where represents the ith bond cash flow (coupon payment) associated with the underlying bond falling between the settlementDate and the deliveryDate. (Note the two different discount curves used in b. and c.)

**Example: ** valuation of a repo on a fixed-coupon bond

**Todo:**- Add preconditions and tests

**Todo:**- Create switch- if coupon goes to seller is toggled on, don't consider income in the calculation.

**Todo:**- Verify this works when the underlying is paper (in which case ignore all AI.)

**Warning:**- This class still needs to be rigorously tested

Definition at line 73 of file fixedcouponbondforward.hpp.

## Public Member Functions | |

virtual void | fetchResults (const Results *) const |

void | notifyObservers () |

void | registerWith (const boost::shared_ptr< Observable > &) |

virtual void | setupArguments (Arguments *) const |

void | unregisterWith (const boost::shared_ptr< Observable > &) |

Inspectors | |

BusinessDayConvention | businessDayConvention () const |

const Calendar & | calendar () const |

const DayCounter & | dayCounter () const |

boost::shared_ptr < YieldTermStructure > | discountCurve () const |

term structure relevant to the contract (e.g. repo curve) | |

boost::shared_ptr < YieldTermStructure > | incomeDiscountCurve () const |

term structure that discounts the underlying's income cash flows | |

bool | isExpired () const |

returns whether the instrument is still tradable. | |

virtual Date | settlementDate () const |

Calculations | |

Real | cleanForwardPrice () const |

(dirty) forward bond price minus accrued on bond at delivery | |

Real | forwardPrice () const |

(dirty) forward bond price | |

Real | spotIncome (const Handle< YieldTermStructure > &incomeDiscountCurve) const |

NPV of bond coupons discounted using incomeDiscountCurve. | |

Real | spotValue () const |

NPV of underlying bond. | |

Inspectors | |

Real | errorEstimate () const |

returns the error estimate on the NPV when available. | |

Real | NPV () const |

returns the net present value of the instrument. | |

Constructors | |

FixedCouponBondForward (const Date &valueDate, const Date &maturityDate, Position::Type type, Real strike, Integer settlementDays, const DayCounter &dayCount, const Calendar &calendar, BusinessDayConvention businessDayConvention, const boost::shared_ptr< FixedCouponBond > &fixedCouponBond, const Handle< YieldTermStructure > &discountCurve=Handle< YieldTermStructure >(), const Handle< YieldTermStructure > &incomeDiscountCurve=Handle< YieldTermStructure >()) | |

Calculations | |

virtual Real | forwardValue () const |

forward value/price of underlying, discounting income/dividends | |

InterestRate | impliedYield (Real underlyingSpotValue, Real forwardValue, Date settlementDate, Compounding compoundingConvention, DayCounter dayCount) |

Calculations | |

These methods do not modify the structure of the object and are therefore declared as `const` . Data members which will be calculated on demand need to be declared as mutable. | |

void | freeze () |

void | recalculate () |

void | unfreeze () |

Modifiers | |

void | setPricingEngine (const boost::shared_ptr< PricingEngine > &) |

set the pricing engine to be used. | |

Observer interface | |

void | update () |

## Protected Member Functions | |

void | performCalculations () const |

Calculations | |

void | calculate () const |

virtual void | setupExpired () const |

## Protected Attributes | |

BusinessDayConvention | businessDayConvention_ |

bool | calculated_ |

Calendar | calendar_ |

DayCounter | dayCount_ |

Handle< YieldTermStructure > | discountCurve_ |

boost::shared_ptr< PricingEngine > | engine_ |

boost::shared_ptr < FixedCouponBond > | fixedCouponBond_ |

bool | frozen_ |

Handle< YieldTermStructure > | incomeDiscountCurve_ |

Date | maturityDate_ |

maturityDate of the forward contract or delivery date of underlying | |

boost::shared_ptr< Payoff > | payoff_ |

Integer | settlementDays_ |

Real | underlyingIncome_ |

Real | underlyingSpotValue_ |

Date | valueDate_ |

Results | |

The value of this attribute and any other that derived classes might declare must be set during calculation. | |

Real | errorEstimate_ |

Real | NPV_ |

The documentation for this class was generated from the following files:

- QuantLib-0.3.14/ql/Instruments/fixedcouponbondforward.hpp
- QuantLib-0.3.14/ql/Instruments/fixedcouponbondforward.cpp

Generated by Doxygen 1.6.0 Back to index