Overview
This page documents the math behind every cell on an LP report. If you’re an LP reconciling a statement against your own books, or a manager debugging why a fee number looks off, this is the source of truth. All formulas here match the renderer code one-to-one. The Renesis LP Report Studio (the engine behind the PDF) is the canonical implementation, if a future computation disagrees with what the report shows, the report wins.NAV
Two NAV concepts appear on a report. They are not interchangeable.| Concept | What it represents | Sign |
|---|---|---|
| NAV (raw) | The actual market value of the portfolio: Σ balance_i × price_i across every asset. This is what your wallet / exchange tells you you’re worth right now. | Always ≥ 0 |
| Gross NAV | NAV neutralized for capital flows: nav_raw − total_deposits + total_withdrawals. Used as the performance numerator, since deposits aren’t profit. | Can be negative |
Returns
All return percentages on the report are time-weighted, flows in / out don’t distort them. For a single period[t0, t1]:
Time horizons
| Acronym | Meaning | Start anchor |
|---|---|---|
| MTD | Month-to-date | First day of the report’s end month |
| QTD | Quarter-to-date | First day of the report’s end quarter |
| YTD | Year-to-date | January 1 of the report’s end year |
| ITD | Inception-to-date | The strategy’s inception (or first day of data, see clamp below) |
| Period | Selected reporting period | Report’s period_start |
Annualized return
days_held is the number of calendar days between the strategy’s effective start (see clamp) and the period end. For periods shorter than 30 days the annualized figure is shown but should be read with appropriate skepticism, small windows magnify noise.
Inception clamp (data-start override)
A strategy’s contractual inception (from the editor) might predate the first day we actually have NAV data, e.g. the manager signed the LP agreement Feb 2025 but the on-chain wallet was only registered on Renesis in October. In that case the renderer uses the later of (contract inception, data start) so the ITD math has data to measure. The strategy card’s subtitle (“since 2025-10-22”) reflects the clamped date, not the contractual inception. The percentage is honest, it’s measured over the window we actually have data for. If you need contractual inception to surface alongside the data-start window, ask your Renesis contact.Risk metrics
Computed from the daily native-NAV series over the period window.| Metric | Formula |
|---|---|
| Volatility (annualized) | stdev(daily_returns) × √365 |
| Sharpe | (mean(daily_returns) × 365) / (stdev × √365), risk-free rate set to 0 by default |
| Sortino | Same as Sharpe but stdev uses only negative daily returns |
| Max drawdown | min((NAV_t − peak_NAV_t) / peak_NAV_t) over the period |
| Downside deviation | stdev of negative daily returns only, annualized |
Fees
The fee table on page 3 is the part LPs scrutinize most. Here’s the exact math.Per-month decomposition
For each monthM that falls inside the reporting period:
Period totals
period_total_native (or _rep) across every strategy.
Reconciling the performance fee
The performance fee is computed after the management fee on the same monthly bucket. The intuition:“I charge 15% on what’s left after I pay myself the management fee.”So if
PnL_native(M) = 100, mgmt_native(M) = 12, perf_pct = 15:
100 × 0.15 = 15 ignores the mgmt deduction. The report’s number will be lower than the naive calc.
Also note the max(0, …), performance fee is never negative. A losing month accrues no performance fee, but the management fee still applies (the manager still gets paid for managing the AUM, regardless of performance).
AUM basis, current vs prior EOM
TheAUM_native(M) term above uses the current EOM convention by default, fee for month K is computed on the AUM at end of month K. Many institutional mandates use prior EOM instead: fee for month K is computed on the AUM at end of month K−1 (the AUM the manager already had under management when the month started).
Set this in the Report Workspace under Reporting → AUM Basis. The two conventions produce different monthly fee numbers, the difference can be material in fast-growing months. Check what your management agreement specifies.
High-water mark and hurdle rate
The 4-page LP report does not apply HWM or hurdle rate to performance fees today. If your fee schedule includes a hurdle (e.g. 15% over SOFR + 200 bps), the displayed performance fee is computed on full positive PnL, you may need to manually deduct the hurdle in a manual adjustment until HWM support ships. HWM is supported in LP Portal V1 (the multi-LP share-accounting feature, separate from the 4-pager). If you need per-investor HWM tracking with capital events, that’s the path.Per-month visual / period total reconciliation
The fee table shows up to 3 month columns. For periods longer than 3 months, the first 3 months are displayed; the period total column still sums across all months in the period. So a 5-month report’s column total = sum of months 1-5, while the visible cells only show months 1-3. Sub-unit native fees (e.g. 0.0134 BTC on a small ellenBTC mandate) can render as0.01 at 2dp precision and stop adding visually to the period total. Bump Crypto Fee Precision in the Report Workspace to 4 to see the full magnitude. Even smaller values (below the precision threshold) render in subscript notation (0.0₂459 BTC means 0.00459) so the LP can read the real number.
Holdings table
The top-10 holdings table on page 3 lists positions sorted by reporting-currency value, descending.| Column | Definition |
|---|---|
| Holding | Asset symbol as reported by the underlying ledger |
| Strategy | Which configured strategy the holding rolls into. Holdings with no matching strategy show ”, “ |
| Allocation % | value_reporting / total_AUM_reporting × 100 |
| PnL | Asset-level realized + unrealized PnL since the strategy’s effective start |
ellenUSDC, they’re aggregated as one wedge.
Manual adjustments
The Adjustments section in the Report Workspace lets you apply per-period overrides that don’t touch the underlying ledger. Typical uses:- Portfolio NAV adjustment, bump or trim total AUM (e.g. to include an off-chain holding the ledger doesn’t track).
- Per-strategy NAV adjustment, same, scoped to one strategy.
- Per-strategy fee delta, add or subtract a specific fee amount (e.g. apply a hurdle deduction manually).
- Portfolio fee delta, same, scoped to total fees; distributes proportionally across strategies.
Currency conventions
- Native currency: the strategy’s denomination (BTC, ETH, USDC, USD, EUR, …). Drives the strategy card’s ”≈” cross-reference line.
- Reporting currency: the single currency every chart, NAV card, and fee total is expressed in. Set per report.
- FX: ECB month-end rates for fiat pairs, on-chain spot at the snapshot block for crypto. The recon job pulls these once per day; the report uses the values cached at the period end.
- Fiat headline cells (NAV, Period PnL, fund total AUM, grand-total fee): 2dp by default; toggle Round Fiat Decimals in the Report Workspace to drop cents.
- Per-month fee cells: 2dp for fiat strategies (keeps row arithmetic exact); per-report configurable for crypto strategies (2 / 4 / 6 dp).
- Sub-precision crypto cells: subscript notation (
0.0₂459) for values that would round to “0.00” at the chosen precision.
Common reconciliation questions
”Your AUM is different from my vault dashboard”
The LP report aggregates every wallet attached to the report’s portfolio under the symbol roll-up. If two wallets both hold Onyx USDC under the symbolellenUSDC, they sum into one strategy NAV. Your vault dashboard shows just one wallet. To reconcile, list the wallets in your Renesis portfolio and confirm the AUM is the sum across all of them.
”Your performance fee is lower than I expected”
The performance fee is computed on PnL after the management fee is deducted (same month). If you computedperf = PnL × perf_pct directly, you’ll be high, see Reconciling the performance fee.
”Your NAV chart starts later than my inception date”
The inception date on the strategy card is clamped to the first day we have NAV data. The percentage is honest for that window, it’s just shorter than your contractual mandate length. Backfilling earlier data requires reconciling history with the wallet’s earlier transactions; talk to your Renesis contact if you need this.”Your AUM basis disagrees with my management agreement”
Set Reporting → AUM Basis toPrior EOM if your agreement specifies that management fees are charged on the AUM you walked into the month with. The default Current EOM charges on what you ended the month with.
Tutorial, building your first report
Step-by-step walk through the Report Workspace, from creating a report to rendering the PDF.

