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
To download the accompanying Excel workbook or Python program for this post:
1. Subscribe to the newsletter. If you're already a subscriber, go to the next step
2. Once subscribed, refer a friend
After completing these steps, you’ll gain access to the file for this post, along with files for a dozen other posts.
Further questions
What's your question? Ask it in the discussion forum
Have an answer to the questions below? Post it here or in the forum