Px Methodology
how the engine calculates
← Back to the briefing

How Px calculates

Every number in the briefing is computed by a deterministic engine from public filings — the same inputs always produce the same output. No AI writes the figures, and nothing is guessed.

This page is the engine with the lid off: each signal's exact formula, the thresholds that turn it green, amber or red, the public source it reads, and a worked example. Click any term you don't know through to the glossary.

DeterministicPure calculation, no language model. Re-run it on the same filings and every digit is identical.
TraceableEach figure comes from a named SEC / central-bank source you can open and check yourself.
Honest about gapsWhere the filing doesn't say, Px shows Unknown — it never fills the hole with a guess.
01How to read a signal

Green is not "safe"

The risk radar reduces each theme to one of four states. They describe what the data shows this run — nothing more.

Green — no warning detected Amber — watch Red — material deterioration Unknown — insufficient data

Green means no warning sign was found in the inputs Px can see — not that a fund is safe, and not advice. Unknown is a real, deliberate state: when a filing doesn't disclose what a signal needs, Px shows Unknown rather than inventing a number. A parser that finds the disclosure but can't recognise its format also returns Unknown rather than a wrong figure.

02The signals, in formulas

Credit Stress

Are public credit markets demanding more compensation for risk? Private marks tend to lag this public signal, so it is an early read.

What it reads
signal = US High-Yield OAS (level, %) + 30-day change (Δ)
Red
level ≥ 5.00%, or rising with a 30-day move of ≥ +0.50 — the market is repricing credit risk materially higher.
Amber
level ≥ 3.75%, or the spread is rising — compensation is elevated or widening; watchful.
Green
below 3.75% and not rising — no broad credit-stress signal in the spread this run.
2.74% · this run
green < 3.75% · amber 3.75–5% · red ≥ 5% — a lower spread is less stress

These are policy thresholds Px uses for triage — not regulatory or market-standard cut-offs. They may be revised as the backtest and price history expand.

Worked example

HY OAS prints 2.74%, falling −0.05 over ~30 days. Below 3.75% and not rising → Green. The note still reminds you green ≠ safe.

Source: FRED — ICE BofA US High-Yield OAS (BAMLH0A0HYM2). Euro and EM HY OAS are tracked alongside for regional context.

Are the funds' own quarter-end marks drifting down? A breadth read across every watched BDC, not a single fund's move.

What it computes
f = funds whose NAV / share fell quarter-over-quarter breadth = f ÷ (all watched BDCs with NAV history)
median = the middle fund's quarter-over-quarter NAV/share change
Red
breadth ≥ 66% falling and the median decline is worse than −3% — broad and deep erosion, not one or two outliers.
Amber
breadth ≥ 66% with a milder median, or breadth ≥ 33% — a mixed-to-broad picture worth monitoring.
Green
fewer than a third falling — most funds held or rose this period.

Why depth as well as breadth: NAV is lagged and model-marked, so a single sharp outlier (shown on its own card) should not flip the whole portfolio red — Red is reserved for erosion that is broad and deep.

Worked example

NAV/share fell at 11 of 12 watched BDCs → breadth 92%, but the median decline is only −2.5%Amber, not Red. One fund at −9.9% shows on its card; it does not, alone, turn the portfolio red. A model-marked, quarter-end number, not a live price.

Source: SEC XBRL — NetAssetValuePerShare from each fund's latest periodic filing. Quarterly and lagged by design.

Yield Quality · dividend coverage

Is the dividend being earned, or paid out of capital? Measured from net investment income (NII), the recurring earnings of a lender.

Per-fund formulas
base NII coverage = NII per share ÷ base dividend per share × 100% total payout coverage = annualized NII per share ÷ TTM distributions per share × 100%

Two coverages, on purpose. Base annualizes only the latest quarterly declaration, so a one-off special dividend cannot distort it. Total payout sums the trailing twelve months of distributions, catching supplementals and specials. Above 100% means recurring income covers the payout; below means the fund is dipping into capital or gains. The radar flag below runs off base coverage across the funds with comparable XBRL:

Red
≥ 2 funds below 90% coverage, or any below 90% and they are ≥ 33% of funds with data — broad dividend-cover stress.
Amber
any fund below 90%, or half or more of funds running thin (90–110%) — mixed.
Green
every fund with data covers its dividend above 110%.
109% · example
red < 90% · amber 90–110% · green > 110% — above 100% the dividend is earned
Worked example

A fund earns $0.48 NII/share and declares a $0.44 dividend → coverage 109% → "thin cushion" (amber band). If three of five funds sit in the 90–110% band, the portfolio radar reads Amber.

Source: SEC XBRL — InvestmentCompanyInvestmentIncomeLossPerShare and CommonStockDividendsPerShareDeclared. PIK income reliance (PIK income ÷ total investment income) is parsed from XBRL — InterestIncomeOperatingPaidInKind and related tags — where issuers tag it; PIK portfolio exposure stays Unknown.

Leverage · asset coverage

How much cushion sits above the legal borrowing limit? BDCs must keep assets at a multiple of their senior debt.

Formula (1940-Act)
asset coverage = (total assets − liabilities excl. senior debt) ÷ senior securities (debt) Statutory D/E (ex. SBIC) = 1 ÷ (asset coverage − 1)

The 1940-Act floor for most BDCs is 1.5×; higher coverage = more cushion. The D/E is derived from coverage and labelled statutory, ex. SBIC on purpose: because the Act lets BDCs exclude SBIC-subsidised and certain other debt from this ratio, it reads healthier than true structural leverage. Full structural D/E — including SBIC and credit facilities — stays Unknown until the facility book is parsed (a Watch Floor upgrade target).

Green
asset coverage ≥ 1.8× — comfortable cushion to the 1.5× floor.
Amber
1.6×–1.8× — in the watch band: above the floor, below comfort.
Red
below 1.6× — thin cushion to the floor.

The portfolio radar takes the weakest fund, so the aggregate is never greener than its worst constituent.

1.72× · weakest fund
red < 1.6× · amber 1.6–1.8× · green ≥ 1.8× — higher coverage is more cushion
Worked example

Asset coverage 1.72× → Statutory D/E (ex. SBIC) = 1 ÷ (1.72 − 1) = 1.39×. Above the 1.5× floor but below the 1.8× comfort line, so the fund — and any book whose weakest fund sits here — reads Amber on leverage.

Source: SEC XBRL — InvestmentCompanySeniorSecurityIndebtednessAssetCoverageRatio.

Non-accruals

How much of the portfolio has stopped paying interest? A hard, backward-looking signal that a credit has gone bad — parsed from 10-Q text for funds whose disclosure format Px has validated.

Formulas
non-accrual % (fair value) = non-accrual FV ÷ total portfolio FV markdown = (1 − non-accrual FV$ ÷ non-accrual cost$) × 100% ← only when the dollar book is disclosed divergence proxy = (1 − FV% ÷ cost%) × 100% ← when only percentages are given

When a filing reports the non-accrual book in dollars at both cost and fair value, Px computes the true write-down. When it reports only percentages of the portfolio at cost and at fair value (different denominators), Px reports a clearly-labelled divergence proxy, not a markdown. A reading where any leg exceeds 30% of the portfolio is treated as a format misread and returned as Unknown rather than published. This guard exists because a parser that accidentally reads the wrong table can produce impossible-looking percentages — Px would rather return Unknown than publish a dramatic but wrong number.

Worked example

A fund carries 4.2% of portfolio fair value on non-accrual. The filing gives the dollar book at cost $310M and fair value $210M → markdown = (1 − 210 ÷ 310) × 100 ≈ 32% already taken on those names. If only percentages were disclosed, Px would show the divergence proxy instead and say so.

Source: SEC 10-Q / 10-K text, validated per-issuer parsers. Coverage is shown honestly on the briefing's scorecard (e.g. 7/12 watched BDCs this run).

Regulatory Risk

Is there a substantive rule change in the private-credit perimeter, or just procedural noise?

How it scores
drive = high-impact rule items (not procedural / exemptive routine)
Red
a high-impact rule change is flagged in the scan window.
Amber
elevated procedural activity worth watching.
Green
items surfaced, but none substantive — routine procedural / exemptive or context only.

Source: SEC releases and rule dockets, impact-weighted so procedural noise doesn't drive the flag.

03What the engine reads

Public records only

Px reads the primary public record directly — no scraped secondary reporting, no paywalled text. Each source carries its own cadence and lag, which the briefing states on every figure.

SourceFeedsCadence
SEC XBRL
company facts / concepts
NAV/share, NII/share, dividends, asset coverageQuarterly (filing-driven)
SEC 10-Q / 10-K textNon-accruals (validated issuers)Quarterly
SEC N-PORTNet assets, holdings count, CLO-tranche concentrationMonthly, lagged
FREDSOFR, US / Euro / EM High-Yield OASDaily
ECB Data Portal€STR, AAA-government curveDaily
Bank of England
IADB
SONIA, Bank RateDaily

Provenance and the editorial rules — what Px will never do — are set out in How Px is made.

04Where the engine stops

Limits we won't paper over

This is news & analysis, not investment advice. Px explains what the public record shows and links you to it. What you do with it is your decision.
05Alert logic

Why an alert fires

Px alerts do not fire because a ticker moved. They fire when a watched instrument has a new filing or source update and one or more credit signals changes materially. The alert names what changed and why it earned its colour — you read a reason, not a price tick.

Red
a hard deterioration — e.g. NAV fell sharply and base NII coverage dropped below 90%, or non-accruals jumped.
Amber
worth watching — dividend cover is thin, NAV declined, or non-accruals are present but contained.
Unknown
a watched fund filed, but key fields are not yet parsed — you are still told it filed, with whatever Px could read.
This is what the Watch Floor delivers. The briefing computes these signals for everyone; the Watch Floor turns them into an email the moment your watched fund files and its credit plumbing changes.
Read today's briefingSee these signals computed on this week's filings
Private Credit Intelligence · a research publication of Asakasa Technologies SRL (CUI 54809478)
News & analysis — not investment advice. You decide.