MethodologyFebruary 2026~10 min read

Pricing mF-ONE: From Monte Carlo to Discount

The SLF (Secured Lending Facility) buys mF-ONE at an 8.64% discount to NAV (net asset value). The vault buys it at 12.27%. These numbers come from a pricing engine that combines CVaR (Conditional Value at Risk) tail risk, onchain liquidity signals, and tier multipliers. This post walks through how two independent CVaR engines, one historical and one Monte Carlo, validate the risk anchor that feeds those discounts.

1. The Live Discounts

Every RAVA product that holds mF-ONE buys it at a discount to NAV. The discount is the price of illiquidity risk: how much margin the protocol needs between the purchase price and the redemption value to stay solvent in a tail scenario. Four products, four confidence levels, four discounts:

Live discount tiers (mF-ONE)
Yield productCVaR 90
6.22%
SLF lendingCVaR 95
8.64%
Structured productCVaR 99
10.20%
VaultCVaR 99.7
12.27%

The SLF, the primary lending facility, operates at the CVaR 95 tier. It buys mF-ONE at 91.36 cents on the dollar. The vault, which absorbs the deepest tail risk, buys at 87.73 cents. Every product has a different risk tolerance, and the discount widens accordingly.

These are not static parameters. They update daily as the pricing engine recalculates CVaR from market data and reads onchain liquidity signals. The rest of this post explains the CVaR component of that engine, specifically how two independent estimation methods produce the risk anchor that feeds the discount formula.

2. What Drives the Discount

The discount is not the CVaR number itself. CVaR is one of several inputs. The discount formula works in three steps:

Step 1: Static premium
A fixed 2.8% base covers operational and smart contract risk, independent of market conditions.
Step 2: Dynamic signals (0 to 8% spread)
Four signals are scored 0 to 100 and combined by weight: CVaR proxy score (20%), bleed rate (20%), which tracks how fast the fund's value erodes under stress, liquidity sleeve health (30%), and redemption queue pressure (30%). The composite score is mapped to a spread between 0% and 8%.
Step 3: Tier multipliers
The base discount (premium + dynamic spread) is scaled by a tier multiplier: 0.72x for yield, 1.0x for SLF, 1.18x for structured, 1.42x for vault.
Discount = (2.8% + composite_score × 8%) × tier_multiplier

For mF-ONE today, the composite score produces a base discount of 8.64%. The yield tier scales that down to 6.22% (0.72x). The vault tier scales it up to 12.27% (1.42x). The SLF sits at 1.0x, so 8.64% is both the base and the SLF discount.

CVaR carries 20% of the dynamic signal weight. But it is a structurally important input: it is the one signal derived from market risk rather than onchain state. The other signals (liquidity sleeve, queue pressure, bleed rate) can change within hours as onchain conditions shift. CVaR moves slowly, anchored to years of return data. It tends to set the floor. The onchain signals adjust the discount above that floor.

3. The CVaR Anchor: Two Engines

The CVaR signal that feeds the discount comes from the higher of two independent estimates. RAVA runs both a historical engine and a Monte Carlo engine on the same underlying data, then takes the max at each confidence tier.

Effective CVaRα = max(Historical CVaRα, MC CVaRα)

Historical CVaR sorts the observed daily returns, averages the worst tail, and scales to a monthly figure by multiplying by the square root of 21 trading days. It captures every extreme day in the data, including crisis events. But it can only measure what actually happened. If the sample contains no liquidity freeze, no sudden rate spike, the estimate will not account for those scenarios.

Monte Carlo CVaR generates 10,000 synthetic return paths, each 21 trading days long, calibrated to the same return series. Each path draws daily returns from a normal distribution fitted to the data, compounds them over 21 days, and records a terminal gain or loss.

CVaR is the average terminal loss in the worst tail. No square root scaling is needed because the losses are already monthly.

Both engines read from 5,040 days of dampened proxy basket returns: BKLN (senior loan ETF) 35%, HYG (high yield bond ETF) 20%, ARCC (business development company) 25%, MAIN (business development company) 20%, each scaled to half its raw volatility to reflect mF-ONE's more conservative profile.

That is over a decade of trading data for each constituent, with ARCC providing the longest history back to 2004 (5,040 days for the longest running constituents). BKLN and HYG provide data from their launch dates (2011 and 2007 respectively). The long window matters: it is why the historical engine captures extreme events that a normal distribution model cannot reproduce from summary statistics alone.

4. 10,000 Paths, 21 Days

The chart below shows the Monte Carlo simulation. Each faint line is one of 50 sample paths out of the full 10,000. The shaded bands mark the 5th to 95th percentile envelope, meaning 90% of all simulated outcomes fall within the shaded region. The white line is the median (the middle outcome).

Monte Carlo simulation: 10,000 paths, 21 trading days (mF-ONE proxy basket)

Starting from $100, the median path finishes at $100.17. The 5th percentile (the near worst case) finishes at $96.06, a 3.9% loss. The 95th percentile finishes at $104.45.

The fan is tight because mF-ONE is a low volatility basket by design: average daily movement of just 0.56%. Over 21 days, the 5th percentile path loses 3.9% and the 95th percentile gains 4.5%.

The tightness of the fan is why the SLF discount is 8.64%, not 30%. The simulation confirms that in the vast majority of outcomes, mF-ONE does not move far from par over a one month horizon. The discount is sized to cover the tail, not the body of the distribution.

5. The Tail Distribution

The fan chart shows paths over time. The histogram below shows where those paths end up. Each bar counts how many of the 10,000 paths produced a terminal return in that range. Red bars mark the left tail: returns in the left tail near the VaR (Value at Risk) 95 threshold of 3.98%.

Terminal return distribution: 10,000 simulated 21-day paths (mF-ONE)

The distribution is bell shaped, centered just above zero (mean: +0.20%). The worst simulated path lost 8.59%. The best gained 11.44%. Monte Carlo VaR 95 is 3.98% and Monte Carlo CVaR 95 is 4.97%: the average loss among the 500 worst paths.

Note that the Monte Carlo CVaR 95 of 4.97% is lower than the SLF discount of 8.64%. The discount is not set to the Monte Carlo tail alone; it incorporates the historical tail (which is higher), onchain signals, and a static premium.

The Monte Carlo result here serves as a cross check: it confirms that under normal distribution assumptions, a ~5% monthly tail loss is the model based expectation.

The real question is whether the historical engine, which captures extreme outliers the Monte Carlo cannot, produces a higher or lower estimate. If higher, the discount is already conservative relative to the simulation model. If lower, the Monte Carlo would push the discount up.

6. Which Engine Sets the Anchor

For mF-ONE, historical CVaR wins at every confidence tier. The gap widens at deeper levels because the 20 year return history contains extreme days, from the 2008 crisis and subsequent credit events, that a normal distribution simulation cannot reproduce.

Historical vs Monte Carlo CVaR by confidence tier (mF-ONE, %)
TierHistoricalMonte CarloWinnerDiscount
CVaR 904.56%4.22%Historical6.22%
CVaR 956.48%4.97%Historical8.64%
CVaR 9912.36%6.37%Historical10.20%
CVaR 99.718.21%7.18%Historical12.27%

At CVaR 95, historical is 6.48% vs Monte Carlo at 4.97%. At CVaR 99.7, the gap is 11 percentage points: 18.21% historical vs 7.18% Monte Carlo. The reason is kurtosis, a statistical measure of how often extreme outliers occur relative to a normal bell curve. The mF-ONE proxy basket has an observed kurtosis of 22.2, roughly 7x the value of 3 that a normal distribution would produce, meaning large daily moves happen far more often than a bell curve would predict.

The historical engine captures those extreme days directly. The Monte Carlo engine, fitted to a normal distribution, generates smooth tails that fade predictably.

SLF Tier (CVaR 95)
Historical CVaR6.48%
Monte Carlo CVaR4.97%
Effective CVaR6.48%
SLF discount8.64%
Vault Tier (CVaR 99.7)
Historical CVaR18.21%
Monte Carlo CVaR7.18%
Effective CVaR18.21%
Vault discount12.27%

The vault discount (12.27%) is lower than the raw CVaR 99.7 (18.21%) because the discount formula caps the dynamic component at 8% spread. The Monte Carlo result provides context for that gap: the simulated tail (7.18%) is much narrower than the historical tail. The extreme historical losses were real but statistically rare, concentrated in crisis periods that the 20 year window captures but a normal model cannot reproduce.

7. Why Two Engines Matter

For mF-ONE, the historical engine dominates at every tier. The Monte Carlo does not change the discount today. So why run it?

Because the dominance depends on the data. mF-ONE has 20 years of proxy history spanning two credit cycles including the 2008 crisis. That gives the historical engine enough extreme days to produce high tail estimates.

A newly listed asset with only two years of calm market data would not have those extremes. The historical engine would underestimate the tail, and the Monte Carlo would be the binding constraint, pushing the discount higher.

The max rule handles both directions without configuration. It does not blend or average. It picks the higher estimate at each tier. This biases the system toward higher discount estimates when the two methods disagree.

PropertyHistoricalMonte Carlo
MethodSort observed returns, average tailSimulate 10k paths, average terminal tail
Monthly scalingsqrt(21) on daily CVaRCompounded over 21 days
Extreme outliersCaptured directlySmoothed by normal assumption
Unseen scenariosCannot generateGenerates by construction
Wins for mF-ONEAll tiers (90, 95, 99, 99.7)Would win for thin history assets

For a walkthrough of how CVaR tiers map to discounts, haircuts, and vault pricing across all product lines, see the CVaR framework post. For the full breakdown of mF-ONE underwriting, including the proxy basket construction, dampening methodology, and signal scoring, see the mF-ONE underwriting case study.

More Research
© 2026 RAVA Protocol