Is my broker trading against me?
Asked as: is my broker trading against me
As asked it is unfalsifiable. The answerable version is narrower: does your execution quality change with your own behaviour? Here is how to record that.
The short answer
As asked, the question cannot be answered — by me, by you, or by anyone selling you a verdict on it. You are asking about intent, and intent is not in your data. Nothing your terminal records distinguishes a desk that decided to widen your spread from a liquidity provider that withdrew from everyone at the same instant.
The version that is answerable is narrower and much more useful:
Does the quality of your execution depend on facts about you that it should have no way of knowing?
Market conditions should determine your fills. Your recent profitability should not. Your position size should affect market impact in a way that scales smoothly; it should not produce a step change in rejection rate. The time of day should matter; whether you are currently up on the month should not.
That is a testable property, and it has a name worth using: conditional independence of fills. If your execution quality is conditionally independent of everything about you except size and timing, the discretionary-intervention hypothesis has nowhere to live. If it is not, you have found something that requires an explanation — and you have found it in a form you can put in front of the broker.
WHAT THIS IS — AND WHAT IS NOT PUBLISHED. This article is method, not result. No broker has been measured and published by me, and no broker is accused of anything here. There is no dataset behind this page, no hash, and no per-broker finding — none should be inferred from the fact that I describe how one would be produced. The Observatory pre-registers its definitions and thresholds before broker #1, per my methodology, and measured portraits publish with their artifacts or not at all. Status: NOT YET PUBLISHED.
Prerequisite Knowledge
You need a record that contains the null case. Almost every trader who suspects their broker has kept only the episodes that made them suspicious, which is a sample selected on the outcome and therefore useless for the comparison that matters. The prerequisite is a log of every order — filled, rejected, requoted and slipped, in both directions, when you were winning and when you were losing — with the quote stream around each one. The unremarkable orders are the control group, and without them there is nothing to compare the remarkable ones against.
The four conditionals worth testing
Each of these asks the same structural question: does this execution statistic move when something about me changes, holding the market constant?
1. Fill quality against your recent profit and loss
Split your orders by your own running P&L at the moment each was sent — up on the week, down on the week — and compare the distributions of slippage and fill ratio between the two groups. Market conditions do not know your equity curve. If your slippage distribution shifts with it, that is a dependency the market cannot supply.
The trap: your own behaviour changes with your P&L. You trade bigger after a good run, you chase after a bad one, and both of those legitimately move your execution statistics. The comparison is only meaningful once size and order type are held constant, which is why the log has to carry them.
2. Rejection and requote rates by direction of advantage
Count requotes separately for orders that would have been immediately profitable at the quoted price and those that would not. A rejection mechanism reacting to market movement rejects symmetrically — the price moved, and it moved against one side of the book indiscriminately. A rejection mechanism reacting to your expected profitability does not.
This is the sharpest of the four, because last look provides a legitimate mechanism whose asymmetry is measurable. Its existence is not misconduct; the shape of its application is the evidence.
3. Spread widening conditional on your exposure
Record the spread regime continuously, not only when you have a position on. Then compare: how does the spread behave in the sixty seconds before your stop level is approached while you hold the position, against how it behaves when price visits that same level and you hold nothing?
If the answer is the same, the accusation dies quietly and you have your answer. If the answer is not the same, you have a base rate and a deviation from it, which is the only form in which this complaint has ever been worth making.
4. Latency conditional on order aggressiveness
Time from send to acknowledgement, split by whether the order was passive or aggressive, and by size band. Latency that scales with size is ordinary. Latency that steps at a threshold — the same threshold every time — is a routing rule, and a routing rule you were not told about is a term of your trading agreement that is not written in it.
The Observable Mechanism
All four tests derive from the same two artifacts and nothing more exotic: your own order log with timestamps, sizes, directions and outcomes; and the quote stream your terminal received around each order. No venue-side data, no consolidated tape, no privileged access. That is deliberate — a test that needs data you cannot obtain is not a test you can run, and the value of these four is that they are computable from what is already on your machine.
What a positive finding actually gets you
Less than people expect, and more than nothing.
A measured asymmetry does not establish intent, and you should be suspicious of anyone who tells you it does. It establishes that a statistic which should not depend on you does depend on you, at some effect size, over some sample. That is a fact requiring an explanation — and there are innocent explanations, including routing rules that are disclosed somewhere you did not read, liquidity tiering by account type, and your own behaviour correlating with market conditions in a way you did not model.
What it changes is the conversation. A complaint that says my stop got hunted invites a support macro. A complaint that says my rejection rate on advantageous orders is materially higher than on disadvantageous ones across n orders, here is the log, what is the routing rule? is a question with an answer, and the answer is either a disclosure you can act on or a silence you can act on.
What This Does Not Establish (The Limits)
None of this establishes that a broker is honest, and the failure is not symmetric. Passing all four tests means no dependency was detected at your sample size, over your period, in your instruments — nothing more. Absence of a detected dependency is not evidence of absence, particularly at retail sample sizes where the power to detect a small effect is poor. Nor does any of this address custody, solvency, regulatory standing, or whether your funds are segregated: those are questions about an institution, and these are measurements of a data stream. A feed can be impeccable at a broker you should not have money with.
Where this leads
The four conditionals above are the trader-side version of what the Feed & Execution instruments do systematically: record the null case, hold the confounders constant, and report the effect size with the sample it came from — including when the effect is nothing, which is the result nobody publishes and the one that makes the rest credible.
If you want the terms used precisely, dealing-desk intervention, quote fade and adverse selection are defined in the glossary, each with what it does and does not imply. And if you would rather read what I will publish about specific venues before I publish it, the Observatory methodology states the thresholds in advance — which is the only order in which a threshold means anything.
Claims examined
Claim 01§ claim-9e2ab428
My broker is a B-book, so it profits when I lose and is therefore trading against me.
Internalising a trade rather than passing it to an external venue is a risk-management model, not by itself misconduct, and most large retail brokers internalise some flow by design. The claim conflates a business model with a behaviour. What matters is not whether your counterparty holds the other side, but whether the prices and fills you receive change according to facts about you rather than facts about the market — and that is a different question with a different, measurable answer.
Claim 02§ claim-e16a881b
My stop was hit to the pip and then price reversed, so the desk hunted me.
Stops cluster at round numbers and obvious levels, so liquidity thins there for reasons that require no intervention at all, and a reversal after a sweep is the ordinary appearance of that. One episode cannot separate an intervention from a crowd. Only the base rate can: how often price reaches that same distance from entry and reverses when you are holding no stop there at all. Almost nobody records the null case, which is exactly why the accusation can be neither proved nor dismissed.
Claim 03§ claim-1a2f3001
I switched brokers and my results improved, so the first one was cheating.
Two samples taken at different times, in different volatility regimes, at different position sizes, with a trader whose behaviour changed in between, differ for many more reasons than the venue. A broker comparison is only informative when the two records are captured the same way over overlapping periods — and even then it establishes that they differ, not which one is honest.
Each claim above has a permanent address — the § link — whose canonical home is the refutation index, where it carries its variant phrasings and the true proposition stated on its own feet; this article is the evidence behind it. If a claim's text ever changes, it becomes a new claim at a new address, and the old one stops resolving rather than silently meaning something else.
Explore further
Research
- Do brokers hunt your stop losses?Asked as:
do brokers hunt stop losses by widening the spread
- Why does my EA work on demo but not live?Asked as:
why does my ea work on demo but not on a live account
- What is slippage really costing me?Asked as:
what is slippage really costing me