Summary: On a commodity trading desk, sanctions screening has to cover the whole deal: the buyer, the vessel, its IMO number and whatever in the book they touch. Our Trader Intelligence Desk demo checks names by fuzzy match and vessels by exact IMO number against the US, UK, EU and UN lists, refreshed every night, and puts live AIS ship positions on the same map as the book. A hit goes to compliance as a lead, and the assistant never clears anyone.

“Before nomination, screen the buyer and the ship.”

A trader types a company name and an IMO number into the desk assistant. Back come two close name matches on OFAC’s SDN list, at similarity 0.84 and 0.81, and an exact IMO match to a tanker on the same list. The answer ends: do not fix or clear any trade, charter or routing involving this vessel without written approval from compliance.

That is three minutes into a five-minute walkthrough of the Trader Intelligence Desk, our AI assistant for commodity trading desks. The book in it is fictional. The prices, news, ship positions and sanctions lists are real.

The Trader Intelligence Desk in five minutes: sanctions hits, live AIS and the book, on simulated trades

The morning view starts with money, on a simulated book

The desk opens on five numbers: overdue receivables, exposure over limit, reserves to release, demurrage on our account and net mark-to-market. Click one and the assistant asks the question behind it.

Counterparties, contracts, cargoes, vessels and hedges are all invented for the demo. Price history, news, live AIS positions and the sanctions lists come from real feeds. (Intraday ticks between real price points are simulated and labelled “sim. tick” on screen. We’d rather show that footnote than have a trader find it.)

Ask which insurance reserves finance can release today, and the desk finds three cargoes at sea where title passed on loading: USD 310,167 in the simulated book. Ask which September gasoil buyers owe money, and it separates the buyer that is overdue and over its limit from the one that is only overdue. The SQL sits under every table, so a wrong answer is visible.

That distinction taught us something. With correct SQL underneath, the model still confused “overdue” with “over limit” two times out of three when it read raw numbers. A status column spelled out in words by the SQL fixed it.

A desk assistant answer from the simulated book: one buyer above 90% of its credit limit with a cargo at sea, at 104.9% of limit, with the SQL query that produced the table shown underneath. Counterparty and figures are fictional.
A desk assistant answer from the simulated book: one buyer above 90% of its credit limit with a cargo at sea, at 104.9% of limit, with the SQL query that produced the table shown underneath. Counterparty and figures are fictional.

A late ship turns into a margin number, by Incoterm

One of the book’s tankers is 36 hours late into Mombasa. One search finds the ship, its cargo and the buyer. Then the what-if: freight up to 45 dollars a tonne and the cargo two days late.

It’s a CFR sale, so we chartered the ship and the freight and the delay are ours: USD 380,000 off the margin in the simulated book, with who pays each line and why. The same delay on a FOB sale costs us zero, because the buyer charters the vessel and carries the delay. “Code does the arithmetic. The model writes the sentence.” That is the design rule for the whole desk.

Position follows the same rule: physical cargoes, stock and paper hedges netted into long or short by product, marked to the real benchmark move since each trade.

Live AIS and the book share one map

The trader asks: “Which tankers are near Fujairah right now?” The book knows which of our ships carries what, for whom. AIS vessel tracking knows where real ships are and nothing about their cargo.

The demo keeps both on one map and never mixes them. The book’s vessels run on simulated tracks, because the book is fictional. Real ships come from aisstream.io, a free AIS stream over the Gulf, the Gulf of Oman and Bab el-Mandeb, at roughly 22 ships a minute. Each answer row names its source. In the recording, the only tanker within 30 nautical miles of Fujairah was one of the book’s own, and the table says so.

With a real book the join is direct: the nominated vessel’s IMO or MMSI number links its live position to the cargo, the contract and the buyer.

The vessel map and the assistant's answer to "Which tankers are near Fujairah right now?": gold dots are the book's own vessels on simulated tracks, grey dots are real ships from the live AIS feed, and the answer table lists the one tanker within 30 nautical miles with its source marked as the book.
The vessel map and the assistant’s answer to “Which tankers are near Fujairah right now?”: gold dots are the book’s own vessels on simulated tracks, grey dots are real ships from the live AIS feed, and the answer table lists the one tanker within 30 nautical miles with its source marked as the book.

Sanctions screening on a trading desk covers the whole deal

The compliance question on a desk is wider than one name. Is any party, vessel or IMO number in this deal on a list today, and what in my book does it touch?

The desk answers it in two places. On demand, a trader screens a name, an IMO number or both before nomination. In the background, every counterparty and vessel in the book is screened against the same lists, and the hits sit in a view next to contracts and cargoes. So a trader can ask “Which open contracts involve a counterparty or vessel with a sanctions hit?” and get the table with its SQL. If a screened name is already a counterparty, the screen also returns its KYC status and last review date.

The lists are the official files: the US consolidated screening list (OFAC’s SDN list among them), the UK Sanctions List, the EU consolidated financial sanctions list and the UN Security Council consolidated list. At the last count they held 39,710 entries, 2,815 of them with an IMO number.

A sanctions screen before nomination: an exact IMO match to a tanker on the US OFAC SDN list and close name matches at similarity 0.84 and 0.81, each shown with its list and programme and sent to compliance as a lead.
A sanctions screen before nomination: an exact IMO match to a tanker on the US OFAC SDN list and close name matches at similarity 0.84 and 0.81, each shown with its list and programme and sent to compliance as a lead.

Fuzzy matching finds the spellings, and the IMO number finds the ship

List names and CRM names rarely match letter for letter. Legal suffixes come and go (FZE, DMCC, LLC), a name transliterated from Arabic or Russian can have several spellings, and traders type fast. So the desk compares names by trigram similarity: both strings are cut into three-letter pieces and scored from 0 to 1 by how many pieces they share. In the opening example, a name typed without a suffix scored 0.84 and 0.81 against two listed entities that carry one.

A score is a ranking. Where to set the cut-off is a compliance decision, and a low one buries the analyst in false hits.

Vessels get a stricter check. A ship can change its name and flag while its seven-digit IMO number stays with the hull, so the desk matches IMO numbers exactly and says which kind of match it found.

A hit is a lead for compliance

The assistant never clears or blocks anyone. A close name match can be a different company. And a clean screen says nothing about ownership: rules such as the US 50% rule reach companies that appear on no list by name.

The free official files also have gaps. The UAE Local Terrorist List has no stable official file, and the EU’s designated-vessel annex is missing from the EU file the desk loads. Both come through OpenSanctions, which sells API credits for company use, so a pilot budgets for it.

What the desk adds is coverage: every party and ship in the book, every night, with the evidence attached. The decision stays with a named person in compliance.

The model writes the query, and code decides what runs

The demo is one container app on Azure in the UAE North region: the workspace, the assistant and its nine tools, over PostgreSQL. For questions about the book, the model writes one SELECT statement over governed views, and a guard parses it before anything runs: read-only, allow-listed views, a row cap and a five-second timeout. Models sit behind a gateway, so switching vendor is a configuration change.

Traders ask in their own language. A Russian question about urea sales by country comes back in Russian, with the total computed in SQL, never by the model. Every release runs 45 test questions in English, Russian and Arabic, and every number in an answer is checked against the database.

In a pilot, the desk’s CTRM extract replaces the simulated book. The book stays in the customer’s tenant, and the model runs where the customer chooses. More on why the join beats the chat in our earlier post on AI for commodity trading desks.

What to check before you commission a trading desk assistant

  1. Which sanctions lists it loads, how often, and what they miss.
  2. Whether vessels are matched by IMO number as well as by name.
  3. Whether every party and ship in the book is screened nightly, or only names a trader types.
  4. Whether each hit shows the matched entry, list, programme and score.
  5. Whether live AIS ships and the book’s own vessels are labelled apart.
  6. Whether the SQL sits under each answer.
  7. Where the book and the model run.

Frequently asked questions

Which sanctions lists does the Trader Intelligence Desk check?

The official US, UK, EU and UN sanctions lists, OFAC’s SDN list among them, refreshed every night. The UAE Local Terrorist List and the EU vessel annex need OpenSanctions, which sells API credits for company use.

Why screen a vessel’s IMO number as well as its name?

Ships change names and flags; the seven-digit IMO number stays with the hull. So the desk matches IMO numbers exactly and names by similarity.

Can the assistant clear a counterparty or a vessel?

No. A hit goes to compliance as a lead, with the matched entry, list, programme and score attached. Ownership checks and the decision stay with people.

What in the demo is real?

Prices, news, live AIS ship positions and the sanctions lists. The trading book, counterparties, contracts, cargoes and vessels are fictional, and every reserve, margin and exposure figure in the video comes from that simulated book.

Next step

If your desk wants sanctions hits and ship positions joined to its own book, we can run a live session on your extract and scope a pilot. See our enterprise AI work, or get in touch.

What we build: on-premise AI in the UAE.

Connect with us