Problems & solutions · Custom Software

Trade Surveillance Software Problems: The 6 That Bury Real Cases, and How to Avoid Them

Trade Surveillance Software code editor and API illustration showing common problems and fixes.
The short answer

The most expensive failure in trade surveillance is not a missed case, it is a real case sitting in the queue and being closed in eleven seconds alongside four hundred others. Two analysts facing 1,840 weekend alerts will work the top hundred by score and mass close the rest with a no further action code. When a regulator or internal audit later reconstructs that morning, an alert that existed and was dismissed without meaningful review is a materially worse position than one that never fired, and no amount of detection coverage repairs it.

Why does the project get scoped as more scenarios rather than better context?

Because scenarios are countable and context is not. A compliance committee can approve a plan that lists twelve detection patterns. It cannot easily approve a plan whose main deliverable is that the same event means something different depending on which desk generated it. So the scope lands on detection breadth, which is the least differentiated part of a surveillance programme and the part your vendor already covers.

The failure is specific to this industry because the signals that separate a real case from noise are internal facts rather than market facts. A vendor scenario sees orders and executions. It does not see that your desk runs an algorithm whose child order behaviour looks exactly like layering when the parent is being repriced, that a client facilitation desk closing a hedge near the close is unremarkable while a proprietary account doing the same thing after accumulating all week is not, or that two of your legal entities route to the same venue through different memberships so one beneficial owner appears as two participants.

Scope the build around encoding those facts instead. Account taxonomy, desk mandates, algorithm identifiers and parent to child order lineage let you suppress structurally explainable behaviour with a recorded reason rather than by raising a threshold. Watch two numbers together: total alert volume and the count of cases reaching genuine investigation. Volume falling while investigations rise is the only pattern that means the programme improved. Volume falling alone means you removed coverage.

What goes wrong when you reconstruct historical order lifecycle data?

Most firms hold executions well and order lifecycle badly, and the discovery lands in week four rather than week one. Amendments and cancels sit as separate records with no reliable parent linkage. Timestamps come from three clocks with different granularity. The venue's own message sequence was never retained because nobody needed it for settlement.

This matters because spoofing, layering and momentum ignition are arguments about intent, and intent only appears in sequence: what was displayed, how quickly it was cancelled, what the trader did on the other side, and how the book looked at each moment. A history without lifecycle is a history you cannot investigate, only summarise.

Two things follow. First, audit what you actually hold before scoping detection. Pull one active trading day from each source and try to rebuild a single parent order with all its children, amendments and cancels. Whatever you cannot rebuild for that day, you cannot rebuild for any day. Second, accept that history may start at the build rather than reaching backwards. Firms that spend six months trying to reconstruct three years of lineage from settlement records usually produce something that looks complete and is not, which is more dangerous than an honest gap. Capture forward properly from day one, keep native venue timestamp precision, and treat the historic period as executions only with that limitation documented.

Why do the order management and venue feeds break after launch?

A firm running three order management platforms plus a vendor algorithm container has four dialects of the same event, and each dialect has its own release cycle. What breaks after launch is a message format change nobody told compliance about, because the change was made for the trading desk and the surveillance consumer was not on the distribution list. The symptom is not an error. It is a scenario that quietly stops firing for one desk.

Venue feeds fail differently. Each venue's drop copy or market data feed is its own ingestion project, and gaps appear during venue maintenance windows, connectivity events and reference data changes such as a symbol reassignment. A gap that goes unnoticed is worse than no data, because a cancel to fill ratio computed across a gap looks like a genuine result and gets reviewed as one.

Build completeness monitoring as a first class feature rather than an operational afterthought. Expected message counts per source per hour with alerting on deviation, sequence gap detection where the venue provides sequence numbers, and a daily reconciliation of orders captured against executions booked. Then put the surveillance team on the change notification list for every order management platform in the firm, which is a governance fix rather than an engineering one and is usually the one nobody does.

What happens when the case record and disposition consistency are not covered?

Whatever the detection quality, the artefact that gets examined is the case file. What fired, what the analyst looked at, what they concluded, who approved it, and whether similar dispositions were consistent across analysts and over time. In many firms that record is an alert status plus free text, and consistency is simply unmeasured.

The gap opens when the build treats the case as an output of detection rather than as the product. Detection improves, the queue gets shorter, and the review record is exactly as thin as it was, which means the examination that follows lands in the same place. Analysts also carry no memory: the same trader reviewed for the same pattern three times this quarter and cleared each time for the same reason looks like a first occurrence on the fourth alert.

Make the case central. Every case should carry the evidence snapshot as it stood at review time, structured reasoning factors rather than only prose, the escalation path, the approval, and links to prior cases involving the same trader or pattern. Disposition consistency then becomes something you can measure and challenge internally before someone else does. This is also the honest place for a language model: drafting the narrative from evidence the system already assembled and flagging a proposed disposition that is inconsistent with how similar cases were closed. It suggests, a person decides, and it never closes anything.

Should you build custom or configure what you already own?

Configure if you trade one asset class on one or two venues at moderate volume with a small number of desks, and your alert queue is genuinely reviewed rather than triaged. Nasdaq SMARTS, NICE Actimize, Eventus Validus, SteelEye and Behavox carry detection libraries representing years of regulatory pattern work you should not try to recreate, and scenario maintenance as rules shift is real ongoing value you would otherwise own yourself.

Configure first even when you intend to build, because a large share of the queues we are asked to look at have never had the parameters properly calibrated against the firm's own trading profile, and have no suppression rules for structurally explainable behaviour. That work costs a fraction of a build and sometimes ends the conversation.

Build alongside, rather than instead of, when analysts close more alerts than they can meaningfully review, when in house algorithms are indistinguishable from manipulation patterns to a generic scenario, when multiple entities or memberships make one person look like several participants, when investigations require manual assembly from more than two systems, or when a regulator, an exchange or internal audit has questioned your disposition quality. Our position is that the detection library is the commodity and order lineage, identity resolution and case quality are the parts that decide outcomes. Those three are firm specific by definition.

How do hidden costs get into the quote?

Historical replay volume is the line that hides the most. Storing years of full lifecycle messages so an analyst can query a five minute window from two years ago in seconds is an architectural decision made at the start, and retrofitting it is close to a rebuild. A quote that treats storage as a hosting line has not priced the query engineering.

The second is source count. Each order management platform, each venue drop copy and each algorithm container is its own ingestion with its own dialect, tests and monitoring. Ask for a per source figure and the assumed count, then check that count against a list your head of trading confirms rather than the one compliance currently believes.

The third is identity and instrument reference data. A single trader and beneficial owner identity surviving multiple entity memberships, plus an instrument relationship graph knowing which option references which underlying, is unglamorous work that cross product detection is impossible without. It is regularly absorbed into an integration line and regularly overruns.

The fourth is asset class breadth. Fixed income and over the counter derivatives lack the clean order lifecycle equities have, so a scope that says all asset classes is hiding a materially different problem behind the same phrase.

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

Builds that work start at the order, not at the trade. If the first design conversation is about executions and profit and loss, you are getting a reporting system with alerts attached. Capture, lifecycle reconstruction and replay come before any scenario work, because once an analyst can replay a five minute window the investigations that took three days take an hour and the detection you write afterwards is better informed.

The second differentiator is that scenarios are treated as compliance policy expressed in code, which means they are readable, versioned, testable against known cases, and changeable by your team. A scenario nobody in compliance can read is a control you cannot evidence, and that is a governance failure regardless of how well it performs.

The third is measurement discipline from the first week live. Track alert volume, cases reaching investigation, median review time and disposition consistency together. A programme that only reports alert counts will optimise for a shorter queue, which is the failure mode you started with.

Finally, settle ownership before kickoff. You should own the repository, the scenario definitions and the cloud accounts. At Digital Heroes the client owns all of it from the first commit. Scenario logic is supervisory policy, and policy you cannot read, explain to a regulator or change without raising a vendor request is not policy you control.

Research & sources

The evidence behind this guide

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

  1. Large companies globally have captured, on average, only 31% of the expected revenue lift and 25% of the expected cost savings from their digital and AI transformations - a significant gap between expected and realized value. Source: McKinsey & Company (2023) →
  2. The median annual wage for U.S. software developers was $133,080 in May 2024, and employment is projected to grow 15% from 2024 to 2034 - a core input to any in-house build-vs-buy TCO model. Source: U.S. Bureau of Labor Statistics (2024) →
  3. WordPress powers 41.5% of all websites and holds 59.2% of the market among sites running a known content management system, making it by far the most-used CMS on the web. Source: W3Techs (2026) →
  4. SHRM's 2025 benchmarking data puts the average cost-per-hire at $5,475 for nonexecutive roles and $35,879 for executive roles - executive hires are on average nearly 7x more expensive than nonexecutive hires. Source: SHRM (Society for Human Resource Management) (2025) →
Lachlan R. · Director of Mobile Design · Sydney

Lachlan heads mobile design at Digital Heroes, covering iOS and Android work from first flows through to handoff specs the engineering leads can build against. He spends a lot of time on the unglamorous parts: navigation, empty states, permissions. Readers get the design side of what makes an app feel finished.

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

FAQ

Frequently asked questions

Our alert queue is unmanageable. Is raising thresholds a legitimate fix?

No, and it is worth being blunt about why. Raising a threshold is capacity management rather than calibration, and it removes coverage precisely in the range where manipulation is economical. The legitimate lever is context that changes the meaning of an identical event: desk mandate, account type, algorithm identifier and parent order lineage, used to suppress structurally explainable behaviour with a recorded reason. If suppression is recorded and reviewable, you can defend it. A moved threshold with no rationale you cannot.

Can we rebuild three years of order lifecycle from what we already store?

Usually not, and attempting it produces something that looks complete and is not. Test it before you scope anything: take one active day per source and try to rebuild a single parent order with every child, amendment and cancel. Whatever fails on that day fails on every day. The honest approach is to capture forward properly from the build, keep native venue timestamp precision, and document the historic period as executions only with that limitation stated rather than implied.

Why did a scenario stop firing for one desk without any error?

Almost always a message format or field semantics change in an order management platform, released for the trading desk without the surveillance consumer on the notification list. Nothing errors because the message still parses, it simply no longer carries what the scenario reads. The engineering fix is expected message counts per source per hour with deviation alerting and a daily reconciliation of orders captured against executions booked. The governance fix is getting compliance onto the change distribution list, which is the part firms skip.

How do we prove our alert dispositions are consistent?

By recording reasoning as structured factors rather than only free text, and by linking each case to prior cases involving the same trader or pattern. Consistency then becomes measurable: you can ask how the same factor combination was dispositioned across analysts and across quarters, and challenge the outliers internally. A model can usefully flag a proposed disposition that diverges from how similar cases were closed, but it should never close a case, both for accountability and because you will have to explain the reasoning in plain language.

What does identity resolution actually mean in a surveillance context?

One trader and one beneficial owner identity that survives multiple legal entities and venue memberships, so a person routing through two memberships does not appear as two unrelated participants. It also means an instrument relationship graph that knows which option references which underlying and which depositary receipt maps to which foreign line. Without both, cross venue and cross product detection is impossible no matter how sophisticated the scenario logic is, and packaged platforms expect you to supply them.

Should we replace our vendor platform or build alongside it?

Alongside, in most cases. The detection library is the least differentiated part of a surveillance programme and the vendor maintains it as regulations shift, which is genuine ongoing value. What is worth building is the layer the vendor cannot reach: normalised order lineage, identity resolution, firm specific scenarios that understand your algorithms and desks, and a case record designed for examination. Replacing coverage you already have is expensive and rarely improves the outcome that gets scrutinised.

How much historical data do we actually need to keep queryable?

Enough to satisfy your record keeping obligations and to investigate a pattern across a full year or more, which in practice means several years of complete lifecycle messages rather than executions alone. The requirement is not storage but query performance: an analyst needs a five minute window from two years ago in seconds. That is an architectural decision at design time and close to a rebuild afterwards, so it belongs in the first conversation rather than in a later phase.

When should communications surveillance be linked to trading data?

Phase two. A trading pattern plus a message discussing it is materially stronger evidence than either alone, but linking early produces noise rather than cases, because the trading side has to be reliable first. The practical design is not merging the systems but building a case that can reference both, with a shared identity for the person across trading accounts and communication channels. Get order lineage and case quality right, then add the linkage.

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.
Can I build my product on a no-code tool like Bubble instead of hiring developers?
For testing whether anyone wants the product, yes, and Bubble's paid plans start at $29 a month, which is the cheapest validation you will ever buy. The ceiling arrives with complex data relationships, heavy integrations, performance at a few thousand users, and the fact that you cannot export a Bubble app to servers you control. A path many Digital Heroes clients take: prove demand on no-code, then rebuild custom once revenue justifies it, treating the no-code version as a paid prototype rather than a foundation.
What does a $50,000 custom software budget actually buy?
One core workflow done properly: 10 to 15 screens, two or three user roles, a couple of integrations, an admin panel, and automated tests, delivered in roughly 12 to 14 weeks. What it does not buy is that workflow plus a mobile app plus AI features plus five more integrations. The discipline of picking the one workflow that matters is what separates $50,000 projects that ship from $50,000 projects that stall at 70% complete.
What should I have ready before I contact a development agency?
Three things, none of them technical: a one-page description of the problem in your own words, a list of the tools and spreadsheets the new system must replace or connect to, and a must-have versus nice-to-have split of features. Add a budget range, even a wide one, because it changes the conversation from fantasy to engineering. You do not need a formal specification; producing that is what a discovery phase is for.
Does it matter which tech stack the agency wants to use?
Yes, but not in the way most buyers expect: the goal is boring, popular technology such as React, Node.js or Python, and PostgreSQL, because any future team can maintain it and hiring a replacement developer takes days, not months. The red flag is an agency-proprietary framework or an unusual language, which welds you to that one vendor no matter what your contract says about code ownership. A useful test: could you find three freelancers fluent in this stack within a week? If not, push back.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
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.
How do I make sure custom software is secure and compliant with rules like HIPAA?
Start with the baseline every business system should have: encryption in transit and at rest, role-based access control, and audit logs. If HIPAA applies, the hosting provider must sign a Business Associate Agreement, which AWS, Azure, and Google Cloud all offer, and access controls have to be designed in from day one, not bolted on. SOC 2 certifies a company's operating practices, not a codebase, so ask vendors what they have shipped in your regulated domain rather than which logos are on their website.
We run everything on spreadsheets and Airtable. How do we know it's time for custom software?
The reliable signals are re-typing the same data into multiple tools, one employee acting as human middleware between systems, and errors appearing in handoffs between teams. Hard limits force the issue too: Airtable's Team plan caps at 50,000 records per base, and Business costs $45 per seat per month, so a 20-person team pays about $10,800 a year for a tool it has already outgrown. When workarounds consume more hours than the tools save, the spreadsheet era is over.
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?