A two-engine distress screen I designed and built: a filings pipeline across the whole SEC population, and an autonomous research agent for the private companies that file nothing anywhere.
A credit fund wanted every US energy and power company in financial distress, public and private, with whatever assets and liabilities could be found against each one. What it had was a workbook of 44 names, 24 public and 20 private, assembled by a partner out of what he knew and who he talked to. That list is the best a well-connected person can do by hand, and it is also the ceiling on what a person can do by hand.
I built two engines. The first reads the whole public filing population rather than a watchlist, pulling event tags, full text, financial statements and listing data, which is exact and same-day and free. The second is an autonomous research agent driving a real browser through court records, claims-agent sites and law firm notices, because roughly half of the target market is privately held and files nothing with any regulator. A filings-only screen does not miss those companies, it never contained them. The agent proposes and fixed software checks decide, so nothing it finds reaches the list on its own word and the output reproduces exactly.
It examined 387 companies and delivered 194. Against the partner's own workbook: 31 of his 44 survived on the same evidence, 163 names on the screen were ones he had never had, and 13 of his did not survive the test, each excluded by a rule rather than by an opinion. One of his had restarted its refinery and taken a provincial loan. One had been acquired and was operating under the buyer's name. One was still running, having paused a line of business and laid off 29 people, which is a watch item and not a distressed borrower. His list was not wrong so much as unread.
The same discipline is what made it read sentences rather than match them. 571 companies matched going-concern language and 286 were saying it about themselves. The rest were reciting an accounting standard, describing a counterparty, quoting contract language, or denying the problem in a sentence that contains every term a keyword search looks for. Seven of the largest energy companies in the world were refused on their own filings.
Then the review did the same thing to my own work. 56% of the liabilities total was resting on companies whose distress signal had never been read down to a sentence, one of them carrying 36% of the total on a filing code that turned out to be a refinancing at a premium rather than a default. That money came out before the deliverable shipped, taking the headline from $121.3bn to $53.1bn and the screen from 209 names to 194. Three independent adversarial review passes, run by a different model family, found eight defects, then one, then none.
You getEvery name in your market that meets the test rather than the ones you happen to know, and a screen whose refusals are on the record, so what survives is worth the desk time and the number survives an investment committee.
What it does not proveThis is a screen, not underwriting, and I do not claim the credit decisions taken off it. Finding more names is only worth something because the ones that failed the test are on the record with their reason, including thirteen of the client's own, three of which I can show you the sentence for. It finds companies entering distress and not leaving it, so an absent exit is recorded as unverified rather than as an open case. The liabilities total is concentrated enough that it has to be read as a range and never as a market size, and 147 companies matched on language with no filing anyone could read: held off the list and marked unverified, which is not the same as clean.