Core State
NAVt
The governed fair value state at time t.
Time-Consistent, Benchmark-Driven Valuation (TCBV)
This page brings the TCBV design into one continuous view: the NAV evolution formula, a single-asset operating path, self-calibrating market sensitivity, full-coverage governance, late-known idiosyncratic handling, and an interactive browser workbench.
Part 1
This section keeps the notation intentionally compact. It shows the top-level NAV evolution structure without expanding the full event taxonomy, governance rules, or derivation details.
Core Formula
Core State
NAVtThe governed fair value state at time t.
Market Base
EtThe exposure base after economically effective cash flows are incorporated and before market adjustment is applied.
Benchmark
BtThe selected market proxy level used to carry the state across time in a frequency-consistent way.
Sensitivity
βThe calibrated market sensitivity that links the asset to the chosen benchmark path.
A true-up aligns the state to a newly arrived external observation such as a PCAP or valuation report. It is not a new economic event. The measurement-date difference is propagated through the intervening market path and recognized on the known date.
Cash flow adjustments reflect contributions and distributions
at their economic effective time. They update the exposure
base that participates in subsequent market movement, subject
to the timing rule such as EOD or
BOD.
Market adjustment is the systematic roll-forward term driven
by benchmark movement and market sensitivity. In compact
notation, the default form is
MAt = Et · (exp(β · Δ ln Bt) - 1),
which preserves frequency consistency.
Idiosyncratic adjustment captures asset-specific discrete effects that are not explained by the systematic market leg. They are recorded as governed absolute contributions once the information is supportable and approved under policy or committee review.
Part 2
Start with one asset and keep the horizon short enough to make the
mechanics readable. This example runs from 2025-03-15
to 2025-09-28, crosses two external NAV observations,
includes two contributions and one distribution, and then extends
into monthly, weekly, and daily roll-forwards. The event table is
ordered by Known Date.
| Data Type | Effective Date | Timing | Known Date | Investment Type | Asset Name | Market Proxy | Value (USD) |
|---|---|---|---|---|---|---|---|
| Ctrb | 2025-03-15 | EOD | 2025-03-15 | Fund Interest | Fund 1 | Benchmark 1 | +10,000,000 |
| ID | 2025-03-31 | EOD | 2025-03-31 | Fund Interest | Fund 1 | Benchmark 1 | -246,951 |
| Ctrb | 2025-05-09 | EOD | 2025-05-09 | Fund Interest | Fund 1 | Benchmark 1 | +650,000 |
| NAV | 2025-03-31 | EOD | 2025-05-15 | Fund Interest | Fund 1 | Benchmark 1 | 10,300,000 |
| Ctrb | 2025-07-18 | EOD | 2025-07-18 | Fund Interest | Fund 1 | Benchmark 1 | +400,000 |
| NAV | 2025-06-30 | EOD | 2025-08-14 | Fund Interest | Fund 1 | Benchmark 1 | 10,620,000 |
| Dist | 2025-08-20 | BOD | 2025-08-20 | Fund Interest | Fund 1 | Benchmark 1 | -900,000 |
This section does not cover every date. It selects representative
checkpoints to show how NAV, Known Date,
cash flow adjustments, and market-linked roll-forward logic fit
into one continuous path.
| Market Proxy | Date | Level | Market Sensitivity |
|---|---|---|---|
| Benchmark 1 | 2025-03-15 | 1,000 | 0.5 |
| Benchmark 1 | 2025-03-31 | 1,050 | 0.5 |
| Benchmark 1 | 2025-05-09 | 1,069 | 0.5 |
| Benchmark 1 | 2025-05-15 | 1,100 | 0.5 |
| Benchmark 1 | 2025-06-30 | 1,140 | 0.5 |
| Benchmark 1 | 2025-07-18 | 1,160 | 0.5 |
| Benchmark 1 | 2025-08-14 | 1,185 | 0.5 |
| Benchmark 1 | 2025-08-19 | 1,172 | 0.5 |
| Benchmark 1 | 2025-08-20 | 1,170 | 0.5 |
| Benchmark 1 | 2025-09-20 | 1,215 | 0.5 |
| Benchmark 1 | 2025-09-27 | 1,208 | 0.5 |
| Benchmark 1 | 2025-09-28 | 1,212 | 0.5 |
2025-03-15
NAV03/15/25 = Previous NAV03/14/25 + Cash Flow Adjustment
= 0.00 + 10,000,000.00 = 10,000,000.00
This is the starting point of the example. There is no prior
NAV history, so Previous NAV is set to
0, and the initial contribution establishes the
first economic position. Because the contribution is assumed
to arrive by EOD, it does not receive any same-day market
adjustment on 2025-03-15.
2025-03-31
By 2025-03-31, no external NAV report has been
received yet, so the state is advanced from
2025-03-15 to quarter-end only through
Market Adjustment. However, the fund manager's
policy is to hold a new investment at cost through the end of
the first month, so an
Idiosyncratic Adjustment offsets that month-one
market move.
NAV03/31/25 = NAV03/15/25 + Market Adjustment + Idiosyncratic Adjustment
= NAV03/15/25 + NAV03/15/25 × (exp(ln(Benchmark 103/31/25 / Benchmark 103/15/25) × Market Sensitivity) - 1) - NAV03/15/25 × (exp(ln(Benchmark 103/31/25 / Benchmark 103/15/25) × Market Sensitivity) - 1)
= 10,000,000.00 + 246,950.77 - 246,950.77 = 10,000,000.00
State: NAV = 10,000,000.00
2025-05-09
The existing NAV is first rolled forward from the latest path checkpoint through market adjustment, and the EOD contribution is then added as a separate additive term without any same-day market adjustment on the contributed amount itself.
NAV05/09/25 = NAV03/31/25 + Market Adjustment + Cash Flow Adjustment
= NAV03/31/25 + NAV03/31/25 × (exp(ln(Benchmark 105/09/25 / Benchmark 103/31/25) × Market Sensitivity) - 1) + Contribution05/09/25 EOD
= 10,000,000.00 + 10,000,000.00 × (exp(ln(1,069 / 1,050) × 0.5) - 1) + 650,000.00 = 10,740,070.56
State: NAV = 10,740,070.56
2025-05-15
Assume a new PCAP is received at EOD on this date. The
quarter-end NAV for 2025-03-31 is now externally
observed. The current NAV first moves from
2025-05-09 to 2025-05-15 through
market adjustment, and the true-up difference is then added
as a separate propagated adjustment.
NAV05/15/25 = NAV05/09/25 + Market Adjustment + True-Up Adjustment
= NAV05/09/25 + NAV05/09/25 × (exp(ln(Benchmark 105/15/25 / Benchmark 105/09/25) × Market Sensitivity) - 1) + (New NAV03/31/25 - Previous NAV03/31/25) × exp(ln(Benchmark 105/15/25 / Benchmark 103/31/25) × Market Sensitivity)
= 10,740,070.56 + 10,740,070.56 × (exp(ln(1,100 / 1,069) × 0.5) - 1) + (10,300,000.00 - 10,000,000.00) × exp(ln(1,100 / 1,050) × 0.5)
State: NAV = 11,201,743.45
2025-06-30
Starting from the true-upped state on 2025-05-15,
the NAV is rolled forward to the next quarter-end before the
new report is received.
NAV06/30/25 = NAV05/15/25 + Market Adjustment
= NAV05/15/25 + NAV05/15/25 × (exp(ln(Benchmark 106/30/25 / Benchmark 105/15/25) × Market Sensitivity) - 1)
= 11,201,743.45 + 11,201,743.45 × (exp(ln(1,140 / 1,100) × 0.5) - 1)
State: NAV = 11,403,592.90
2025-07-18
A second contribution is received by EOD. As before, the existing NAV is first rolled forward through market adjustment, and the EOD contribution is then added as a separate cash flow adjustment without any same-day market adjustment on the contributed amount itself.
NAV07/18/25 = NAV06/30/25 + Market Adjustment + Cash Flow Adjustment
= NAV06/30/25 + NAV06/30/25 × (exp(ln(Benchmark 107/18/25 / Benchmark 106/30/25) × Market Sensitivity) - 1) + Contribution07/18/25 EOD
= 11,403,592.90 + 11,403,592.90 × (exp(ln(1,160 / 1,140) × 0.5) - 1) + 400,000.00 = 11,903,189.49
State: NAV = 11,903,189.49
2025-08-14
The 2025-06-30 NAV is externally observed on this
date. The current NAV first moves from
2025-07-18 to 2025-08-14 through
market adjustment, and the true-up difference is then added
as a separate propagated adjustment.
NAV08/14/25 = NAV07/18/25 + Market Adjustment + True-Up Adjustment
= NAV07/18/25 + NAV07/18/25 × (exp(ln(Benchmark 108/14/25 / Benchmark 107/18/25) × Market Sensitivity) - 1) + (New NAV06/30/25 - Previous NAV06/30/25) × exp(ln(Benchmark 108/14/25 / Benchmark 106/30/25) × Market Sensitivity)
= 11,903,189.49 + 11,903,189.49 × (exp(ln(1,185 / 1,160) × 0.5) - 1) + (10,620,000.00 - 11,403,592.90) × exp(ln(1,185 / 1,140) × 0.5)
State: NAV = 11,231,864.00
2025-08-20
Assume the distribution is known at BOD on this date. The NAV
is first market-adjusted from 2025-08-14 to
2025-08-20, and the distribution is then removed
using only the last-day adjustment factor rather than the full
path.
NAV08/20/25 = NAV08/14/25 + Market Adjustment + Cash Flow Adjustment
= NAV08/14/25 + NAV08/14/25 × (exp(ln(Benchmark 108/20/25 / Benchmark 108/14/25) × Market Sensitivity) - 1) - Distribution08/20/25 × exp(ln(Benchmark 108/20/25 / Benchmark 108/19/25) × Market Sensitivity)
= 11,231,864.00 + 11,231,864.00 × (exp(ln(1,170 / 1,185) × 0.5) - 1) - 900,000.00 × exp(ln(1,170 / 1,172) × 0.5) = 10,261,318.11
State: NAV = 10,261,318.11
2025-09-20
After the distribution event, the path is rolled forward on a monthly step to demonstrate time-consistent behavior across the next cycle.
NAV09/20/25 = NAV08/20/25 + Market Adjustment
= NAV08/20/25 + NAV08/20/25 × (exp(ln(Benchmark 109/20/25 / Benchmark 108/20/25) × Market Sensitivity) - 1)
= 10,261,318.11 + 10,261,318.11 × (exp(ln(1,215 / 1,170) × 0.5) - 1)
State: NAV = 10,456,789.35
2025-09-27
The same framework is then applied on a weekly interval, showing that the propagation rule stays consistent across a shorter step.
NAV09/27/25 = NAV09/20/25 + Market Adjustment
= NAV09/20/25 + NAV09/20/25 × (exp(ln(Benchmark 109/27/25 / Benchmark 109/20/25) × Market Sensitivity) - 1)
= 10,456,789.35 + 10,456,789.35 × (exp(ln(1,208 / 1,215) × 0.5) - 1)
State: NAV = 10,426,623.40
2025-09-28
Finally, the path is advanced over a single day, showing the same time-consistent rule at daily frequency.
NAV09/28/25 = NAV09/27/25 + Market Adjustment
= NAV09/27/25 + NAV09/27/25 × (exp(ln(Benchmark 109/28/25 / Benchmark 109/27/25) × Market Sensitivity) - 1)
= 10,426,623.40 + 10,426,623.40 × (exp(ln(1,212 / 1,208) × 0.5) - 1)
State: NAV = 10,443,871.75
Part 3
This module presents the self-calibration logic as an operating flow rather than a formal derivation. Each new external observation triggers a calibration decision, with a fallback hierarchy for new investments and a governed re-estimation path for existing ones.
Trigger
A new PCAP or NAV observation enters the system.
Decision
New Investment
Build the initial market sensitivity through a governed fallback hierarchy.
Layer 1
Select the proxy based on industry, strategy, geography, currency, and risk profile.
Layer 2
Use exposure-consistent historical observations at the asset level if there are enough datapoints.
Layer 3
If asset-level history is insufficient, move to portfolio-level historical observations.
Layer 4
If portfolio-level data is still not enough, use a governed private-market-level historical dataset.
Set initial market sensitivity through the fallback hierarchy.
Existing Investment
Re-estimate using the updated information set and keep the result under explicit statistical and governance control.
Re-estimate market sensitivity using the updated information set and the governed rolling window.
Check statistical validity, stability, and economic consistency.
If Yes
Record the dataset, window, diagnostics, and approved parameter. Apply prospectively.
If No
Refine the dataset or window, re-run the test, and escalate through governance approval.
Governance
Any recalibrated market sensitivity affects only future periods. Prior NAV is not retroactively rewritten.
Part 4
TCBV is designed to be continuous, so governance must also be continuous. The control layer should cover event capture, parameter maintenance, policy-driven adjustments, and materiality-based escalation in one connected process rather than in isolated review steps.
Control Area
Every event row should be recorded, timestamped, and reviewed
for completeness. That includes Effective Date,
Timing, Known Date, value, source,
and asset mapping.
Control Area
Any update to market sensitivity, proxy selection, fallback use, or calibration evidence should be documented and checked before it becomes part of the governed record.
Control Area
Standard idiosyncratic cases can be handled under standing policy. Non-standard cases, exceptions, or judgment-heavy overrides must move into explicit approval.
Control Area
True-up size and other adjustments should be tested against a defined trigger so that governance effort scales with the investor-facing NAV impact.
Input
A cash flow, NAV observation, idiosyncratic adjustment, proxy change, or market sensitivity update enters the framework.
Check
Confirm event fields, source evidence, calculation support, and documentation completeness before the item becomes part of the governed state.
Decision
Standard idiosyncratic treatments and routine operating cases can continue under policy. Anything outside the approved policy set moves to formal approval.
Materiality
Escalate if the fair value impact is large enough to move the reported per-share NAV beyond the governance threshold.
If No
Keep the evidence, reviewer record, and final calculation in the controlled log, then apply prospectively.
If Yes
Route the item for approval, record the rationale, and preserve the approval chain together with the calculation support.
One practical trigger is based on the reported impact to NAV per share rather than on gross dollar change alone.
Total Fund NAV = 10,000,000
Total Shares = 1,000,000
NAV per Share = 10.00
Governance Trigger = 0.005 per share
Under this design, governance escalation is tied to whether a
true-up or other fair value adjustment moves reported NAV per
share by more than 0.005. The purpose is to link the
trigger directly to investor-facing reporting materiality.
The framework can be implemented on a discrete event basis or on a continuous daily, weekly, monthly, or quarterly basis. Official NAV states are rounded to two decimal places at each governed calculation date.
Small numerical drift may arise between external observations because market roll-forward, timing segmentation, and rounding are all applied on a discrete basis. That drift is expected to remain small under the stated convention.
Each new true-up re-anchors the state to the latest external observation and therefore naturally resets most accumulated numerical drift.
Part 5
Some idiosyncratic events are economically important before they become measurable. In those cases, the event is effective on the news date, but the adjustment becomes known only when a governed estimate is approved later.
Scenario
A material news event is screened on the asset on
T0. The event is economically relevant
immediately, but there is no measurable amount on the same
day.
Known Date
Five days later, the valuation committee approves an
estimated idiosyncratic adjustment. That committee date
becomes the Known Date.
Effective Date
The Effective Date remains the original news
date because that is when the economics changed, even though
the amount was not yet known.
Adjustment Logic
Once known, the idiosyncratic adjustment should correct not
only the base NAV level but also the market-linked evolution
over the gap between Effective Date and
Known Date.
Day T0
The event is screened and tagged as potentially material for the asset, but there is not yet a measurable valuation amount.
Day T0 to T+5
The asset continues to roll forward under the standard market rule while the event remains identified but unmeasured.
Day T+5
The valuation committee approves a governed estimate. This
date becomes the Known Date for the
idiosyncratic adjustment.
Application
Apply the approved adjustment as an idiosyncratic term with
Effective Date = T0 and
Known Date = T+5, so the correction captures the
full impact through the five-day market path.
The same time-consistent structure applies here. The late-known idiosyncratic adjustment is recognized on the committee date but carried from the original effective date through the intervening market path.
NAVT+5 = NAVT0 + Market Adjustment + Idiosyncratic Adjustment
= NAVT0 + NAVT0 × (exp(ln(BenchmarkT+5 / BenchmarkT0) × Market Sensitivity) - 1) + IDIOT0,T+5
In practice, IDIOT0,T+5 should be designed
so that the final state on T+5 reflects both the
economic event itself and the portion of market-linked evolution
that needs to be corrected over the gap period.
Part 6
Paste a single-asset event table, generate the required benchmark dates, then enter benchmark levels and calculate the path directly in the browser.
Enter one single-asset event stream below. Use the controls to
add or remove rows. The calculator will sort the rows by
Known Date.
| Data Type | Effective Date | Timing | Known Date | Value | Row |
|---|
Fill the listed dates with benchmark levels. The calculator uses a log-return market link with one market sensitivity input.
| Date | Index Value |
|---|---|
| Generate benchmark dates from the event table first. | |
| Date | Previous NAV | True-Up Adjustment | Cash Flow Adjustment | Market Adjustment | Idiosyncratic Adjustment | Calculated NAV |
|---|---|---|---|---|---|---|
| Enter the benchmark levels and calculate the path. | ||||||
Resources
Books
Papers
Guidelines
Profile