A global portfolio does not exist in a single moment in time. The Tokyo holdings closed twelve hours ago. The London equities are in the closing auction. The Chicago derivatives are still trading. To calculate a daily net asset value, the systems running the fund have to pretend all these markets stopped moving at exactly the same second.
Look at the overnight batch schedule of any large institutional asset manager. The dependencies mapped out in the scheduling software look like a technical architecture. They are actually a chronological record of unresolved business arguments. A job that waits for a Tokyo price, a foreign exchange rate, and a fair-value file before calculating a Toronto fund’s net asset value is enforcing decisions made by different committees years apart. Moving that job earlier to improve performance is not just an infrastructure change. It is a change to valuation policy.
The timestamp tells you when a price arrived. It does not tell you whether the fund should use it. A fund accounting team will often see a price break on a Tokyo holding. One system holds the official exchange close. Another holds a fair-value-adjusted price following a material market move in New York. Both files arrived on time. The break report calls it a missing match, although the dispute is actually over which valuation policy the Toronto fund should apply. A synthetic fair-value price is just a mathematical guess hard-coded into the ledger as a fact. The architecture has to enforce strict routing between systems that need the local close to track manager skill and systems that require the adjusted price to strike the net asset value.
Vendors selling event-driven architectures and streaming pipelines often promise real-time valuations. The business of fund accounting is fundamentally discrete. A fund does not need a continuous fluid value. It needs a single, defensible number at a specific cut-off time to strike a price for subscriptions and redemptions. IT spends years building a real-time stream only to build an artificial dam at the end of it to recreate the batch process.
The gap between an Investment Book of Record and an Accounting Book of Record is fundamentally a disagreement about time. The Investment Book of Record cares about what is happening now to give portfolio managers their investable cash. The Accounting Book of Record cares about what is legally defensible at a specific past deadline. Event streams handle the intraday risk and compliance checks. The modernization separates the continuous reality of the trading desk from the discrete, batch-driven reality of the accounting department. The goal is not to eliminate the end-of-day batch, but to stop the trading desk from waiting for it.
During a platform migration, an enterprise architect mapping data flows might discover the legacy system uses three different timestamps for a single corporate bond position: the execution time from the order management system, the local market close from the pricing vendor, and the time the batch job actually processed the record. The new vendor platform requires everything in UTC. Converting everything to UTC solves the database error and ruins the accounting logic. Financial regulations, tax laws, and fund prospectuses are written in local time. A dividend is paid on a specific calendar date in the jurisdiction of the issuer. Normalizing that date to UTC means a late-night corporate action in Sydney records as happening the previous day in London, triggering false tax reporting violations. Every legacy system contains a shadow time zone created entirely by processing delays.
Non-overlapping market holidays expose these rules faster than an ordinary trading day. Toronto is open, Tokyo is closed, and the position has not changed. The practical question is whether the fund carries the last official close, applies an approved adjustment, or routes the holding for manual review. No new price received is a data condition. It is not, by itself, a valuation decision. A holiday fallback is a valuation rule with a quiet trigger.
During a scheduler export for a migration, the project team finds a job that runs only when Toronto is open and Tokyo was open on the preceding local date. Nobody can find the original decision record. The new platform team calls the sequence technical debt. Operations knows that removing it produces breaks after certain holiday combinations. An exception that fires every month-end is no longer an exception. It is part of the operating model.
Parallel run is where undocumented valuation policy starts appearing as data defects. A corrected price arrives from a vendor after the fund has released its net asset value. The practical question is not whether the new price is better or if the system can reload the file. It is whether the adjustment meets the threshold for recalculation, who authorizes that decision, and which downstream books receive the revised value.
If the old platform held a late file for review and the new one consumes it automatically, the migration has changed the policy without changing the written policy. A faster batch can produce the wrong net asset value sooner. A successful file load proves receipt, not eligibility.
Migration testing must look past the final totals. Two matching totals can conceal offsetting differences. The team needs to compare the selected price source, market date, observation time, foreign exchange rate, adjustment status, and approval reason for each exception.
Before replacing the scheduler, the valuation, pricing, operations, and technology owners have to distinguish the rules they still endorse from the workarounds they have merely kept running. The hardest item to migrate is usually a batch condition that nobody wrote into the policy document.
