Bankruptcy prediction model from Bharath and Shumway (2008 Review of Financial Studies)

I am posting this to share formulas I wrote to replicate the bankruptcy prediction model in Table 3 of Bharath and Shumway (2008 Review of Financial Studies).

Edited to post links to individual formulas:

  • Estimated face value of debt: $BSfv

  • Equity volatility: $BSsE

  • Debt volatility: $BSnaiveSD

  • Asset volatility: $BSnaiveSV

  • Distance-to-default: $BSnaiveDD

  • Merton-type probability of default: $BSnaivePD

  • Bankruptcy prediction index (Model 7 of Bharath and Shumway’s Table 3): $BSmod7

  • The formula also includes what they describe as a naive (i.e., easy-to-implement) version of the Merton probability of default (see the formula $BSnaivePD). Because Portfolio123 does not have a function for the cumulative normal distribution, I use a very close approximation as described in the description of the function.

I hope that some of you find this useful and please let me know if you discover any errors with it.

I am interested in reviewing this but am not able to open the formula.

Related:

See an earlier feature request: Feature Request: Normal distribution functions

Also, Jim Rinne turned me on to an approximation detailed in the following paper: https://pdfs.semanticscholar.org/8380/3622c7b9d393e99dff126e1b69a2aee10c1b.pdf. Equation 10, “Best Fit Two Parameter Logistic Function”, probably isn’t good for moon landings, but–in my experience–is good enough for pricing.

I edited the post to put links to the formulas rather than to the formula category. Hopefully the links will work.

Judson - have you put any of this to use yet? Do you find this useful?

Thanks for posting. Stochastic pricing models are my jam.

I haven’t read the paper, but I have initial thoughts:

[quote]
Estimated face value of debt: $BSfv
[/quote] Most companies hold debt on the balance sheet at face value already. Without the knowing maturities and YTMs of the bonds, I don’t think we can do any better than take this information at face value (pun not intended).

[quote]
Equity volatility
[/quote] It usually doesn’t make a big difference, but its technically more correct to use logarithms here instead of percent returns–i.e., [font=courier new]$e^(LoopStdDev(“Ln(Close(CTR)/Close(CTR+5))”,51,0,5,0) * 51^.5)-1[/font]. Also, you might even try something like: [font=courier new](LoopStdDev(“Close(CTR)-Close(CTR+5)”,51,0,5,0) * 51^.5) / LoopAvg(“Close(CTR+5)”,51,0,5,0)[/font].

[quote]
$BSsE - Debt volatility
[/quote] There may be no better to estimate debt volatility in P123 given the data we have. Still, this estimate is about as naive as it gets.

[quote]
$BSnaiveSD - Asset volatility
[/quote] If there is any correlation between equity and debt prices (there usually is!), I would suggest accounting for this through pooled variance. Pooled variance estimation of multi-assets portfolios is commonly used in Modern Portfolio Theory)

[quote]
$BSnaiveSV - Distance-to-default
[/quote] I think you could avoid some asymptotic results by discarding last year’s return on equity for the equity risk premium. Instead, I would try the leverage ratio (i.e., assets/equity) the or volatility ratio (i.e., vol_equity/vol_assets) multiplied by the long-term return on assets. Basically, you want to either be forward looking or risk-neutral here. Also, Model 7 already will capture any information contained in trailing returns.

[quote]
$BSnaiveDD - Merton-type probability of default
[/quote]Nice! This is the same approximation I just recommended!

[quote]
$BSmod7 - Bankruptcy prediction index (Model 7 of Bharath and Shumway’s Table 3)
[/quote] This looks like a standard regression score to estimate the probability of default. If so, the probit (i.e., inverse normal) function could be used to find the revised probability of default. Also, since you wanted the Russell, I would suggest using [font=courier new]Close(0,$RUA)/Close(252,$RUA)-1[/font] instead of [font=courier new]Aggregate(“TotalReturn”,#SP500,#CapAvg)[/font] .

Curious… how exactly would you use such a model? For stock picking? Bond picking? Risk management?

Also have you any success using it yet?

Again, thanks for sharing. I am excited to play around with this more when I get some time.

@InspectorSector , I have not used this for trading. I put it together for use in an MBA financial statement analysis class I teach at UCLA so that it will be readily available for students to use in making a screen. They have a group project, and part of it requires them to develop a screen that gives them a set of companies that they want to investigate further. The only thing I’ve done with the model is hand verify a few observations to make sure that I coded it correctly.

@primus, thanks for the comments. I tried to follow what Bharath and Shumway did as closely as possible. Some of the inputs, like using the prior year return as the expected return, are deliberately over-simplified, as they describe in the paper. One nice thing that they show is that, despite the simplicity, the model performs quite well out-of-sample. It lets you have your cake and eat it, too - easy to implement, and better performance.