Leaders Insights
Leaders Insights

Rester au meilleur niveau, un peu chaque jour.

DomainesMarketingDataFinanceIA
RessourcesApprendreTestOutilsBlogGlossaire
© 2026 Leaders Insights — Tous droits réservés.
Formations/Data in asset management/Governance, privacy and checks/Running practical data checks and controls
3/4+150 XP

Governance, privacy and checks

10Applying privacy rules to client and portfolio data+15011Building the data governance operating model+15012Running practical data checks and controls+15013Preparing for a data audit and regulatory review+150

Running practical data checks and controls

# Running practical data checks and controls

A pricing feed drops a decimal. A US large-cap held in a $2 billion fund gets marked at $18.50 instead of $185.00. If nobody catches it before the overnight batch, the fund's net asset value (NAV, the per-share value struck each day) prints wrong, client statements go out with a bad number, and the firm spends the next week filing a NAV error correction and reimbursing investors who traded on the wrong price.

Controls exist to catch that decimal. This lesson builds the daily and periodic control suite a fund operations team actually runs, with concrete tolerances and escalation paths.

The shape of a control suite

Think in three layers:

1. Input checks: is the data we received plausible and complete?

2. Reconciliation checks: do two independent records agree?

3. Output checks: does the final product (NAV, statement, regulatory report) pass sanity tests before it leaves the building?

Each check needs three things defined in advance: a tolerance (how much deviation is acceptable), an owner (who investigates), and an escalation trigger (when it goes up the chain). A check with no tolerance is just a chart nobody reads.

Daily checks: pricing and market data

Stale-price checks

A stale price is a security priced today at the same value as yesterday because a fresh price never arrived. For a liquid US equity, that almost always signals a feed failure.

Typical rule: flag any instrument where today's price equals the prior day's price to the cent, unless the market was closed. Then apply asset-class logic:

  • Liquid equities and government bonds: a stale price for even one day is an exception. Investigate same day.
  • Corporate bonds and less liquid names: staleness for 2 to 3 days may be normal. Set a longer window.
  • Money market instruments: expect small daily moves, so an exactly-flat price is suspicious.

Price-movement (tolerance) checks

Flag any price that moves more than a set threshold versus the prior day. A common starting tolerance:

  • Equities: move greater than 10 percent
  • Investment-grade bonds: move greater than 2 percent
  • FX rates: move greater than 3 percent

These are illustrative starting points, not regulatory limits; tune them to each portfolio's volatility. A move breaching the threshold is not automatically wrong (earnings surprises happen), so the check produces an *exception to explain*, not an error.

Here is the core logic in plain pseudocode:

python
for security in portfolio:
    move = (price_today - price_prior) / price_prior
    if price_today == price_prior and market_open(security):
        flag(security, "STALE")
    elif abs(move) > tolerance[security.asset_class]:
        flag(security, "MOVE_BREACH", detail=move)

Multi-source price comparison

Where the firm buys prices from two vendors (for example, Bloomberg and a second index or evaluated-pricing provider), compare them. A divergence above tolerance (say 0.5 percent on a liquid bond) means at least one source is wrong. This is the strongest input control you can run, because it does not rely on yesterday being right.

Daily checks: corporate actions

A corporate action is any event that changes a security's terms or your holding: dividends, stock splits, mergers, rights issues, ticker changes. These are a leading cause of quiet NAV errors because they are event-driven and easy to miss.

Key checks:

  • Ex-date reconciliation: on a dividend ex-date, the position should accrue the expected income. Flag any holding on an ex-date with zero accrual.
  • Split ratio sanity: after a 2-for-1 split, share count should double and price halve, leaving market value roughly unchanged. Flag a post-split market value move greater than, say, 1 percent.
  • Dual-source event capture: compare corporate-action announcements from two vendors. Missing events are more dangerous than wrong ones, so completeness matters more than precision here.

The SWIFT ISO 15022/20022 corporate action standards define the message formats most custodians and vendors use, which is why a two-source comparison is even possible: the events arrive in a structured, comparable form.

Daily checks: entitlement and position reconciliation

Entitlement here means "what the fund is entitled to hold and receive." The core daily reconciliation is between the firm's own accounting book of record and the custodian (the bank that legally holds the assets, for example State Street, BNY, or Northern Trust).

Reconcile three things every day:

| What | Break tolerance | Escalation |

|---|---|---|

| Share/quantity per security | Zero. Any quantity break is investigated same day. | Same-day to ops lead; unresolved >24h to fund controller |

| Cash balance per currency | Small tolerance for timing (e.g. under a set threshold or known in-transit items) | Aged breaks >2 days escalated |

| Market value | Depends on price source alignment | Value break with matched quantity points to a pricing issue |

A break is any mismatch between the two records. The discipline is not zero breaks (timing differences are normal); it is zero *unexplained aged* breaks. A quantity break that persists more than a day usually means a trade booked on one side and not the other, or a corporate action applied on one side only.

🎬 [VIDEO: "Reconciliation in Investment Operations Explained" - youtube.com - a clear walkthrough of how fund ops teams reconcile positions and cash against custodian records]

Setting tolerances that actually work

Two failure modes:

  • Too tight: the exception queue fills with noise, analysts get alert fatigue, and the real error hides among 400 false positives.
  • Too loose: the decimal-error price slips through.

Practical approach: set tolerances by asset-class volatility, review the exception hit rate monthly, and adjust. If a check fires on 30 percent of the book daily, it is too tight and nobody trusts it. If it never fires, test it deliberately by injecting a known bad value.

A worked escalation example

A US equity fund holds 500,000 shares of a stock. Vendor A prices it at $185.00, vendor B at $184.60.

  • Divergence = (185.00, 184.60) / 184.60 = 0.217 percent
  • If the equity divergence tolerance is 0.5 percent, this passes. No action.

Now vendor A sends $18.50 (the dropped decimal):

  • Divergence = (18.50, 185.00) / 185.00 = negative 90 percent
  • Both the move-breach check (versus prior day) and the multi-source check fire.
  • Market-value impact: 500,000 x (185.00, 18.50) = $83.25 million mispriced.

That single position error, on a $2 billion fund, would move NAV by roughly 4 percent. The escalation trigger is obvious: any single-security NAV impact above a set basis-point threshold (many firms use something in the low single-digit basis points, for example a NAV error tolerance often cited around 0.5 percent for equity funds, an industry rule of thumb rather than a universal legal limit) goes straight to the fund controller before NAV is signed off.

Vérification des acquis

1. Why is an exactly-flat daily price (today equal to yesterday to the cent) treated as suspicious for a liquid US equity but potentially acceptable for a corporate bond?

2. A control dashboard flags price deviations but has no defined tolerance for what counts as an exception. According to the lesson's reasoning, what is the core problem with this?

3. In the three-layer control suite, catching a dropped decimal ($18.50 instead of $185.00) before it corrupts the NAV would primarily rely on which layer?

CHOIX MULTIPLES

4. Select ALL correct answers about the three elements every control must define in advance.

Sélectionnez toutes les réponses correctes.

CHOIX MULTIPLES

5. Select ALL correct answers describing valid distinctions among the three control layers.

Sélectionnez toutes les réponses correctes.

Periodic checks: beyond the daily batch

Not everything runs overnight.

  • Monthly: full reconciliation of income accrualsaccrualsAccrual accounting records revenue and expenses when they are earned or incurred, not when cash changes hands, giving a more accurate picture of financial performance.Voir la définition complète → versus received cash; review of all aged breaks; check that all corporate actions in the period were captured against a third source.
  • Quarterly: stale-price *rate* review by asset class (rising staleness suggests a decaying feed or a portfolio drifting into illiquid names); tolerance recalibration.
  • Annually / periodic: review the control design itself. Are the checks still aligned to what the funds now hold? A fund that added private credit needs different staleness rules than one holding only listed equities.

Controls and the regulators

The control suite is not just good hygiene; regulators expect it. In the US, the Securities and Exchange Commission (SEC) enforces rules on fund valuation, notably Rule 2a-5 under the Investment Company Act, which requires a documented, tested process for fair valuation. In the EU and UK, fund managers operate under UCITS and AIFMD (the Alternative Investment Fund Managers Directive) frameworks supervised by national regulators and coordinated by the European Securities and Markets Authority (ESMA), which require robust valuation and reconciliation controls.

The point of documenting tolerances and escalation is partly to have an auditable answer when a regulator or auditor asks: "How would you have caught this?"

The audit trail

Every exception needs a recorded lifecycle: fired, investigated, explanation, resolution, sign-off. Two reasons:

1. Evidence: you can prove the control ran and worked.

2. Learning: aged-break patterns and repeat exceptions tell you where a feed or a process is genuinely broken, versus a one-off.

A control that fires and gets silently cleared with no note is worse than no control, because it creates false confidence.

Key takeaways

  • Build controls in three layers: input plausibility, cross-record reconciliation, and output sanity, each with a defined tolerance, owner, and escalation trigger.
  • Multi-source comparison is the strongest pricing control because it does not assume yesterday was correct; a dropped-decimal error fails it instantly.
  • Tolerances must be tuned by asset-class volatility and reviewed on hit rate: too tight breeds alert fatigue, too loose lets real errors through.
  • The reconciliation goal is zero *unexplained aged* breaks, not zero breaks; timing differences are normal, silent stale ones are not.
  • Document the full exception lifecycle. Regulators (SEC Rule 2a-5 in the US, UCITS/AIFMD under ESMA in Europe) expect a tested, auditable valuation and reconciliation process, and the audit trail is your proof it worked.

Précédent

Building the data governance operating model

Suivant

Preparing for a data audit and regulatory review