1. The engine identity
The core valuation equation is deterministic:
PV = Σt E[CFt] × DFOIS(t) × exp(−s·τ)
Contractual cashflows are projected from the deal terms, adjusted for hazard-rate credit loss and LGD recovery, and discounted on the OIS curve with a facility-specific spread. There are no learned weights in the pricing path, no stochastic draws, and no Monte Carlo drift. Same inputs and same engine version produce the same outputs, reconcilable to the basis point against the engine version that produced them.
2. Approach router
Verus selects among three approaches on a per-facility basis. Enterprise-value coverage sets the blend when EV inputs exist; an impairment review with a breach, or a base-case yield above 20%, also forces a blend without them:
- Yield (DCF). The default for performing credits with adequate coverage.
- Recovery. An EV-waterfall allocation discounted at a distressed rate, applied when coverage is inadequate.
- Blended. A probability-weighted mix of base (yield), downside (yield with a spread uplift scaled to under-coverage), and recovery paths, weighted by explicit scenario probabilities.
The router is deterministic: given the deal, the assumption set, and the coverage inputs, the same path is taken every time.
3. Spread calibration
The yield-path spread has one of two anchors, and every run records which. Where a transaction price has been calibrated, the spread is solved from it and carried forward with a market drift. Otherwise the anchor is the Verus rating-model grid: the spread for the facility's implied rating and capital structure, plus sector and country add-ons. A grid spread already prices expected loss, so the base mark on that anchor discounts contractual cashflows rather than hazard-adjusted ones.
- Solve at origination. The issuance price is inverted against the DCF identity to recover an implied spread (bisection on whole basis points, bracketed at [−500, +10,000] bps). The solved spread is advisory until an analyst applies it.
- Drift. At each subsequent valuation date, the calibrated spread is adjusted by the change in the appropriate Verus spread-composite bucket, keyed by rating and market environment. An explicit override is accepted when a curated drift is preferred.
- Trace. Every calibrated or grid-anchored run records a CalibrationTrace containing the anchor and its source, the drift applied and its source, the company and structural deltas, and the final spread used — stored alongside the run for audit reproducibility.
4. Scenario weights
When enterprise-value inputs are supplied, or an impairment breach or a base-case yield above 20% forces a blend, three scenarios are repriced and blended on the following defaults:
| Coverage condition | Base | Downside | Recovery |
|---|---|---|---|
| No EV inputs | 1.00 | 0.00 | 0.00 |
| Coverage ≥ 1.0 | 0.85 | 0.10 | 0.05 |
| Coverage < 1.0 | 0.30 | 0.40 | 0.30 |
| Impaired, or base yield above 20% | 0.10 | 0.20 | 0.70 |
Weights can be overridden per run or per sensitivity grid point. The three probabilities are constrained to sum to one.
5. Fair-value hierarchy (IFRS 13 / ASC 820)
Private debt is generally Level 3. Verus records the declared classification on the assumption set and also resolves a dynamic classification:
- Level 2 when an observable comparable price is supplied, or a reliable broker quote is on file, and the fair value sits within the configured tolerance (default 1.0 price point) of it.
- Level 3 otherwise.
The resolved classification is carried in the run output so that disclosures reconcile to the engine, not to a manually asserted label.
6. Confidence range
Two ranges accompany a mark, and each response names the one it carries.
- Spread-percentile ladder. The facility is repriced at seven spread percentiles (5th, 10th, 25th, 50th, 75th, 90th, 95th) using standard normal quantiles and a spread volatility set by capital structure: 75 bps senior secured, 90 unitranche, 100 senior unsecured, 120 second lien and subordinated, 150 mezzanine, 85 otherwise. Each percentile is labelled by the valuation it produces (a tight spread produces an optimistic valuation). The unified valuation path reports the 5th and 95th percentile valuations as the low and high for pure-yield facilities.
- Driver-width band. The valuation endpoints price the facility at its anchor spread and at half a band width either side. The width is the sum of calibrated drivers — leverage, illiquidity, subordination and data staleness — topped up to 100 bps when they sum to less than 50, and each driver is shown with its contribution.
Blended facilities report scenario bounds instead: the recovery scenario as the low, the base scenario as the high. An empirical spread-volatility surface derived from the Verus spread composite drives portfolio value-at-risk; it does not yet set single-facility ranges.
7. Governance surface
Every deal and every run are governable objects with their own state:
- Four-eyes approval. Deals and valuation runs can be submitted for review and require an independent approver before they are marked active.
- Revaluation policy. Each deal carries an explicit revaluation cadence; a fleet-wide view surfaces overdue marks.
- Calibration history. Every recalibration event is appended to an immutable history keyed to the deal, with the spread solved, the market drift, and the effective date.
8. Audit trail and reproducibility
Every object that participates in a run is content-addressed by a SHA-256 hash of its sorted JSON representation — deal terms, assumption sets, and runs each carry a version id that is stable under reordering and deterministic across environments. Re-running a historical valuation from its recorded inputs and market-data snapshot, on the same engine release, reproduces it to the basis point; a snapshot that no longer matches its recorded hash is refused rather than silently repriced.
9. What Verus does not do
- No black-box ML in the pricing path.Generative or learned models are never used to compute a valuation, a spread, a recovery rate, or any figure that appears on a mark.
- No silent overrides. Every numerical choice is either an input on the deal, a field on the assumption set, or a documented default. Overrides leave an explicit trace.
- No undisclosed model churn. Every engine change is a reviewed release gated by the golden-number harness and recorded in the methodology change log with its effect on marks. Sub-model tables and calibration vintages carry version labels. Stored runs are never silently re-run when the methodology changes.
10. Validation
Every engine change runs a ten-check validation suite and a golden-number harness in CI. The checks cover determinism, positivity and bounds on PV and price, non-negative expected loss, monotonicity in spread, default probability and recovery, cashflow-to-PV consistency, and component additivity. The harness freezes PV, price, yield and DV01 on ten canonical deals and fails any change that moves them by more than about 0.1 bp without a deliberate re-baseline.
An SR 11-7 / SS1/23-aligned model risk summary is published at /model-risk: the adversarial challenger that runs today, the Comparable-Spread Reprice challenger committed for the first production book, and the back-testing cadence. The methodology whitepaper, with its known-limitations register and change log, is available under NDA (§12). Outcomes analysis and back-testing results begin with the first production book.
11. Related public documents
- /legal/ai-usage — where AI is and is not used in the product.
- /trust — security posture and compliance status.
- /sample-report — a walk-through of what a valuation output looks like in practice.
12. Requesting the full whitepaper
The long-form PDF whitepaper — including the complete equation set, the approach-router pseudo-code, the spread volatility surface derivation, and the validation-suite specification — is available under NDA from legal@markst.com. We return it within one business day alongside the change log for recent methodology releases.