# Fill Ratio

> The proportion of order attempts that resulted in a trade, read alongside what happened to the attempts that did not — how the market drifted during them, and at what price they were eventually replaced.

- Canonical: https://hadalinstruments.com/glossary/fill-ratio/
- Term set: https://hadalinstruments.com/glossary/

---
Fill ratio is arithmetic: trades divided by attempts, by count or by notional. It is also, standing alone, among the least informative numbers a venue can publish, because it says nothing about which attempts failed.

Two accounts can report the same ratio and describe opposite experiences. In the first, rejections fall where they would, scattered across market conditions, costing a retry. In the second they concentrate in the moments the market was moving in the client's favour, while the attempts that would have been unprofitable for the counterparty fill without incident. The ratio is identical; the second account is paying a systematic tax. This is why fill statistics only mean anything conditioned on the market's drift during the decision window — the same conditioning that makes [last look](/glossary/last-look/) behaviour visible rather than deniable.

The other half of the reading is what the unfilled attempt cost. A rejection is not a null event: the market moved while it round-tripped, and the eventual fill — or the abandoned trade — inherits that movement. The cost belongs in [implementation shortfall](/glossary/implementation-shortfall/) as opportunity cost, and it is routinely omitted precisely because the trade never appeared on a statement.

Definitions vary enough to defeat naive comparison, too. Ratios by count and by notional diverge whenever rejection correlates with size. [Requotes](/glossary/requote/) may be counted as fills, as rejections, or excluded entirely. Orders the client cancelled before any response may or may not sit in the denominator. A published figure without its definition is not comparable to another one.

## Why it matters

Fill ratio is one of the few execution statistics a trader can compute from records already in hand, and one of the few whose conditional structure is diagnostic rather than suggestive. The headline number is close to meaningless; that same number split by volatility, by session, by size and by the direction the market moved during the attempt is a description of how a counterparty actually treats an order. Running the directional part of that split from your own export — decline rates conditioned on which way the market moved during the hold — and what a fills-only record cannot tell you afterwards, is [why do my forex orders get rejected](/research/why-do-my-forex-orders-get-rejected/).

## Commonly confused with

Neighbouring concepts that get used interchangeably, and the distinction that actually separates them.

- **Execution quality** — A high fill ratio is not good execution and a low one is not bad execution. Two accounts can report the same ratio and describe opposite experiences, depending entirely on which attempts failed. The headline number is close to meaningless; its conditional structure is the diagnosis.
- **Rejection rate** — The arithmetic complement, and it inherits exactly the same weakness — an unconditional rejection rate says nothing about whether rejections landed where they would or where they paid. Inverting an uninformative statistic does not inform it.
- **[Slippage](https://hadalinstruments.com/glossary/slippage/)** — Slippage prices the attempts that became trades. Fill ratio counts the ones that did not. A venue can show excellent slippage precisely because the attempts that would have looked worst never became fills, which is why the two must be read together.
- **Fill ratio by notional** — By count and by notional diverge whenever rejection correlates with size, and they routinely do. Requotes may be counted as fills, as rejections, or excluded; client-cancelled orders may or may not sit in the denominator. A published figure without its definition is not comparable to another one.

## How to measure it in your own data

A definition you cannot test is a definition you have to take on trust. This is the shortest honest route from the concept to a number you computed yourself.

- **Records you need** — Every order attempt with its timestamp — not only the ones that traded — the outcome of each, the size, and a market reference over the decision window so drift direction is recoverable.
- **What you compute** — Trades divided by attempts, then immediately split: by volatility, by session, by size, and above all by the direction the market moved during the attempt. State whether the ratio is by count or by notional and how requotes and cancellations are treated.
- **What the answer tells you** — Rejections scattered across market conditions cost you retries. Rejections concentrated in the moments the market was moving in your favour, while the attempts unprofitable for the counterparty fill without incident, are a systematic tax. The two produce the same headline ratio. And price the unfilled attempts: a rejection is not a null event, because the market moved while it round-tripped, and that cost belongs in shortfall as opportunity cost — routinely omitted precisely because the trade never appeared on a statement.

## Questions and answers

### What is a good fill ratio?

The question does not have a useful answer at the headline level, which is the honest reply rather than an evasion. Two accounts with identical ratios can be having entirely different experiences depending on which attempts failed. Ask instead how the ratio splits by the direction the market moved during the attempt.

### Why does conditioning on market drift matter so much?

Because it separates bad luck from a systematic tax. Interim moves are roughly as likely to favour you as your counterparty, so honestly distributed rejections should appear in both directions at comparable rates. Rejections that cluster where the drift went your way are the same signature that makes last look behaviour visible rather than deniable.

### Can I compare two brokers' published fill ratios?

Rarely, because the definitions differ enough to defeat the comparison. Ratios by count and by notional diverge whenever rejection correlates with size; requotes may be counted as fills, as rejections, or excluded entirely; and cancelled orders may or may not be in the denominator. Without the definition the numbers are not the same quantity.

### Does a rejected order cost me anything?

Yes, and the cost is invisible in the usual places. The market moved while the attempt round-tripped, so the eventual fill — or the abandoned trade — inherits that movement. It belongs in implementation shortfall as opportunity cost, and it is omitted from most cost accounting for the simple reason that no trade ever appeared on a statement.

## If this has already cost you

A fill ratio only means something conditioned on which way the market moved during the attempt, and that conditioning is computable.

- [Execution-Chain Attribution](https://hadalinstruments.com/assays/#execution-chain-attribution) “Was it the EA, the connection, or the broker?” Will not establish: Fault. The chain attribution shows where the divergence entered, not who owes you for it — a wide fill can be an honest market, a slow hop can be your own VPS, and the report distinguishes what the logs prove from what they merely suggest.
- [Execution-Cost Assay](https://hadalinstruments.com/assays/#execution-cost-assay) “What is my execution actually costing me?” Will not establish: Whether your broker is acting against you. Cost is measurable from your side; intent is not, and a report that claimed otherwise would be selling you a story.

Intake is not open yet, so none of these can be commissioned today. They are listed here so you know the measurement exists and what it would and would not settle — the [launch list](https://hadalinstruments.com/pricing/#waitlist) hears first.

## Related terms

Derived from the links this entry makes and the entries that link back to it.

- [Implementation Shortfall](https://hadalinstruments.com/glossary/implementation-shortfall/) The difference between the return of a paper portfolio traded instantly at the decision price and the return actually realised, including the cost of the quantity that never filled at all.
- [Last Look](https://hadalinstruments.com/glossary/last-look/) A practice in over-the-counter foreign exchange in which a liquidity provider, after receiving an order against its quoted price, retains a final window in which to accept or reject the trade.
- [Liquidity Provider](https://hadalinstruments.com/glossary/liquidity-provider/) A participant that quotes two-sided prices and stands ready to trade against incoming orders, compensated by the spread for carrying inventory risk and adverse-selection risk.
- [Requote](https://hadalinstruments.com/glossary/requote/) A venue's response to an order that offers a new price instead of a fill, obliging the trader to accept the revised price, retry, or abandon the trade.

## In the research

Fill Ratio comes up in three research notes on this site.

- [Why does my EA work on demo but not live?](https://hadalinstruments.com/research/why-does-my-ea-work-on-demo-but-not-live/) Demo fills are simulated: no spread paid, no slippage, no requotes. What changes at a live venue, and how to measure the gap on your own account.
- [Why do my forex orders get rejected?](https://hadalinstruments.com/research/why-do-my-forex-orders-get-rejected/) A rejection is not an error. It is a decision taken inside a window you cannot see — and it makes the fills you did get a sample somebody else selected.
- [Is my broker trading against me?](https://hadalinstruments.com/research/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.

## Cite This Definition

APA BibTeX HTML

Hadal Instruments. (2026). Fill Ratio. Hadal Glossary. https://hadalinstruments.com/glossary/fill-ratio/ Version 8acb4c9, 2026-08-07.

@misc{hadal_2026_fill-ratio,
author = {Hadal Instruments},
title = {Fill Ratio},
year = {2026},
url = {https://hadalinstruments.com/glossary/fill-ratio/},
howpublished = {Hadal Glossary},
version = {8acb4c9},
note = {Pre-launch publication; version dated 2026-08-07}
}

Source: Hadal Instruments, Fill Ratio. <a href='https://hadalinstruments.com/glossary/fill-ratio/' rel='canonical'>Original Research</a>

Copy Citation

**Version 8acb4c9** identifies the commit that last changed this page in Hadal's content repository. That repository is not public, so the identifier does not resolve externally — it is published so a citation pins one specific state rather than a moving page. To obtain the exact version cited, use the [press and research route](https://hadalinstruments.com/press/).
