How banks set your FX price: algorithms, mark-up and different treatment between clients
Your FX price does not come from a market screen: it comes from a pricing engine that adds a mark-up, and that mark-up varies from one client to another. European regulatory data show a gap of more than ten times on the same contract. What the research says, what the market's code of conduct provides, and what brings your price down.
The foreign exchange market is the largest financial market in the world: 9.6 trillion dollars change hands every day, according to the Bank for International Settlements' April 2025 Triennial Survey. One might conclude that there is one price, the same for everyone. There is not.
When a company asks its bank for a quote, the price it receives is produced by the bank's own pricing engine, which starts from the market price and adds a mark-up. That mark-up is neither public nor the same for every client — and the market's code of conduct says so explicitly.
What happens between your request and your price
- 1The current market price
The bank's engine starts from a mid rate, between the best bid and the best offer available on the interbank market at that moment.
- 2The mark-up
The bank adds a mark-up. The market's code of conduct defines it as compensation for risks taken, costs incurred and services rendered to a particular client.
- 3Adjustment to the client
The mark-up varies with the trade, but also with the client relationship. The code of conduct asks banks to tell clients that different clients may receive different prices for trades that are the same or similar.
- 4Internal matching
Your trade does not necessarily go to the market. According to the BIS, dealers match more than 80% of customer trades within their own liquidity pools, offsetting them against other clients' trades.
- 5Last look
On electronic platforms, some banks reserve a short window to accept or reject a request at the displayed price: this is "last look". The code of conduct governs it and forbids using it to gather information.
None of this is hidden or illegitimate in itself. But it means that two companies requesting the same forward, on the same day, from the same bank, may receive two different prices.
What the data measure: more than ten times more expensive for the same contract
Since the European EMIR regulation, banks report their derivatives trades to trade repositories. Four economists used these data to measure what non-financial companies actually pay on EUR/USD forward contracts: about half a million trades between 204 banks and 10,062 corporate clients, from April 2016 to March 2017.
| What they observe | Result |
|---|---|
| Spread over mid paid by the best-treated quarter of clients | less than 2.5 pips |
| Spread paid by the client at the 75th percentile | 30 pips on average |
| Who pays most | The least sophisticated clients: fewer banks, lower volume, fewer contracts |
| What removes the gap | Platforms where several banks quote at the same time |
To put it in perspective: on a one-million-euro EUR/USD forward, one pip is worth 100 dollars. Thirty pips amount to 3,000 dollars; 2.5 pips to 250 dollars. On the same contract, under comparable conditions, the gap exceeds a factor of ten.
The study's most useful result is the last one: on platforms where the client asks several banks at once, spreads become competitive whatever the client's profile. The different treatment comes from the absence of competition, not from the size of the company.
What the rules of the game say
The FX market has no central exchange; its practices are framed by a code of good conduct, the FX Global Code, maintained by central banks and market participants within the Global Foreign Exchange Committee. The code creates no legal obligation: it supplements regulation by defining good practice, which banks sign up to through a statement of commitment.
The Mark Up applied to Client transactions by Market Participants acting as Principal should be fair and reasonable.
The code goes beyond the principle. Its illustrative examples distinguish two situations:
- a bank charging a company a higher mark-up than others of the same size, credit risk and relationship, exploiting its lack of sophistication in challenging the price: not fair and reasonable;
- a bank charging different mark-ups to comparable companies because the volume of business they give it differs: acceptable.
In other words, a price difference is acceptable when it reflects the relationship, not when it exploits the client's lack of knowledge. The European study shows that the line is not always respected.
What brings your price down
The factors that, in the data, go with a better price are factors a company can act on:
- 1Measure
Compare every price obtained with the market mid at the same moment. A bank that knows its client measures does not quote the same price as to a client who does not.
- 2Put banks in competition
Ask several banks for the same trade, directly or through a multi-dealer platform. That is the factor which, in the European data, removes the different treatment.
- 3Ask for the disclosures the code provides for
Principle 14 provides that banks publish information on how they determine their mark-up. Ask yours whether it has signed up to the code and where that information is published.
- 4Negotiate with figures
A review request backed by measured gaps, trade by trade, gets an answer in figures. A request in principle gets an answer in principle.
Sources
- Bank for International Settlements, 2025 Triennial Survey: "Global FX trading hits $9.6 trillion per day in April 2025", press release, 30 September 2025.
- Bank for International Settlements, "The FX trade execution landscape through the prism of the 2025 BIS Triennial Survey", BIS Quarterly Review, 8 December 2025 (internal matching of more than 80% of customer trades).
- Schrimpf, A. and Sushko, V. (2019), "FX trade execution: complex and highly fragmented", BIS Quarterly Review, December 2019.
- Hau, H., Hoffmann, P., Langfield, S. and Timmer, Y. (2017), "Discriminatory pricing of over-the-counter derivatives", ESRB Working Paper No 61; published in Management Science, 2021, pp. 6660-6677.
- Global Foreign Exchange Committee, FX Global Code, December 2024 version: Principle 14 (mark-up), Principle 17 (last look), Annex 1 (examples), foreword (non-binding scope).
Measure the gap on one trade
Enter a trade or upload your bank's confirmation: the pricer compares it with the market price at the same moment and shows the gap.
Measure a tradeNot ready to open the pricer yet?
Get the one-page FX policy template — hedge ratios by horizon, tolerance band, delegation table. The one your auditor will ask for.
- One field only
- One-click unsubscribe
- No data resold
Frequently asked questions
The questions finance departments ask most often on this topic
How does a bank set a company's FX price?
Its pricing engine starts from the market mid at the time of the request and adds a mark-up. The mark-up compensates risks, costs and services, and varies with the trade and the client relationship. The FX Global Code asks banks to tell clients that different clients may receive different prices for similar trades.
Can my bank give me a different price from another company?
Yes, if the difference reflects the relationship — notably the volume of business. The FX Global Code, however, considers a higher mark-up that exploits a client's lack of knowledge unjustified. A study of European EMIR data shows gaps of more than ten times between clients on comparable EUR/USD forwards.
What is last look?
It is a window a price provider reserves on an electronic platform to accept or reject a request at the displayed price. Principle 17 of the FX Global Code requires its use to be transparent and forbids using it to gather information with no intention to trade.
How can I get a better FX price?
By measuring every price against the market mid at the same moment, and above all by putting banks in competition. In the European data, trades executed on platforms where several banks quote simultaneously show competitive spreads, whatever the client's profile.
Read next
What exchange rate did your bank actually apply?
8 min read
Is your bank expensive on FX? The ten-minute test
7 min read
Bank, broker or FX fintech: the comparison grid that actually matters
11 min read
FX commission on international payments: what your bank really charges
8 min read
AI and currency risk: what it does well, what it does badly, and where it becomes dangerous
9 min read