Back
28.08.2023
Bond Maths: How to Calculate Price
Bond Maths: How to Calculate Price
358

Key thoughts

  • Bond prices are quoted as a percentage of par value.

  • Par value is the amount to be repaid at maturity.

  • You need to multiply the bond price by its par value and add the accrued coupon income to understand how much you should pay for a bond.

  • Coupons are accrued on the par value.

You probably want to know how much you have to pay to buy a bond. There are a few tricks you should know.

The BNP 2.875 Dec 2024 bond.

See the 99.01% under the price tag above?

Remember, it's not in euros, it's a percentage of the par value

The par value (also called principal or face value) is the amount that will be paid back to the investor at maturity for each bond held. For most bonds, it is equal to 1000 euros or dollars or other currency units.

The par value is also good to know because interest (or coupon) is accrued and paid on the par value, not the market value. 

Example: if the bond price is 90%, the par value is 1000 and the stated coupon rate is 10%, the amount of interest income for this bond will be 100 (1000 * 10%) for 1 year, not 90 (90% * 1000 * 10%).

Bonds are almost always issued at 100% price, or at par, but the price will definitely fluctuate during the life of this bond. 

There is another trick to the way bonds are quoted. 

They are quoted at what is called a clean price, i.e. clean of any interest that has accrued but not been paid since the last coupon payment date. But every time you buy a bond, you have to compensate a seller for that amount of accrued interest.

Similarly, if you sell the bond before its stated maturity, a buyer will also compensate you for the accrued interest. 

The price shown in the widget above is the clean price. The price including the accrued interest is called the dirty price and this is the price you will actually have to pay to the seller.

 

So how the hell do you calculate this stuff?

Here is the full formula:

Closing price = (Clean price + Coupon rate * Days since last payment date / 360 ) * Par 

Example:

Back to the BNP bond in the widget. Let's say today is 1 August 2023. The last time the bond paid a coupon was on 20 December 2022. The coupon rate is 2.875%.

Then the amount of euros you will pay to buy a bond is:

(99.01% + 2.875% * 224 / 360) * 1000 = EUR 1007.7

 

A bit fancy, isn't it? That's the tradition of bond trading, there's nothing you can do about it. 

This article does not constitute investment advice or personal recommendation. Past performance is not a reliable indicator of future results. Bondfish does not recommend using the data and information provided as the only basis for making any investment decision. You should not make any investment decisions without first conducting your own research and considering your own financial situation.