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.
The risk radar reduces each theme to one of four states. They describe what the data shows this run — nothing more.
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.
Are public credit markets demanding more compensation for risk? Private marks tend to lag this public signal, so it is an early read.
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.
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.
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.
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.
Is the dividend being earned, or paid out of capital? Measured from net investment income (NII), the recurring earnings of a lender.
Two coverages, on purpose. Quarterly annualizes only the latest quarterly common distribution, so a multi-quarter declaration 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 quarterly coverage across the funds with comparable SEC facts:
A fund earns $0.48 NII/share and declares a $0.44 quarterly distribution → 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, same-period computed NetInvestmentIncome / WeightedAverageNumberOfSharesOutstandingBasic where the per-share tag is stale, and quarterly distribution tags including CommonStockDividendsPerShareDeclared / InvestmentCompanyDistributionToShareholdersPerShare; PSEC uses a validated 10-Q common-distribution table. PIK income reliance (PIK income ÷ total investment income) is parsed from XBRL where issuers tag it; PIK portfolio exposure stays Unknown.
How much cushion sits above the legal borrowing limit? BDCs must keep assets at a multiple of their senior debt.
The 1940-Act floor for most BDCs is 1.5×; higher coverage = more cushion. This D/E is derived from filed asset coverage, not a filed metric — hence regulatory-implied: because the Act lets BDCs exclude SBIC-subsidised and certain other debt from the asset-coverage 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).
The portfolio radar takes the weakest fund, so the aggregate is never greener than its worst constituent.
Asset coverage 1.72× → Regulatory-implied D/E = 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.
What filed balance facts can Px read about a BDC's own funding stack? This is the first layer of back-leverage coverage: balances and capacity, not yet pricing or maturities.
The radar is Amber when filed balance facts parse, because the balance layer is observable but still incomplete. Pricing, maturity ladders, collateral haircuts, lender names and amendment terms stay Unknown until the facility footnote parser is validated issuer by issuer. Px does not infer those terms from portfolio-company borrowing tables.
Source: SEC XBRL company facts — LongTermDebt, LineOfCreditFacilityRemainingBorrowingCapacity, DebtInstrumentUnusedBorrowingCapacityAmount, LineOfCredit and related balance tags.
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.
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.
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).
Is there a substantive rule change in the private-credit perimeter, or just procedural noise?
Source: SEC releases and rule dockets, impact-weighted so procedural noise doesn't drive the flag.
Each signal above answers one question. The Px Watch State combines them into a single per-fund read — a deterministic synthesis, not a recommendation. Same inputs → same state.
It scores already-parsed inputs — base NII coverage, NAV QoQ, non-accruals (fair value, high-confidence only), asset coverage and PIK reliance — on policy thresholds (tunable), and a red 8-K (acceleration / restatement), which the SEC item number itself identifies, is read as Stress. A routine facility 8-K — an amendment, a revolver extension, a new credit agreement — is shown in the briefing and triggers an alert, but because Px classifies rather than parses its terms (and credit-agreement boilerplate names "covenants" and "events of default" either way), it does not by itself move a fund's verdict. Each fund card shows its state and the top reasons; the BDC section shows the portfolio mix. A triage read across the watched set — never a judgment to buy, sell or hold any fund.
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.
| Source | Feeds | Cadence |
|---|---|---|
| SEC XBRL company facts / concepts | NAV/share, NII/share, dividends, asset coverage | Quarterly (filing-driven) |
| SEC 10-Q / 10-K text | Non-accruals (validated issuers) | Quarterly |
| SEC N-PORT position-level holdings | Per-CLO-ETF: net assets & quarterly trend, issuer/deal concentration, fair-value Level 1/2/3 mix, held-tranche default/arrears/PIK flags, reported coupon & floating share, tranche seniority, stated legal-final maturities, issuer domicile & restricted %, position turnover, and cross-fund overlap | Quarterly, lagged |
| FRED ICE BofA OAS | SOFR; US IG & HY, Euro HY, Asia and EM (IG / HY / broad) corporate credit spreads | Daily |
| FRED / OECD monthly proxies | Japan call rate, China 3-month interbank (policy-stance proxies, tagged monthly) | Monthly, lagged |
| ECB Data Portal SDMX, free / no key | €STR, euro AAA-government curve; EU credit conditions (Section 6): Bank Lending Survey credit standards & loan demand for enterprises, composite cost of borrowing for corporations, adjusted MFI loan growth to non-financial corporations, and CISS systemic-stress index — euro-area aggregates, walled from the US instrument view | Daily / monthly / quarterly |
| Bank of England IADB | SONIA, Bank Rate | Daily |
The global credit tape at the top of each briefing groups these rates and spreads by region. Honest labels are load-bearing: the Asia series is the ICE BofA Asia emerging-markets corporate OAS (not an IG-only gauge); the Japan and China rates are monthly OECD proxies for the policy stance, not the daily target, and are tagged monthly so they never read as live daily prints; and a euro investment-grade corporate OAS has no free public source, so Px shows it as Unknown rather than substitute a mislabelled series.
Provenance and the editorial rules — what Px will never do — are set out in How Px is made.
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.