Broker Execution Quality for Copy Trading:
A Raw-Metric Scorecard
A useful broker execution-quality scorecard shows raw measurements and their denominators; it does not hide them inside an invented 0–100 rating. For copied trades, separate destination acceptance, rejection, partial and complete fills, timing, price differences and missing data. Then compare only routes and scenarios that were designed to be comparable.
This page does not rank or recommend brokers. TradeCopier has not published a controlled broker-comparison dataset here, and no score on this page predicts profit.
Start with the question the scorecard must answer
“Which broker is best?” is too broad for an auditable test. A narrower question names the source platform, destination platform, account environment, route, region, instrument, order type, size band, reference-price rule and observation window. It also states whether the goal is to inspect acceptance, fills, price difference or an observed time interval.
Execution-quality disclosure rules offer useful examples of precise definitions. The US Securities and Exchange Commission’s Rule 605 technical specification defines fields for covered US equity-order reports. Those rules are not a universal copy-trading standard and do not prove that TradeCopier or every broker has the same reporting duty. The value of the analogy is the discipline: define the order population, metric and denominator.
Publish raw measures before any interpretation
| Measure | Required context | What it does not prove |
|---|---|---|
| Eligible and submitted attempts | Selection rule, observation window and exclusions | That every source event should have been copied |
| Accepted, rejected and unresolved | Integer numerator, denominator and native state mapping | That acceptance was a fill |
| Any-fill and complete-fill rates | Censor horizon, requested quantity and partial fills | That unfilled quantity was caused by the copier |
| Routing, acceptance and fill intervals | Exact endpoints, clock domain, uncertainty, valid and missing counts | That a client-observed interval is an internal broker stage |
| Source-to-follower fill divergence | Side, source and destination VWAP, contract and quantity | That latency caused the price difference |
| Destination-arrival price difference | Destination bid/ask, quote time and age rule | That the displayed quote represented all liquidity |
| Measurement completeness | Required fields and missing-data count | That a small complete subset represents all attempts |
Show the raw counts beside every percentage. For latency distributions, show the valid count, missing count, minimum, declared percentiles and maximum. Do not assign “excellent,” “poor” or another grade from an unexplained industry average.
Distinguish request state from executed exposure
MetaQuotes states that a successful OrderSend return is not proof of execution. cTrader’s Open API model messages likewise expose distinct accepted, partial-fill, filled and rejected states. A scorecard that counts every successful API return as a filled trade can overstate fill performance.
Reconcile orders, every linked partial fill and the resulting position. The orders, deals and positions reference provides a generic ledger and worked example. Preserve native status codes along with any normalized label so reviewers can check the mapping.
Define reference prices before seeing the result
A source fill and a destination-arrival quote answer different questions. For source-to-follower divergence, compare volume-weighted source and follower fills for the matched instruction. For destination-arrival difference, use the predeclared executable side of a destination quote: ask for a buy or bid for a sell, subject to a maximum quote-age rule.
Do not switch among source fill, midpoint, last trade, bid or ask after observing which makes a route look better. Keep exact symbol, contract multiplier, currency conversion and quantity with every money calculation. The slippage cost calculator shows a single declared reference-to-fill formula; a controlled scorecard needs the surrounding event and sampling evidence too.
Check whether the quote can support the comparison
For a marketable copied order, name the quote source and the predeclared destination measurement point. If that point is order receipt, identify which system's receipt timestamp it is. State whether the quote timestamp means provider publication or local receipt; those events are not interchangeable. Record each clock domain, timestamp precision and estimated offset or uncertainty, then compare timestamps only on a documented common time basis. Use the latest qualifying quote timestamped at or before the measurement point, and define quote age as measurement time minus quote time; mark future-dated quotes unavailable. If clock uncertainty could change whether a quote falls before the point or within the age limit, mark the comparison unavailable rather than resolving it by assumption. Record bid, ask, displayed size, whether the quote is firm or indicative, instrument, order side, route stratum and the maximum age allowed by the protocol. Keep passive limit orders in a separate stratum: their later fills do not share the same arrival-price question as a marketable order. Use one signed convention across the report: for a buy, follower fill VWAP minus arrival ask; for a sell, arrival bid minus follower fill VWAP. Under this convention positive values are adverse and negative values are favorable against that selected quote.
Compare only the confirmed filled quantity for which the quote evidence is usable. If the captured quote is older than the predeclared limit, mark the quote-relative metric unavailable while retaining the attempt and its known fill outcome in the broader counts. If displayed size is smaller than filled quantity, either use a depth-weighted benchmark for the matched quantity or report the covered and uncovered amounts separately; do not compare the full fill VWAP against a quote that covered only part of it. Displayed size may be indicative or non-firm; report that status and do not call it executable depth unless the quote source supports that description. Keep unfilled quantity, unresolved fill outcomes and orders without a usable quote visible rather than dropping them from the submitted-attempt denominator. A provider quote is not automatically a consolidated NBBO. The custom comparison below is not a Rule 605 statistic; the SEC staff FAQ describes a separate, rule-specific methodology for covered U.S. equity reports. “Price improvement” can refer to other methodologies: here, a negative signed difference means favorable only against the selected quote.
| Side | Arrival quote and freshness | Requested, filled and unfilled | Fill VWAP | Signed difference |
|---|---|---|---|---|
| Buy | Ask 100.05, size 10 units; timestamped 5 ms before the declared point on a fictional aligned clock, with ±1 ms uncertainty and a 50 ms maximum age | 10 requested; 10 filled; 0 unfilled. Fills: 4 at 100.04; 6 at 100.02 | (4 × 100.04 + 6 × 100.02) / 10 = 100.028 | 100.028 − 100.05 = −0.022 per unit |
| Sell | Bid 100.10, size 10 units; timestamped 5 ms before the declared point on a fictional aligned clock, with ±1 ms uncertainty and a 50 ms maximum age | 10 requested; 10 filled; 0 unfilled. Fills: 3 at 100.11; 7 at 100.13 | (3 × 100.11 + 7 × 100.13) / 10 = 100.124 | 100.10 − 100.124 = −0.024 per unit |
| Buy, partial | Ask 100.05, size 10 units; timestamped 5 ms before the declared point on a fictional aligned clock, with ±1 ms uncertainty and a 50 ms maximum age | 12 requested; 8 filled; 4 unfilled. Fills: 5 at 100.04; 3 at 100.02 | (5 × 100.04 + 3 × 100.02) / 8 = 100.0325 | 100.0325 − 100.05 = −0.0175 per unit |
These invented rows illustrate quantity weighting and a partial fill only. The partial-fill VWAP uses the 8 confirmed units; the four unfilled units remain visible and are not assigned a price result. Negative values mean a fill was favorable relative to the declared quote under this sign convention; they do not prove routing caused the difference or that the order saved money. Fees, spread conventions, currency conversion and contract multipliers are outside this arithmetic. The examples are not TradeCopier or broker measurements. Rule 605 results use their defined order population and benchmark and must not be inferred from this custom provider-quote calculation.
Use a paired design for a broker comparison
A fair comparison should expose candidate routes to a predeclared schedule of comparable scenarios. Match instrument, action, order type, quantity band, environment and time window where possible. Randomize or rotate route order when the test design allows it, preserve the schedule method and seed, and report conditions that could not be paired.
Follower rows generated by one source action are related observations. Treating each as an independent market event can make uncertainty look smaller than it is. Separate demo and live accounts. Separate passive orders from marketable orders. Do not pool different regions or platform pairs simply to create a larger sample.
The SEC’s order-execution-quality statement discusses documented, regular review and attention to order types and execution quality for firms within its scope. It is a useful prompt for measurement discipline, not legal advice or evidence that the same duties apply to every copy-trading setup.
Avoid an arbitrary composite score
Weights such as “40% speed, 30% fill rate and 30% slippage” embed a preference that may not match the user’s strategy, order type or risk. A composite can also let a strong value hide a serious failure, such as unresolved orders. Publish the raw table first.
If an organization later creates a decision rule, state every weight, normalization range, missing-data treatment, minimum sample, disqualifying condition and sensitivity analysis. Keep the raw values available so readers can reject the weighting and reach their own conclusion. A score must never be presented as an objective broker ranking when its weights are editorial choices.
Preserve failures and data gaps
Rejections, timeouts, partial fills, connection losses, rate limits and unresolved outcomes belong in reliability denominators. A route should not appear faster because failed attempts were removed from its latency sample without disclosure. Show why a latency value is missing and which other outcome fields remain valid.
Use fixed study dates or a fixed sample rule set before collection. Do not stop when one route leads. Keep software versions, configuration changes, clock-health samples, deviations and exclusions. The prospective execution-quality study methodology publishes a no-results protocol and downloadable templates for this work.
Use the count worksheet without losing unresolved attempts
The execution count worksheet below aggregates one predeclared route population. Its unit is a destination order-submission attempt, not a source trade, deal, customer or profitable outcome. Each retry is a separate submitted attempt in this worksheet; your eligibility rule must include retry opportunities consistently. Do not compare these attempt rates with another report that deduplicates retries into one source instruction.
Enter the collection window and a common cutoff rule, such as a declared elapsed time after each submission. Keep the actual event ledger outside this aggregate worksheet. Complete means the full requested quantity was filled by that cutoff. Partial means some but less than the requested quantity filled. A partial fill followed by cancellation or rejection of the remaining quantity stays partial. If the filled quantity cannot be established, classify that attempt as unresolved.
Confirmed zero-fill rejections require evidence of both rejection and no fill. Other confirmed zero-fill outcomes include working, cancelled or expired orders without a confirmed rejection, where records establish no execution by the cutoff. An accepted working order can therefore belong in this group. A timeout by itself belongs in unresolved until reconciliation establishes its outcome. These labels summarize evidence at the cutoff; they are not interchangeable with raw platform event codes or guarantees about what happens afterward.
The five exclusive outcomes must sum to submitted attempts. The observed any-fill share is (complete + partial) / submitted. Unresolved attempts remain in that denominator. This is a descriptive share of confirmed fills at the cutoff, not a prediction of eventual fill probability. If submitted is zero, fill percentages are unavailable. An empty input is missing information, so the worksheet will not silently treat it as zero.
Timing-data completeness uses a separate partition of the same submitted attempts: valid timing count plus missing timing count. Define the endpoints and clock-validity rule before counting. A submission-to-first-fill interval is absent when no first fill is observed; that absence remains missing timing rather than a zero-millisecond duration. A filled attempt can still have unusable timestamps. Aggregate counts cannot reconstruct percentiles or tell whether a missing value came from no endpoint event, a clock issue or a logging gap; preserve those reasons in your source ledger.
Worked example: invented counts, no product measurements
This deliberately fictional example contains 110 eligible destination attempts and 100 submissions, leaving 10 eligible attempts not submitted. At its hypothetical 60-second cutoff there are 72 complete fills, 8 partial fills, 5 confirmed zero-fill rejections, 5 other confirmed zero-fill outcomes and 10 unresolved outcomes. The five outcome groups total 100. These numbers are teaching inputs, not results from TradeCopier, a broker or a customer.
| Measure | Calculation | Interpretation |
|---|---|---|
| Submission coverage | 100 / 110 = 90.91% | Share of eligible attempts actually submitted |
| Observed any-fill share | (72 + 8) / 100 = 80.00% | Confirmed complete or partial fills by the cutoff |
| Complete-fill share | 72 / 100 = 72.00% | Requested quantity fully filled by the cutoff |
| Unresolved outcome share | 10 / 100 = 10.00% | Fill outcome still unknown at the cutoff |
| Timing-data completeness | 76 / 100 = 76.00% | 76 valid intervals and 24 missing intervals under the declared rule |
Removing the 10 unresolved attempts would change the any-fill denominator to 90 and display 88.89%. That is a different measure and overstates this worksheet's confirmed-fill share of all submitted attempts. The worksheet keeps the original denominator visible. None of these percentages is a quality grade, a universal target or an estimate of profitability.
Choose “Load hypothetical example” to reproduce the arithmetic, then calculate and download the CSV. The export includes the data-origin label, worksheet version, context, raw counts, numerators, denominators and rounded percentages. Editing a loaded example retains its hypothetical label. Choose “Reset to blank” before entering your own records. User-entered data is labelled unverified; the tool cannot validate the event evidence behind it. Zero-denominator metrics export a blank percentage and an explicit unavailable status.
Read the scorecard as bounded evidence
A client-observed study cannot expose every broker, liquidity-provider or venue process. Different price feeds, spreads, sizes, queues, market conditions and account rules can remain. An observed association between one route and one result does not establish a universal cause.
Do not convert a scorecard into a claim of guaranteed fills, lower costs, higher profit, worldwide coverage or future performance. State exactly which versions, routes, accounts, instruments, regions, quantities, sessions and dates were observed. Withhold a comparison when the design or sample does not support it.
Primary references
- US SEC: Rule 605 Order Execution Summary technical specification (PDF)
- US SEC: current technical-specification listing
- US SEC staff: 2026 Rule 605 frequently asked questions
- US SEC: order-execution-quality statement
- MetaQuotes: OrderSend result semantics
- cTrader Open API: model messages
The SEC OES specification, its current-version listing and the Rule 605 FAQ were checked on September 25, 2026; the SEC listing shows the specification was updated September 23, 2026. The FINRA and platform references were checked on September 21, 2026. Regulatory scope and platform documentation can change; consult current rules and provider records for a real decision.
Count worksheet · 2026-09-22
Calculate execution outcome shares
Use one route and one predeclared population of destination order attempts. The five outcomes must total submitted attempts at the same cutoff. Partial fills include attempts whose remaining quantity was cancelled or rejected. A timeout alone does not confirm a rejection or zero fill.
Calculations and CSV generation run in your browser. This worksheet does not connect accounts or upload these entries. Use aliases and redacted context. Reset clears the form; refreshing also clears it. JavaScript is required for calculation and export; the worked example above remains readable without it.
Data origin: user-entered, unverified. The worksheet checks arithmetic, not the accuracy or consistency of the underlying event records.
Quick answers
Frequently Asked Questions
Find answers to the most common questions about this topic.
How do I calculate observed fill share without hiding unresolved outcomes?
At one declared cutoff, divide confirmed complete plus partial fills by all submitted destination attempts, including unresolved attempts in the denominator. With 72 complete, 8 partial and 100 submitted attempts, the hypothetical observed any-fill share is 80%. This does not predict eventual fills.
Can I download the execution scorecard counts?
Yes. Complete the browser worksheet, calculate the shares and download the CSV with context, counts, denominators, percentages and data-origin labels. Entries are not uploaded by the worksheet. The optional sample is hypothetical, and user-entered records remain unverified.
Does this page rank the best brokers for copy trading?
No. It defines a neutral raw-metric scorecard and publishes no controlled broker-comparison dataset or recommendation.
Which broker execution-quality metrics belong in a scorecard?
Show eligible and submitted attempts, acceptance, rejection, unresolved outcomes, partial and complete fills, separate timing stages, declared price differences and measurement completeness with their counts.
Why not combine everything into one 0–100 score?
A composite hides subjective weights and can let one strong value obscure a serious failure. Publish raw measures first; any later scoring rule must disclose weights, ranges, missing-data treatment and sensitivity.
Can an accepted order be counted as a fill?
No. Acceptance and execution are different states. Reconcile execution records and resulting positions before calculating any-fill or complete-fill rates.
Can a broker comparison predict profit?
No. Execution observations do not establish strategy profitability or future outcomes. Price and fill results also depend on the tested instrument, order, size, route, market conditions and account rules.
How should a copied-order scorecard handle partial fills and stale quotes?
Calculate a fill-price summary only for the confirmed matched quantity, using the latest quote from the named source timestamped at or before the predeclared measurement point; age is measurement time minus quote time, and a future-dated quote is unavailable. State whether the quote timestamp means provider publication or local receipt, record clock domain, precision and offset uncertainty, and mark the comparison unavailable if uncertainty could change the before-point or age-limit decision. Record whether displayed size is firm or indicative; do not treat indicative size as executable depth. Keep unfilled quantity separate. If the quote is stale or does not cover the confirmed quantity, mark that price comparison unavailable, retain the attempt and its known fill state in the original submitted denominator, and report the missing quote observation.










