# QuantLib_FixedRateBondForward man page

FixedRateBondForward — Forward contract on a fixed-rate bond

## Synopsis

`#include <ql/instruments/fixedratebondforward.hpp>`

Inherits **Forward**.

### Public Member Functions

**Constructors**

**FixedRateBondForward** (const **Date** &valueDate, const **Date** &maturityDate, Position::Type type, **Real** strike, **Natural** settlementDays, const **DayCounter** &dayCounter, const **Calendar** &calendar, **BusinessDayConvention** businessDayConvention, const boost::shared_ptr< **FixedRateBond** > &fixedCouponBond, const **Handle**< **YieldTermStructure** > &**discountCurve**=**Handle**< **YieldTermStructure** >(), const **Handle**< **YieldTermStructure** > &**incomeDiscountCurve**=**Handle**< **YieldTermStructure** >())

**Calculations**

**Real forwardPrice** () const

(dirty) forward bond price **Real cleanForwardPrice** () const

(dirty) forward bond price minus accrued on bond at delivery **Real spotIncome** (const **Handle**< **YieldTermStructure** > &**incomeDiscountCurve**) const

NPV of bond coupons discounted using incomeDiscountCurve. **Real spotValue** () const

NPV of underlying bond.

### Protected Member Functions

void **performCalculations** () const

### Protected Attributes

boost::shared_ptr< **FixedRateBond** > **fixedCouponBond_**

### Additional Inherited Members

## Detailed Description

Forward contract on a fixed-rate bond

- 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 ( $P$ refers to a price):

a. $ P_{CleanFwd}(t) = P_{DirtyFwd}(t) - AI(t=deliveryDate) $ where $ AI $ refers to the accrued interest on the underlying bond.

b. $ P_{DirtyFwd}(t) = ac{P_{DirtySpot}(t) - SpotIncome(t)} {discountCurve->discount(t=deliveryDate)} $

c. $ SpotIncome(t) = sum_i left( CF_i imes incomeDiscountCurve->discount(t_i) right) $ where $ CF_i $ 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-rate bond**

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

**Examples: Repo.cpp**.

## Constructor & Destructor Documentation

## Member Function Documentation

### Real spotIncome (const Handle< YieldTermStructure > & incomeDiscountCurve) const [virtual]

NPV of bond coupons discounted using incomeDiscountCurve. Here only coupons between max(evaluation date,settlement date) and maturity date of bond forward contract are considered income.

Implements **Forward**.

### void performCalculations () const [protected], [virtual]

In case a pricing engine is **not** used, this method must be overridden to perform the actual calculations and set any needed results. In case a pricing engine is used, the default implementation can be used.

Reimplemented from **Instrument**.

## Author

Generated automatically by Doxygen for QuantLib from the source code.

## Referenced By

The man pages cleanForwardPrice(3), fixedCouponBond_(3), FixedRateBondForward(3), spotIncome(3) and spotValue(3) are aliases of QuantLib_FixedRateBondForward(3).