← Financial markets technology: fundamentals and operations
08 / 10 · 60 MIN

Workshop: prices, calculation, and valuation evidence

Reproduce a bounded per-unit calculation, control inputs, and bind review to the data set actually used.

Define the portfolio and result meaning

The fictional fund holds ten A units at EUR 100.01 and five B units at EUR 200. Adding EUR 50 cash gives EUR 2050.10 assets; subtracting ten liabilities gives EUR 2040.10 net. With one hundred fund units, per-unit value is 20.401 before rounding. Asset units differ from outstanding fund units used in the denominator. Investor.gov supports this arithmetic distinction; its rules concerning US products are not transferred to European funds. The example excludes classes, fees, interest, taxation, and other components of actual valuation.

Normalize and validate before aggregation

A arrives with value=10001 and unit=cent; normalized price is EUR 100.01. B already arrives in EUR. The function rejects another currency and unknown units because the exercise has no currency conversion. Decimal values enter as text, avoiding an initial float approximation. The library can represent NaN and Infinity, but these are not accepted as finite prices. The program uses nonnegative positions and prices defined in fixtures; it is no universal instrument validator. If B is missing, use neither zero nor position removal to produce an apparently complete total.

Measure freshness with explicit assumptions

Observation A has time 95, and calculation uses now=100. With local limit five, equality passes; at 101, the same input stops passing. Numbers are synthetic units, not a universal SLA. A future timestamp triggers investigation rather than being treated as an especially recent price. Actual systems need definitions for event, receipt, and consumption time, together with clock origins. Rewriting the timestamp with batch time would hide the problem. Valuation policy must decide how to handle closed markets, illiquid instruments, and alternative sources; the lab determines none of those rules.

Pin precision, order, and rounding

The exercise retains decimal calculation until final two-place display using ROUND_HALF_EVEN. Thus, 20.401 appears as 20.40. Two units at 1.005 give 2.01 when multiplication precedes rounding; rounding each unit first gives 2.00. The difference helps discuss acceptance criteria across suppliers. Choose neither the larger result nor the one closest to the previous day. Confirm approved policy, intermediate quantities, and required precision. Decimal provides mechanisms, not financial policy. Its default context suffices for these small examples; it establishes no capability for every portfolio or numeric magnitude.

Bind correction, provenance, and decision

The result retains an input hash including price revisions. The fictional decision matches the result only when hashes match and state is approved. If A-1 becomes A-2 and price changes from 100.01 to 100.11, net rises by one euro, and the prior decision stops matching. Do not relabel the hash to avoid review. Retaining both versions explains what changed. This dictionary authenticates no person and implements no separation of duties. It teaches evidence-to-result binding; actual authorization needs mechanisms and owners from the applicable process.

Communicate quality and acceptance limits

BCBS 239 principles of accuracy, completeness, and timeliness help organize data-quality questions. The document concerns bank risk aggregation; it defines neither the five-unit limit nor rounding for this fictional fund. In the workshop below, prepare an English note about a missing or corrected price, stating impact, required decision, and next update. Running forty-five checks repeats fixtures without establishing regulated NAV, integration with a fund administrator, or independent approval. Retain inputs, code, results, and limits. Individual practice should be recorded as self-assessment; a participant session can be claimed only if it occurs.

DR original workshop / Oficina original DR: 45 minutes
Fictional fund and prices. No trading, regulated NAV or actual approval.
Fundo e preços fictícios. Sem negociação, NAV regulado ou aprovação real.

0-10 min: Predict / Prever
A: quantity=10, price=10001 cents EUR. B: quantity=5, price=200.00 EUR.
A: quantidade=10, preço=10001 cêntimos EUR. B: quantidade=5, preço=200,00 EUR.
Cash=50, liabilities=10, outstanding fund units=100.
Caixa=50, passivos=10, unidades em circulação do fundo=100.
Assets=2050.10, net=2040.10, raw per unit=20.401, local display=20.40.
Ativo=2050,10, líquido=2040,10, valor unitário=20,401, apresentação local=20,40.

10-20 min: Inject faults / Introduzir falhas
Remove B price: hold missing data. Change EUR to USD: hold unsupported currency.
Retirar preço B: manter exceção. Mudar EUR para USD: moeda não suportada.
now=100, observed=95, max_age=5 passes; now=101 fails.
now=100, observed=95, max_age=5 passa; now=101 falha.
Correct A to 10011 cents and revision A-2: net=2041.10; old approval does not bind.
Corrigir A para 10011 cêntimos e A-2: líquido=2041,10; aprovação anterior não corresponde.

20-35 min: English decision note / Resumo de decisão em inglês
Observed: a corrected input changed the candidate valuation.
Impact: the prior review refers to a different input set.
Action: retain both versions, assess affected outputs, request the required decision.
Owner and next update: nominate accountable roles and a specific time.
Boundary: fixture calculation only; no real NAV publication or reviewer authentication.
Limite: cálculo de fixtures; sem publicação real de NAV ou autenticação de revisores.

35-45 min: Handover / Passagem de informação
Another participant reproduces inputs, rounding and correction impact.
Outro participante reproduz entradas, arredondamento e impacto da correção.
Deliver program hash, input versions, policy assumptions, results and open dependencies.
Entregar hash, versões das entradas, pressupostos da política, resultados e dependências abertas.
Solo practice records self-review, not independent operational acceptance.
Prática individual regista autoavaliação, não aceitação operacional independente.
IN PRACTICE

Case: calculation was reviewed with A-1, but correction A-2 arrives before publication. Retain the previous version and bind the new decision to corrected data.

Common pitfalls

Missing price as zero; asset units as fund units; rounding without policy; changing timestamps; reusing approval for another input set.

Related topics: Reference and market data · FIX sessions and order state · Operations, change, and T+1 readiness

Take this idea with you

A reproducible calculation needs identified inputs, explicit transformations, and a decision bound to the version actually reviewed.

Create account

Reference: Investor.gov: net asset value · BigSavant financial markets technology professional assessment2026.10