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.

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