Sunday, December 29, 2019

Valuing a Convertible Bond-Derivative Pricing in Python

In a previous post, we presented a theoretical framework for pricing convertible bonds and preferred shares.  We also provided an example of pricing a convertible bond in Excel. In this installment, we present an example of pricing a convertible bond in Python.

Recall that a convertible bond (or preferred share) is a hybrid security, part debt, and part equity. Its valuation is derived from both the level of interest rates and the price of the underlying equity. Several convertible bond pricing approaches are available to value these complex hybrid securities such as Binomial Tree, Partial Differential Equation and Monte Carlo simulation. One of the earliest approaches was the Binomial Tree model originally developed by Goldman Sachs and this model allows for an efficient implementation with high accuracy. The Binomial Tree model is flexible enough to support the implementation of bespoke exotic features such as redemption and conversion by the issuer, lockout periods, conversion and retraction by the shareowner.

Details of the hypothetical convertible bond are as follows:

Valuation date:  14 February 2017

Issue date: 1 January 2017

Maturity: 1 January 2019

Coupon: 3%

Credit spread: 0.75%

Risk-free rate: 2%

Stock price: 52

Volatility: 15%

Dividend: 0%

The picture below shows the bond price obtained by using a third-party program.

pricing convertible bonds

Using the Python program, we obtain a clean price of 113.27

Derivative valuation of convertible bonds

Follow the link below to download the Python program.

Originally Published Here: Valuing a Convertible Bond-Derivative Pricing in Python