The CHS Model bankruptcy

Hi Guys,

Any ideas how to correct the equation to have as close as possible representation of CHS Model ? My approach is as follows:

logit=
-8.87
-20.12*(NetIncBXorQ/(LiabTotQ+MktCap))
+1.6*(LiabTotQ/(LiabTotQ+MktCap))
-2.27*(CashEquivQ/(LiabTotQ+MktCap))
-7.88Log10(Pr26WRel%Chg/100))
+1.55
(PctDev(252,1))
-0.005*((LiabTotQ+MktCap)/(BookValQ+0.1*(MktCap-BookValQ)))
-0.09*Log10(Price)))

I’m not sure if the calculations are correct.

Moreover, I have no idea how to calculate : RS = log(Stock market cap/FTSE100 total market value)

Then we need to calculate conditional logit probability, this is easy:

(power(2.71828183,logit) / [(1 + power(2.71828183,logit)]

*e = 2.71828183

The problem is that I obtain quite strange values of logit (very large).

Article: http://www.stockopedia.com/content/improving-on-the-altman-z-score-part-1-the-chs-model-70693/
Source paper: https://dash.harvard.edu/bitstream/handle/1/9887619/JOIM_predicting_financial_11.pdf?sequence=2 [page 17-18]

It’s a big task. I suggest using the screener , doing it step by step, and using ShowVar() to check values. In fact a nice tutorial could come out of this.

Here’s a start. Enter these rules in the screener

Ticker(“IBM MSFT”)
showvar(@RS , log10(MktCap/FSum(“MktCap”, #All)))

When you run and change the report to ‘Screen Variables’ it you will see the values

IBM @RS=-2.44
MSFT @RS=-1.93

RS is just penalizing a stock for being small using a ratio of the stock’s market cap divided by total market cap. Since IBM is smaller than MSFT it gets a bigger penalty.

Custom Formula. Result is probability of distress. Beware that there are many companies now with negative Book Values.

1/(1+Pow(2.71828183,-8.87-20.12*(NetIncBXorQ/(LiabTotQ+MktCap))+1.6*(LiabTotQ/(LiabTotQ+MktCap))-2.27*(CashEquivQ/(LiabTotQ+MktCap)) - 7.88Ln(Pr26WRel%Chg / 100)+1.55(PctDev(60,1))-.005*(MktCap/21277040)+.07*((LiabTotQ+MktCap)/(BookValQ+0.1*(MktCap-BookValQ)))-0.09*Log10(Min(15,Price))))

Shaun, the custom formula you created surpasses the 255 character limit for custom formulas when trying to create a ranking system. Does anyone have any ideas for a workaround?

Andrea,

I haven’t tried using this formula and I am probably missing something but you can definitely add custom formulas in the ranking system.

Can you break the long formula up into multiple custom formulas and add/subtract them in the rank formula?

Hope I’m not missing something obvious.

Jim

An easier way would be to save the CHS-model as a custom formula - which allows more characters - and use this formula in the ranking system.

Example:
https://www.portfolio123.com/user_formula_edit.jsp?formulaid=49418&s=1

Sebastian

Does anyone use this formula? It’s flawed as written as it gives an N/A to any company with a 26-week relative price change of less than zero. I tried fixing it and the formula gave WLB a 0.00, in other words no chance of bankruptcy at all, which is absurd since they’re a company in deep distress and just announced that they’re thinking about declaring chapter 11, while it gave very high numbers to most of the stocks I invest in. So maybe my fix–to substitute

  • 7.88Log10(1+Pr26W%Chg / 100)+7.88log10(1+ benchclose(0)/benchclose(126))

for

-7.88*Log10(Pr26WRel%Chg/100))

is wrong, but heck if I know.

WLB’s AltmanZOrig is -0.70. But the problem with the Z-score is it gives negative numbers to almost 400 stocks in my universe, which is way too many. Any suggestions?