NAV & Valuation Methodology
How Nyx computes its shadow NAV — pricing sources, timing, fees, series accounting, and known limitations.
Purpose & Status
Nyx produces a shadow NAV. It reconciles the shadow NAV against the client's fund administrator; the administrator's NAV remains official.
Pricing Sources
Nyx uses a single authoritative oracle policy for the NAV strike:
- →Crypto: CoinGecko daily (00:00 UTC) price, frozen per run.
- →Listed equities / ETFs: Yahoo Finance daily close.
- →Manager manual fair-value marks as an explicit fallback.
- →Assets that cannot be priced are carried at zero and the run is flagged partial — never a fabricated price.
Staleness: quotes are graded against the valuation date; a stale quote is treated as unpriced (fail-safe).
Valuation Timing
The valuation point is the 00:00 UTC snapshot of the valuation date; the valuation date is the only time input, with no intraday cut.
Re-running a historical date reproduces the identical NAV, verified by a SHA-256 hash over the canonical inputs stored on every run.
Ledger
The general ledger is double-entry and append-only at the database layer; corrections are reversing entries only. Every entry must balance exactly, at 8-decimal-place precision, before it can commit. Digital assets are carried at cost in the general ledger, with fair value marked through dedicated control accounts.
Cost Basis / Lot Relief
Cost basis / lot relief methods available: average cost (default), FIFO, or HIFO — configurable per fund. Specific identification is not supported. Disposal history is append-only.
Management Fee
The management fee accrues on pre-fee NAV by default (configurable to a gross or net basis), using an ACTUAL/365 day count, prorated over elapsed days since the last accrual, and accrued at each NAV strike.
Performance Fee
The performance fee accrues against a per-unit high-water mark, with an optional hurdle; the fee base is per-unit NAV net of the management fee. The high-water mark ratchets only at crystallisation (annual or on redemption), and crystallised amounts are banked — never reversed by a subsequent drawdown.
Two-strike sequence: NAV₁ fixes the fee base and fees post; NAV₂ is the reportable post-fee NAV.
Series Accounting
Accounting operates at the subscription-lot level — each lot carries its own units, high-water mark, and fee terms (share-class overrides supported). Investor capital ties to fund NAV within 1e-8 as a fail-closed check on every run.
Equalisation is achieved through per-lot high-water marks; equalisation credits/deficits are not used.
Income Recognition
Staking, reward, and airdrop income is recognised when the manager books the corresponding reconciliation item, at that item's observed price — not accrued over time.
Transfers
Wallet-to-wallet and bridge transfers preserve cost basis and holding period when booked. Pairing the outgoing and incoming legs is a manager action, not automatic. An unpaired in-flight transfer at a valuation point appears as an open reconciliation break.
Trade vs. Settlement
Economic recognition occurs at trade date; redemption cash settlement is a distinct, later-dated step through a redemptions-payable account. General T+n settlement-date accounting is not implemented.
Scope Exclusions
Precision
Exact decimal arithmetic is used throughout — no floating point on money. Banker's rounding is applied; USD is carried at 8 decimal places, quantities at 18. Sums are computed at full precision and rounded once.
Reproducibility & Audit Trail
Every core ledger/NAV/fee lifecycle action emits an event to an append-only audit stream enforced by database-level immutability — updates, deletes, and truncation are rejected for every database role, including privileged service roles.
Known Limitations
- →An asset that cannot be priced contributes zero to gross asset value and the NAV run is flagged partial; fee, capital, and dealing engines refuse to run on a partial NAV. There is no stale-price reserve policy.
- →Non-USD fiat cash is FX-revalued at each strike; non-USD fiat held as an asset position has no FX source in the NAV pricing seam and falls to a manual mark or unpriced.
- →DeFi and perpetual futures are excluded from NAV (see Scope Exclusions above).
- →Transfer pairing and staking-income recognition are manager actions; timeliness depends on the manager’s reconciliation cadence.
- →Specific-identification lot relief is not supported.
- →The audit event stream is append-only but not hash-chained.
- →Price caching is per-server-instance; historical daily prices are immutable once fetched.