Problems & solutions · Custom Software

Securities Reference Data Software Problems: The 7 That Break Trading, Risk and Reporting, and How to Avoid Them

Securities Reference Data Management Software architecture and database illustration showing common problems and fixes.
The short answer

The most expensive failure mode is treating an external identifier as a primary key. When ISIN, CUSIP or a ticker is the key, a reassignment or a reuse silently attaches one company's history to another, and nothing errors. You discover it months later when a performance number cannot be explained, a regulatory report is rejected, or a risk figure moves for no reason anyone can trace, and by then the corrupted history has propagated into every downstream copy and every stored report. Correcting it means unpicking which records were affected across four systems with no reliable marker of where the boundary is. An internal identity that never changes and never gets reused costs nothing on day one and cannot be added later without a migration you will regret.

Why does the golden copy project try to master everything at once?

The characteristic scope failure in reference data is breadth. Because instrument data is the join between every system you own, every team has an interest, and the requirements gathering produces a list covering listed equities, fixed income, over the counter derivatives, structured products, loans, private assets, legal entity hierarchy, pricing and corporate actions. Each of those is a distinct attribute model, and none of them looks like the others. Eighteen months later the platform is comprehensive on paper and feeding nothing in production.

The reason it happens is political rather than technical. Narrowing the scope means telling a desk their asset class is in phase three, and nobody wants that conversation during a funding round. So the scope stays wide, the delivery date slips, and the teams that were promised relief keep maintaining their local copies, which is exactly the behaviour the programme existed to end.

The fix is to pick the asset classes carrying most of your positions and the two downstream systems that break most often, and to build for those only. A golden copy feeding two consumers reliably is a working platform. A golden copy feeding nobody is a data warehouse with ambitions. Nobody has regretted a narrow first release in this category and plenty have regretted a wide one, which is worth saying plainly because the pressure in the room always runs the other way.

What goes wrong when you load history from existing systems?

The load is where identity problems become visible, and it is unforgiving. You are pulling instrument records from several systems that each hold their own copy, each of which has been locally corrected over years, and you are trying to establish which of them describe the same instrument.

Four failures recur. Identifiers were reused, so two genuinely different instruments share a CUSIP across different periods and a naive load merges them into one record with a nonsensical history. Local overrides were applied without provenance, so a maturity date that differs from every vendor may be an operations correction that was right or a typo that was never caught, and nothing distinguishes them. Private placements, internal funds and bespoke instruments exist only in one system with no external identifier at all, so they either fall out of the load or get duplicated. And attributes were overwritten rather than versioned, so there is no way to reconstruct what any instrument looked like on a date last year.

What works is loading with explicit provenance and refusing to invent certainty. Every value arrives tagged with the system it came from and the date it was observed, conflicts become exceptions for a data steward rather than being resolved by a rule nobody wrote down, and pre migration values are marked as such so they are never mistaken for a mastered position. Accept that point in time history begins at go live for most attributes. Retrofitting effective dating onto years of overwritten fields is a project people describe as impossible for good reason.

Why do downstream distributions break after launch?

They break because consumers keep their own copies and the copies drift. The pattern is well known and firms still walk into it. Each downstream system needed a slightly different shape, a different arrival time or a subset of fields, so each one took a file, transformed it locally and stored the result. Within a year those stores have diverged and the master is one more source rather than the source.

The second break is timing. A nightly full reload means a downstream system spends part of every day holding yesterday's view, which is fine until a corporate action changes an instrument intraday and trading and risk disagree for six hours. Event driven publication removes that, and it also removes the reload window that quietly constrains everything else.

Vendor licensing is the third break, and it is a commercial one rather than a technical one. Redistribution rights differ by vendor and by data type, and some content cannot legally flow to every internal consumer or to any external party. Model permissions as properties of attributes by source so the platform will not distribute what you are not entitled to distribute, because discovering the limits during a vendor audit is an expensive way to learn them. Then insist on the piece most often skipped: an automated reconciliation proving each consumer's copy still matches the master. Publishing a golden copy nobody verifies is faith rather than architecture.

What happens when overrides and audit trail are not designed properly?

You get a platform full of manual corrections nobody can explain and everybody is afraid to remove. Every mature reference data estate we have worked on had them: an override applied in a hurry three years ago to fix a broken report, still in force, still suppressing the vendor value, with no record of who applied it or why. Removing it risks breaking something. Keeping it means the golden copy is quietly wrong in a way that will surface at the worst moment.

The cause is treating an override as a field edit rather than as a governed object. If overriding is just typing over a value, then it leaves no owner, no reason, no expiry and no review, and the accumulation is inevitable rather than a sign of poor discipline.

Build overrides as first class records with an owner, a reason, an effective period, an expiry and a scheduled review, and report on them continuously so the population stays visible. Alongside that, every mastered value should carry which source produced it and when, because the first question anyone asks about a wrong field is where it came from, and if the answer requires a support ticket to a vendor the design has failed. The same logic applies to point in time reproducibility: store the inputs, the rules version and the result together, so any historic position can be regenerated with its evidence rather than reconstructed from memory.

Should you build custom or configure what you already own?

Do not build if you trade listed instruments in one or two markets from a single vendor feed with a small number of systems. Consume the vendor's data model, nominate one system as the reference and be disciplined about it. A mastering programme at that size is cost with no benefit, and it will occupy the people who currently keep the data clean.

Configuring a commercial platform is genuinely defensible. GoldenSource, NeoXam and S&P Global Markit EDM are capable products, and if you have the budget and the people to run one, buying the engine and configuring it is a legitimate route. Be clear eyed about what you are buying though: the valuable content of any reference data platform is the configuration, meaning which source wins for which attribute for which asset class, how identifiers cross reference in your world, what each consumer needs and what a data quality exception means for your business. Vendors ship a framework. The framework is the cheap part.

Build when two or more hold. You take data from more than two vendors and they disagree in ways that matter. You hold instruments no vendor covers well, such as private placements, internal funds, loans or bespoke derivatives. More than four systems hold their own instrument copy. You cannot answer what an instrument's attributes were on a date last year. Or you have had a reporting rejection, a valuation error or a risk breach traced to reference data in the last twelve months. Our position, stated plainly, is that reference data is infrastructure that outlives several application generations, and owning it outright is a decision firms tend to remain glad about.

How do hidden costs get into the quote?

Five drivers, all knowable before signing.

  • Asset class breadth. Over the counter derivatives, structured products, loans and private assets each need their own attribute model, and none of them resembles a listed equity.
  • Consumer count. Every downstream projection plus its reconciliation is real work, and reconciliation is the part that gets cut and then has to be added.
  • Legal entity hierarchy. Ownership structures with percentages and effective dating are a deeper problem than they look and frequently deserve their own phase.
  • Point in time history. Correct to build and it does add cost, and it is the one thing that cannot be retrofitted, so it is worth paying for at the start.
  • Vendor permissioning. Modelling redistribution rights by attribute, source and consumer takes longer than teams expect and needs your vendor contracts read by somebody who understands them.

The cost nobody quotes is data stewardship. Survivorship rules, exception queues and override reviews need named people with domain knowledge, not a rota. If that resourcing is not agreed before build, the platform ships and the exception queue grows until somebody starts approving in bulk, which returns you to where you began.

What separates a build that works from one that fails here?

The builds that work define survivorship per attribute, per asset class, with conditions, and they say so in the first design session. Source ranking alone guarantees you are wrong on a large minority of fields, because vendor quality varies by attribute rather than overall: one source is excellent on listed equity terms and weak on fixed income analytics, another has the best issuer hierarchy and lags on new issues, and your own operations team is the only reliable source for private instruments. A developer who proposes a simple vendor hierarchy has not run one of these in production.

The second differentiator is whether distribution is proven rather than assumed. Event based publication, per consumer projections and an automated reconciliation showing each copy still matches the master is the arrangement that keeps the golden copy golden. Without the reconciliation you will not learn that a consumer has drifted until something downstream breaks, and by then the local fix is already embedded.

When choosing a developer, ask how they model identity and reject any answer treating ISIN or CUSIP as a primary key. Ask how a manual override is governed, and listen for owner, reason, expiry and review. Ask how a position from eighteen months ago is reproduced. Ask what happens when two vendors disagree on an attribute for which no rule exists, because raising an exception is the right answer and picking silently is not. Then settle ownership of the code, the survivorship rules and the cloud accounts in writing before kickoff, because the whole argument for building is that you keep the foundation when the applications above it are replaced.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. The 2024 DORA report found AI adoption significantly increases individual productivity, flow, and job satisfaction, but negatively impacts software delivery throughput and stability - a paradox leaders must manage with fundamentals like smaller batch sizes and robust testing. Source: DORA / Google Cloud (2024) →
  2. Almost half of all the activities people are paid almost $16 trillion in wages to do in the global economy have the potential to be automated by adapting currently demonstrated technologies. Source: McKinsey Global Institute (2017) →
  3. Nucleus Research's analysis of published analytics deployment case studies found business intelligence and analytics returned an average of $13.01 in benefits for every dollar spent, up from $10.66 three years earlier. Source: Nucleus Research (2014) →
  4. SMS reminders that stated the specific cost of the appointment to the health system reduced missed appointments in Trial One, with the DNA (did-not-attend) rate falling from 11.1% (control) to 8.4% (specific-costs message) - an odds ratio of 0.74 (95% CI 0.61-0.89), i.e. roughly a 24-26% relative reduction - at no additional cost. (Trial Two replicated this at an 8.2% DNA rate.). Source: PLOS ONE (Hallsworth et al.) (2015) →
Shariqq · Senior Full Stack Developer · Lucknow

Shariqq is a senior full stack developer who often inherits code rather than starting fresh. Reading an unfamiliar system, working out why it behaves as it does, then extending it without breaking what already works is a large part of the job. His posts are useful to anyone with software they did not build.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

Why is using ISIN or CUSIP as a primary key such a serious problem?
Because those identifiers are neither permanent nor exclusively assigned. Tickers get reassigned to different companies, identifiers can be reused after a period, listings migrate, and a merger can leave a surviving legal entity identifier that matches neither original. When an external identifier is the key, a reassignment silently attaches one company's history to another and nothing errors. Use an internal identity that never changes and never gets reused, with every external identifier held as a time bounded relationship to it.
How do we load instrument history from four systems that all disagree?
Load with explicit provenance and refuse to invent certainty. Every value arrives tagged with the source system and the date observed, conflicts become exceptions for a data steward rather than being settled by an undocumented rule, and pre migration values are marked so they are never mistaken for a mastered position. Watch for identifiers reused across periods, because a naive load merges two genuinely different instruments into one record with a history that makes no sense and is hard to detect afterwards.
Why do downstream systems keep their own copies even after we build a master?
Because each one needed a different shape, arrival time or subset of fields, and taking a file and transforming it locally was easier than asking for a projection. Within a year those local stores have diverged. The fix is designing distribution as a subscription contract with per consumer projections and event based publication so systems update incrementally, plus an automated reconciliation proving every copy still matches. The reconciliation is the piece usually cut and the piece that tells you the programme is working.
How should manual overrides be handled so they do not accumulate?
Make them governed objects rather than field edits. An override needs an owner, a reason, an effective period, an expiry and a scheduled review, and the whole population should be reported on continuously. If overriding is simply typing over a value, accumulation is inevitable, and every mature estate ends up with corrections from years ago that nobody can explain and everybody is afraid to remove. That population is a quiet source of wrongness in what is supposed to be the golden copy.
Can we add point in time history later if we skip it now?
Practically no. Point in time requires every attribute to carry a valid from and valid to alongside the source and the receipt timestamp, and once you have years of overwritten fields there is nothing to reconstruct from. It is the one design decision in this category that cannot be deferred, which is why it belongs in the first release even when it adds cost. Without it you cannot explain a historical valuation, reproduce a past regulatory report or defend a performance number.
Is buying GoldenSource or NeoXam the safer route?
It is defensible if you have the budget and the people to run one, and the products are capable. Be clear about what you are buying: the valuable content of any reference data platform is the configuration, meaning source hierarchy, survivorship, cross referencing, consumer contracts and what an exception means to your business. Vendors ship a framework and the framework is the cheap part, so compare the professional services estimate against a build rather than comparing licence to build.
Do vendor contracts really limit how we distribute data internally?
Yes, and it is a commercial constraint rather than a technicality. Redistribution rights differ by vendor and by data type, and some content cannot legally reach every internal system or any external party. Model permissions as properties of attributes by source so the platform will not distribute what you are not entitled to distribute, and have somebody who understands the contracts read them during design. Discovering the limits during a vendor audit is an expensive way to learn them.
What resourcing does the platform need after it goes live?
Named data stewards with domain knowledge, not a rota. Survivorship rules need maintaining as vendors and asset classes change, exception queues need working daily, and overrides need reviewing before they expire. If that resourcing is not agreed before the build starts, the exception queue grows until somebody begins approving in bulk to clear it, which reproduces the uncontrolled local corrections the programme was meant to eliminate. Budget the people alongside the software.
Is it cheaper to customize Salesforce than to build a custom CRM from scratch?
If you use less than a third of what Salesforce does, a custom CRM is often cheaper by year three. Salesforce Enterprise lists at $165 per user per month, so 25 seats cost about $49,500 a year before admin and consultant fees, while a focused custom CRM runs $60,000 to $100,000 once plus 15 to 20% a year in maintenance. If you genuinely need Salesforce's ecosystem, reporting, and app marketplace, customizing it beats rebuilding it; the mistake is paying enterprise prices to use it as a glorified contact list.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
How do I vet a software development agency before signing a contract?
Ask to speak with two past clients whose projects resemble yours in size and industry, and ask exactly who will write your code, since some agencies sell senior faces and deliver junior or subcontracted hands. Demand a written specification with acceptance criteria before any fixed price, and check that their portfolio links to products that are actually live. An instant quote given without questions about your workflows is the clearest warning sign there is.
How many SaaS seats do we need before building custom becomes cheaper?
The crossover usually shows up between 20 and 50 seats on premium tiers. Salesforce Enterprise lists at $165 per user per month, so 40 users cost about $79,000 a year in subscriptions, which is real money against a custom system you would own outright. Run the comparison over three years: if subscription spend beats the build cost plus 15-20% annual maintenance, custom wins on price before you even count workflow fit.
What is the biggest mistake first-time software buyers make?
Choosing the lowest quote without asking why it is the lowest. A bid 40% under the field usually gets there by skipping tests, documentation, and code review, which are invisible in a demo and brutal to pay for later; every stalled project Digital Heroes has been asked to rescue tells some version of that story. The second mistake is signing without a written scope, which reliably turns the winning cheap quote into 1.5x to 2x the price by launch.
How many people should be working on my software project?
Three to five for a typical focused build: a project lead, one or two engineers, a designer, and part-time QA, which is the standard shape across 2,000+ Digital Heroes projects. Larger platforms justify 6 to 10, but a ten-person team on a small first version usually signals bill padding rather than horsepower. What predicts success is whether a senior engineer is writing your code daily, not the headcount on the proposal.
What is a discovery phase, and is it worth paying for separately?
Pay for it, and treat the output as yours. A discovery phase runs two to three weeks, typically 5 to 10% of the eventual build budget, and produces a written scope, wireframes, and a fixed quote you can take to any vendor, including a competitor of the agency that wrote it. Skipping it is how projects end up quoted from a two-paragraph email and delivered at twice the price.
Should I ask for a fixed price or pay the agency hourly?
Fixed price for the first version, hourly or retainer for what comes after launch. A fixed-scope, fixed-price V1 puts the estimation risk on the agency, which is exactly where you want it while trust is unproven; hourly billing on an unscoped greenfield build is a blank check. After launch, flip it, because maintenance and small features arrive unpredictably and fixed-pricing every ticket wastes everyone's time.
What happens if I stop paying for maintenance after launch?
Nothing breaks on day one, which is what makes it dangerous. Within 6 to 18 months, unpatched dependencies accumulate known vulnerabilities, an integrated API like Stripe ships a breaking change, and the first fix requires a developer to relearn a stale codebase at full price. Budget 15 to 20% of the build cost per year for upkeep; it is the difference between a $500 patch and a $15,000 emergency.
How small can the first version of my software be and still be worth building?
One workflow, end to end, for one type of user: the single process that currently burns the most hours or loses the most money. In Digital Heroes delivery experience, first versions scoped to 6 to 10 weeks of build time ship, get used, and generate the feedback that makes version two obviously right, while 9-month first versions routinely launch with features nobody touches. Everything you cut from v1 gets cheaper to build later, because real usage reorders the roadmap for you.
Who can build a custom software system?

Digital Heroes builds custom software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?