Calculate the probability of failure of Campbell, Hilscher and Szilagyi (2008), a logit model that combines accounting figures with market data to predict failure: a bankruptcy filing, a delisting or a D (default) rating. It measures profitability and leverage against the market value of the assets rather than the book value, and adds the excess return of the shares, their volatility, the company’s size, its cash, its market-to-book ratio and its share price. In the paper it predicts failure better than Shumway’s (2001) model and than the Merton distance to default.

The model is the 12-month-ahead logit of Table IV, column (3), of the paper:

  • LPFD = -9.164 - 20.264 NIMTAAVG + 1.416 TLMTA - 7.129 EXRETAVG + 1.411 SIGMA
  • 0.045 RSIZE - 2.132 CASHMTA + 0.075 MB - 0.058 PRICE
  • Failure Probability = 1 / (1 + e^(-LPFD))

with:

\[\text{MTA} = \text{Market Value of Equity} + \text{Total Liabilities} (\text{the market value of total assets})\] \[\text{NIMTA} = \text{Quarterly Net Income} / \text{MTA},\;\; \text{and NIMTAAVG its average over four quarters with weights that halve every}\; \text{quarter:} (1 - \text{φ} ^{3}) / (1 - \text{φ¹} ^{2}) \cdot (\operatorname{NIMTA}(t) + \text{φ} ^{3} \operatorname{NIMTA}(t-1) + \text{φ⁶} \;\text{NIMTA} (t-2) + \text{φ⁹} \;\text{NIMTA} (t-3)),\;\; \text{φ} = 2 ^{- 1 / 3}\] \[\text{EXRET} = \ln(1 + \text{Return}) - \ln(1 + \text{S\&P} 500 \;\text{Return}) \text{per month},\;\; \text{and EXRETAVG its average over twelve}\; \text{months:} (1 - \text{φ}) / (1 - \text{φ¹} ^{2}) \cdot (\operatorname{EXRET}(t) + \text{φ} \;\text{EXRET} (t-1) + ... + \text{φ¹¹} \;\text{EXRET} (t-11))\] \[\text{TLMTA} = \text{Total Liabilities} / \text{MTA}\] \[\text{CASHMTA} = \text{Cash and Short Term Investments} / \text{MTA}\] \[\text{MB} = \text{Market Value of Equity} / \text{Adjusted Book Equity},\;\; \text{where} \;\; \text{Adjusted Book Equity} = \text{Book Equity} + 0.1 \cdot (\text{Market Value of Equity} - \text{Book Equity}) (\text{Cohen},\; \text{Polk and Vuolteenaho},\; 2003),\;\; \text{and a value that is still not positive becomes 1}\] \[\text{SIGMA} = \sqrt{252 / (N - 1) \cdot \text{Σ} r ^{2}},\;\; \text{the annualized volatility around zero of the N daily returns of the three months before},\;\; \text{NaN with fewer than five non-zero returns}\] \[\text{RSIZE} = \ln(\text{Market Value of Equity} / \text{Total Market Value of the}\; \text{S\&P} 500)\] \[\text{PRICE} = \ln(\min(\text{Share Price},\; 15))\]

Book Equity is Total Shareholder Equity plus Deferred Tax Liabilities minus Preferred Stock (Davis, Fama and French, 2000), the latter two counted as zero when not reported. The market value of equity is the closing price times the diluted weighted average shares, the returns are total returns (Adj Close) against the S&P 500 total return index (^SP500TR), and every market variable is measured on the day each period’s figures apply from (the fiscal period end, or the filing day with point_in_time): no market data after that day is used.

The probability is that of failing in the month 12 months ahead, given that the company survives until then. It is a monthly probability, not the probability of failing within a year. For comparison, between 0.4% and 3.7% of the companies in the paper’s sample failed per year from 1983 to 2003 (Table I).

Also known as: CHS model, failure probability, distress risk, default probability, LPFD.

Campbell-Hilscher-Szilagyi Score in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_campbell_hilscher_szilagyi_score as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(
    ["F", "AAPL"],
    api_key="FINANCIAL_MODELING_PREP_KEY",
    start_date="2021-01-01",
    end_date="2025-12-31",
)

toolkit.models.get_campbell_hilscher_szilagyi_score().loc["F"]

Or, after setting up the Finance Toolkit MCP, ask:

What did the Campbell-Hilscher-Szilagyi model say about Ford's probability of failure from 2021 to 2025, and which inputs drove it?

Which returns:

  2021 2022 2023 2024 2025
Net Income to Market Assets (NIMTAAVG) 0.0153 -0.0019 0.0039 0.0052 -0.0067
Liabilities to Market Assets (TLMTA) 0.7133 0.82 0.8239 0.8579 0.8291
Excess Return (EXRETAVG) 0.0573 -0.0308 -0.007 -0.037 0.015
Volatility (SIGMA) 0.4477 0.4187 0.4069 0.3133 0.3746
Relative Size (RSIZE) -6.773 -6.773 -6.7827 -7.2053 -7.0859
Cash to Market Assets (CASHMTA) 0.1697 0.1699 0.1436 0.1369 0.126
Market to Book (MB) 1.567 1.0379 1.1113 0.8788 1.3456
Log Price (PRICE) 2.708 2.4536 2.5006 2.2925 2.5741
CHS Score -8.3383 -7.2758 -7.5146 -7.3842 -7.4308
Failure Probability 0.0002 0.0007 0.0005 0.0006 0.0006

Parameters

get_campbell_hilscher_szilagyi_score accepts the following parameters.

ParameterTypeDescriptionExample
roundingint | NoneThe number of decimals to round the results to. Defaults to None, which uses the Toolkit’s rounding.2
show_columnslist[str] | NoneThe periods to show. Defaults to None, all periods.None, all periods
Share