R
Rijeka / SRT Pricer
Live One-factor Gaussian copula · QMC default times

Synthetic risk transfer pricer.
One engine. Four products.

CDS, CDX, RPA and SRT are economically the same trade — pay a premium, absorb default losses on a reference obligation. What changes is the underlying (single name, index, derivative exposure, loan pool) and whether losses get tranched. This tool prices all four with the same engine.

Inputs — every amber field is editable
Outputs — every teal value is computed live
Engine ready — paths — ms
01 · Reference pool
Edit any cell. Add or remove loans. Paste a CSV.
# Loan ID Notional ($MM) PD 1Y (bps) LGD (%) Sector Rating
Pool totals
02 · Pricing assumptions
All overridable
Asset correlation 0.20
Risk-free rate 4.00%
Horizon 5.0y
Premium frequency per year
Monte Carlo paths per run
Recovery model
03 · Tranche structure
Edit attach / detach
Tranche Attach % Detach % Held
Pool loss %
04 · Pool-level outputs
Expected and tail losses on the reference pool
Pool notional
— loans
Expected loss
— of pool
Unexpected loss (1σ)
— of pool
99% VaR
— of pool
99.9% VaR
— of pool
99.5% ES
— of pool
05 · Tranche fair pricing
PV(loss leg) / PV(annuity) = running spread
Tranche Attach Detach Width Notional EL EL % PV(loss) PV(annuity) Fair spread

Loss distribution

Pool loss across 2,000 simulated paths · tranche attach/detach overlaid

Correlation sensitivity

Fair spread (bps) vs asset correlation ρ — the SRT smile
06 · Same reference pool, four wrappers
One credit source — what each product would charge to wrap it
CDS
single-name bond
bps run
single name at notional-weighted avg PD & LGD
Underlying: 1 bond · Untranched · Unfunded
CDX
pool of bonds (untranched)
bps run
full pool EL rate, pari-passu across names
Underlying: pool · Untranched · Unfunded
RPA
counterparty exposure
bps run
same EL applied to derivative EAD instead of bond
Underlying: derivative EPE · Untranched · Unfunded
SRT mezz
tranched loan pool
bps run
mezz tranche only — concentrated EL, higher spread
Underlying: loans · Tranched · Often funded
07 · Capital relief estimator
Indicative — assumes EBA-style significant risk transfer
Pre-SRT pool RW 75%
Retained senior RW 15%
CET1 target ratio 11.0%
Issuance cost 8.0%
Pre-SRT
Pool notional
Risk weight75%
RWA
CET1 consumed
Post-SRT
Senior RWA (at retained RW)
Junior RWA (1250% if retained)
RWA
CET1 consumed
Net result
RWA released
Capital released (CET1)
Premium leg cost (annual)
Cost / freed capital
Significant Risk Transfer test (mezz risk transferred):
Methodology & assumptions

Default model. One-factor Gaussian copula. For each loan i, the latent variable is X_i = √ρ · M + √(1−ρ) · Z_i where M is the common factor and Z_i the idiosyncratic shock, both standard normal.

τi = −ln(1 − Φ(Xi)) / λi,    λi = −ln(1 − PDi)

Each path produces a default time τi per loan. If τi < T, the loan defaults and contributes loss = Notional × LGD.

Tranche loss. For attach A and detach D, tranche loss = max(0, min(L, D) − A) applied at the time of each loss. Tranche notional amortises by realised losses; remaining notional accrues premium.

Fair spread = PV(loss leg) / PV(annuity leg) × 10,000 bps

Why this prices all four products. CDS = single name, no tranching. CDX = pool of names, full pool exposure (attach 0% / detach 100%). RPA = same engine on counterparty EAD instead of bond notional. SRT = tranched. The shared DNA is PV(premium) = PV(expected loss) on a credit curve. Tranching adds correlation as a first-order driver — that's the SRT-specific complexity.

Capital relief. Indicative RWA savings assuming Basel SEC-IRBA-style risk weights on the retained senior, full transfer of the sold mezz, and a CET1 target ratio you select. Significant Risk Transfer requires at least 50% of mezz risk transferred per CRR Article 245 — flagged as pass/fail.

For institutional decisions, mark-to-market this engine against your dealer pricing and validate against your firm's SEC-IRBA/SEC-SA calibration. Reach out via rijeka.app for a validation engagement.