Methodology

How PropSpread measures prop firm spreads

The full method behind every historical figure on this site: what is observed, how it is averaged, what is excluded, and the conditions under which PropSpread will and will not state a number.

Methodology version

4.1.1

All times UTC. Changes are versioned, not silent.

What PropSpread measures

Observed quotes from live accounts, never a figure a firm published about itself.

PropSpread observes the bid and ask quotes each monitored firm publishes on its own trading feed, and records the difference between them. Every figure in the historical dataset is an observation PropSpread made, not a figure a firm published about itself. Where the two differ, this site reports what it observed.

4 firms are monitored across 5 instruments: EUR/USD, GBP/USD, Gold (XAU/USD), US Tech 100 (NAS100), GER40 (DAX). The monitored population is stated on every comparative figure, because a comparison is only meaningful against a named set of firms.

How observations are collected

Polled continuously, written once, never deleted.

Each monitored feed is polled continuously while its market is open, and every accepted observation is written to an append-only record at full precision with its capture timestamp. Nothing is rounded, smoothed or interpolated on the way in, and no observation is ever deleted. Figures excluded from a statistic are counted as exclusions and remain on file.

Collection runs against live accounts at each firm. PropSpread does not transcribe figures from marketing pages, screenshots or third-party aggregators, and where a firm has no connected feed the site reports that rather than substituting an estimate.

Spread normalization

Different units and different symbol names, mapped onto one instrument.

Firms quote the same instrument in different units and to different numbers of decimal places, and they label instruments differently. Every observation is mapped to a canonical instrument and converted into that instrument’s display unit: pips for currency pairs, US dollars of spread for gold, index points for indices.

Symbol aliases are resolved at ingestion, so a firm quoting GER40.cash and one quoting DE40 are recorded against the same instrument. The conversion uses each instrument’s canonical pip size and contract size, which are the same constants the cost calculators on this site use.

Time-weighted averages

Weighted by how long a quote stood, not by how often it was sent.

PropSpread weights each observed spread by how long it stood as the prevailing quote, rather than averaging every received observation equally. This matters because feeds do not update at the same rate, or at a constant rate: a firm that publishes rapidly during a quiet hour would otherwise dominate its own average with the period when its spreads were narrowest.

A single observation is credited with at most 1 minute of weight. Beyond that the time is recorded as missing coverage rather than credited to the last known quote. The honest statement about a gap is that nothing was observed, not that the previous value persisted through it.

Market hours

Fifteen minutes means fifteen traded minutes, on every instrument.

Every observation is classified against a daylight-saving-aware schedule for its instrument, and only market-open observations enter a published average. Scheduled closures are excluded from the average and from the expected coverage the average is measured against, so a weekend never counts as missing data. Those closures are weekends, exchange holidays and the daily maintenance break.

Gap measurements are made on the market-open clock rather than the wall clock. Fifteen minutes means fifteen traded minutes, which makes the same threshold meaningful for an index with an 8.5-hour cash session and for a currency pair trading around the clock.

What is excluded, and why

Four classes of observation are kept on file and kept out of the statistics.

Four classes of observation are recorded but kept out of published statistics:

  • Non-advancing quotes. A quote republished unchanged by a feed that has stopped receiving updates. These look like stable, tight conditions and are the single most dangerous thing that can enter a spread average.
  • Closed-market quotes. A price carried on a closed venue is not a price anybody could trade.
  • Crossed or non-positive quotes. An ask below its bid is a transport artefact, not a market.
  • Implausible values. Spreads outside any defensible range for the instrument, which indicate a malformed message rather than a market condition.

Exclusions are counted and reported alongside every statistic. A rising exclusion rate is how a degrading feed is detected, so hiding it would remove the signal that protects the rest of the dataset.

Zero and locked spreads

A zero spread is real. A stalled terminal is not.

A quote where the bid equals the ask is a real observation and is kept, provided the underlying feed is still advancing. Locked quotes occur legitimately on thin books and around session boundaries, and the rate at which they occur differs enormously between firms, which is itself information about how a firm quotes.

What is excluded is a locked quote on a feed that has stopped updating, which is a stalled terminal rather than a tight market. The distinction is made on whether the source quote is still changing, not on the spread value itself. A filter that simply dropped every zero spread would systematically flatter the firms that lock most often.

Coverage and confidence

How much of the period was actually watched, published beside the figure.

Coverage is the share of a period’s market-open time for which PropSpread holds observations. It is published beside every figure because an average over 30% of a week describes a different thing from an average over 99% of it, and the two are indistinguishable once printed as a single number.

Each period is graded on three independent dimensions, all of which must hold: coverage, the number of valid observations, and the longest observation-free gap. The gap matters separately from the ratio because a ratio hides shape. Coverage of 85% as one contiguous run with a four-hour hole in it is not the same evidence as 85% peppered with brief jitter, and the hole is usually where the volatility went.

High

Coverage 90% or more

500 valid observations or more

Longest gap under 15 minutes of market-open time

Medium

Coverage 70% or more

100 valid observations or more

Longest gap under 1 hour of market-open time

Low

Coverage 40% or more

30 valid observations or more

Published with the grade attached, never ranked.

Insufficient

The statistics are withheld and the counts are reported instead.

When a figure is published

Collecting a number and stating one are separate decisions.

Collection and publication are separate decisions. PropSpread aggregates every stream it collects, including streams it does not trust, because those rollups are how a problem gets diagnosed. What reaches this site is a much smaller set.

A descriptive figure, meaning a statement about one firm, requires a verified feed, at least 500 valid observations, at least 70% market-open coverage, no observation-free gap longer than 4 hours, and a completed period. A period that fails any of these is reported as unavailable with the reason stated, never as a blank.

Rankings and eligibility

An ordinal loses its caveat, so it costs more to earn.

A comparative figure, whether a rank, the monitored-firm average or a “cheaper than” claim, must clear everything a descriptive figure does plus a higher bar, because a qualification does not survive an ordinal. A reader who sees “0.8 pips, low coverage” discounts it; a reader who sees “third cheapest” has already absorbed the ranking.

Ranked firms need at least 80% market-open coverage and a medium or high confidence grade. Beyond that, firms are ranked only on the periods they actually shared: at least 24 matched observation buckets spanning at least 60% of the requested window.

This matched-window requirement is the rule that prevents the most common comparison failure. A firm observed for 31% of a week, concentrated in quiet hours, can look cheaper than a firm observed for 98% of it, not because it quoted better but because it was watched during easier conditions. Confidence grading alone does not catch that; only refusing to compare different slices of the market does.

Quote precision and comparability

Two feeds on different price grids cannot be ranked against each other.

Firms do not all quote on the same price grid. A firm quoting an instrument to one decimal place fewer than another cannot have its spreads meaningfully ranked against it: the difference between the two would partly measure quoting convention rather than trading cost, and the coarser feed’s spreads would cluster on multiples of its own tick.

PropSpread measures each feed’s observed quote grid from the data itself rather than reading it from configuration, and refuses a cross-firm ranking on an instrument where the grids do not match. The firm keeps its own observed statistics in full, because the refusal is about comparison rather than about measurement, and the reason is stated wherever the ranking would have appeared.

What counts as a change

One bar for showing a movement, a higher one for writing about it.

Two thresholds, because they answer different questions. A movement is shown with a direction on a profile or a report when it exceeds 5% and also exceeds the instrument’s smallest quotable move. A reader looking at that page asked to see the movement, so the bar sits at the point where it stops being rounding.

A movement becomes something PropSpread will write about only above 15% and a larger absolute floor. Nobody asked for that sentence, so it has to clear a bar at which publishing it is a service rather than filler. This is why a report can show a downward arrow on an instrument and say nothing about it in its summary.

Estimated trading cost

An estimate, priced with the schedule that was in force at the time.

A cost figure combines an observed spread with the firm’s commission schedule as it stood during the period being reported. The schedule is versioned by date, so a July figure is priced with July’s commission and does not change when a firm updates its terms.

It is an estimate and is labelled as one everywhere it appears. It is not a realized execution cost: it contains no slippage, no swap and no currency conversion cost, and it is not a fill, so a trader transacting at those times paid something else. Where a firm’s commission schedule has not been verified against its published terms, no cost is stated for that firm at all rather than an unverified one.

Which firms currently have a citable commission schedule

A schedule is citable when it is verified against the firm’s published terms or taken directly from them. Operator estimates and placeholders are not, and produce a stated refusal instead of a figure.

Citable, so a cost figure is stated

  • FTMO citable on 3 of 3 asset classes
  • FundingPips citable on 3 of 3 asset classes
  • FundedNext citable on 3 of 3 asset classes

No citable schedule, so no cost figure is stated

  • Institutional Funding the live board still estimates with its own disclosure, but nothing here is published as a cost

Reporting periods

UTC throughout, completed periods only.

All timestamps, buckets and period boundaries are UTC. Weeks are ISO-8601 weeks beginning Monday; months are calendar months. Reports cover completed periods only, because a figure labelled with a period that has not finished would keep changing under a headline that did not.

Rolling windows on provider profiles (24 hours, 7 days, 30 days) are a different thing from reporting periods and are labelled as such. Where PropSpread holds less history than a window requests, the window is shown as unavailable with the amount held, rather than being silently reported over a shorter span.

Revisions

History gets corrected in the open, with a number on the correction.

Each report is generated from an immutable statistical snapshot. Late observations, a corrected outage interval, a reprocessed period or a change to the measurement rules can all legitimately change what the data says about a past period. When that happens PropSpread writes a new numbered revision rather than overwriting the payload an already-published figure was drawn from.

A revised report keeps its URL, carries its revision number and the date it was revised, and states what changed. Historical claims are not silently replaced.

Methodology versions

Three version numbers travel with every stored figure.

Three version numbers travel with every stored figure, and they move independently because they answer different questions: which observations were admitted, how admitted observations became a number, and how a spread plus a commission schedule became a dollar figure.

The current versions are 4.1.1. A figure published under an earlier version can still name the methodology that produced it, which is what makes a citation from last year checkable this year.

Independence

Commercial relationships exist and are disclosed. They buy nothing.

PropSpread has commercial relationships with some of the firms it monitors, and those relationships are disclosed where they appear. They do not influence any statistic on this site. Rankings are produced from observed data by the rules described on this page, and no firm can pay to be included in, excluded from, or reordered within one.

A firm that believes it is misrepresented can audit its own figures against this page and contact PropSpread with the period and instrument in question. Corrections are published as revisions.

Auditing a figure, or asking for a correction

Questions about a specific figure, or a correction request, can be sent through the contact page. The live measurement pipeline and the PropSpread Score are documented separately on the main methodology page.

This tool provides an indicative comparison of spreads and estimated execution costs based on periodic snapshots from connected data feeds and normalized trade assumptions. Displayed values are not tradable quotes and may differ from prices available on any provider's live accounts. Spreads vary by account type, server, liquidity conditions, and time of day. Competitor names and marks belong to their respective owners; no affiliation or endorsement is implied. The "Average Prop Firm" benchmark is a computed composite of sampled competitor feeds, not the published pricing of any specific firm. Cost estimates use a normalized trade scenario and do not constitute financial advice or a prediction of trading results.