CFD FX Dealer Price Feeds

Hi everyone!

In this very helpful section of Pipsology, I gathered that “the quotes that your forex broker provides you may be informed by or even come directly from the institutional FX market (via price feeds), but it is your broker who you are still trading against. Nobody else.”

My question is: where each FX dealer’s market represents a “fishbowl” for the retail trader, how and why does it happen that the historical price action of a currency pair may be very closely aligned with the historical price action of the same pair in a different fishbowl? Without more info, it seems to me that the prices of the pairs in each fishbowl should be more different than they are?

For example, see the attached screenshots of the USDJPY, as offered by both FXCM and OANDA, superimposed over one another, on both the 1 hour time frame and the 15 second time frame. You can see very little difference between them on the higher time frames.

  1. Is this because the price action we’re betting on is merely a feed the dealer is getting from a larger prime broker (i.e., the interbank rates/fluctuations)? And that those rates and fluctuations don’t vary much from one interbank “island” to another because they compete on that larger level and therefor must align with competing prices in those larger markets? And if so, does this mean that our trades don’t impact the price action that we’re looking at, because our trade capital never goes into that larger market? We’re never trading against one another? We’re simply placing bets on the movement of an object (i.e., USDJPY price action) that operates completely independent of our actions/investments? And if so, what are we looking at when we view the order book of those certain retail dealers that offer level 2 data, such as IBKR? As ostensibly those aren’t retail trades sitting in the book?

  2. Assuming #1 above is correct, is the difference in price action between retail dealers merely attributable to the “mark up” that the retail brokers apply to the larger interbank feed? In that each retail dealer applies a different mark up?

  3. Assuming all this is correct, why does the retail dealer apply a mark up at all? It would make sense if they’re all actually themselves trading in the interbank market through a prime broker arrangement, because they need to make money in the bid/ask spread. But couldn’t they merely be organizations with sufficient capital to back the trades they’re putting up against their retail subscribers? And if so, why would they mark up the spread/price feed in that case?

  4. Any idea of the source of the feed from FXCM in particular? From this link, it seems the feeds are from FXCM’s liquidity providers; but is FXCM itself participating in the market? Or simply taking in dough from a mark up on the bid/ask spread without participating? And does one case or the other make a difference in conflict/risk to FXCM’s retail traders?

Grateful for your kind guidance in shedding light on this. It goes without saying I understand there may be other explanations from the above in lieu of my noob speculation; and I’ll be grateful if you can enlighten me. I’m merely paper trading at the moment, and don’t want to wade into live trading until I have a thorough understanding of the playing field, so to speak.

Answers from what I have learnt so far.

To make money.

Their business model is not to trade but to serve as market makers to the retail industry and benefit from spreads and losses.

The legit ones have sufficient capital (hopefully) but will rather A Book or hedge a successful trader’s position in order to benefit only from the spread. And he will use the B Book method on unsuccessful traders to benefit from both the spread and his client losses. In this case, he markup the price feed in order to always be in the green no matter the type of trader they are dealing with.

Hope it was helpful,

1 Like

You definitely shed some light on part of the issue, and thanks for that!

But where each FX dealer’s market represents a “fishbowl” for the retail trader, any idea how and why does it happen that the historical price action of a currency pair may be very closely aligned with the historical price action of the same pair in a different fishbowl?

Is it a fact that our trades don’t impact the price action that we’re looking at, because our trade capital never goes into the larger market?

And if our trades don’t go into the market, and if we’re only trading against the dealer and not each other, then what are we looking at when we view the order book of those certain retail dealers that offer level 2 data, such as IBKR? As ostensibly those aren’t retail trades sitting in the book?

My pleasure

The historical price action of a currency pair in each “fishbowl” are the same due to the fact that the forex dealer (broker) is the sole market maker of his client.
Let say we have two different brokers (broker A and broker B) with their own client. All the traders of broker A will have the same historical price action. But these historical price action might slightly be different from the traders using broker B. It happens because broker A markup might be higher than broker B markups even if their liquid providers are the same.

Based on the relationship of a forex dealer, his client and the type of contract traded. I will conclude that our trades don’t impact the price action of the market. CFD trading is similar to spot betting. Your bet does not impact the performance of the players or the team you are betting. It is only between you and the sport betting company. As CFD trader we are only speculating on the price that is fed to us by our broker.
However, there are some contracts that affect the market. Like if you have a DMA account with your broker. Or trading stock on platforms like Robinhood.

This had also baffled me to see brokers offering level 2 data. If the contract is a Forex CFD, I can’t tell where that data is coming from. But if your account is a DMA account then I believe the data is coming from the liquidity provider of your broker.
You see, forex CFD data is a bit difficult to analyze due to the decentralize nature of the market. So the data are not always the same from broker to broker.

1 Like

The point is that orders of retail investors doesn’t affect supply and demand of the asset which price is quoted to you. This is because retail investors trade CFD - contract for difference which is a kind of betting where the outcome is future spot price of the asset.

1 Like

Quite right. It’s a shock for most new to trading to realise we are not buying and selling currency, when the whole industry “suggests” we are.

If understand you correctly, the reason the price of a currency pair offered by a certain retail dealer may be very close to the price for that same pair offered by a different deal is because those retail dealers obtain their feeds from larger liquidity providers… and the prices the LP’s operate with don’t tend to vary drastically because the market for the pair wouldn’t allow for a drastic imbalance for a material period of time? And that the minor difference in price on the level of the retail dealer is due to their different markups? Is that right? If so, then everything you said makes perfect sense, thanks!

Assuming I’m clear on the above, it seems the only outstanding question is what are we looking at with respect to the level 2 data provided by those certain dealers?

Your speculation that we’re looking at the transactions conducted on the level of their liquidity provider makes sense; but I’m sure we’d both love to be certain!

Here’s a message I recently received from the good folks at Tradingview’s tech support team:

"In the DOM window, the level 2 data for the traded symbols is available from the following brokers:

Alor, AMP, Binance, Bitget, Dhan, Dorman Trading, FXOpen, IBKR, iBroker, Ironbeam, OKX, Optimus Futures, Orama, StoneX, Tickmill, Timex, TradeStation, Tradovate, Velocity, in case user has access to it on the broker platform.

Up to now, we show only one “best” ask and bid value in the DOM that we receive from the exchanges."

If you or anyone else has any reliable guidance on this last point of the level 2 data, then I’ve no more questions on this topic!

Many thanks in advance!

When you trade with dealers, level 2 data is useless. You should probably be interested only in consistency of spread and execution quality (slippage).

Thanks for taking the time to provide the feedback!

But can you kindly explain why it’s useless? What are we looking at? Is it the transactions between the liquidity provider and it’s equal/larger transacting parties? And doesn’t reflect, for example, the trades among retailers on IBKR?

From my observations, it seems you have a very great cause for your quest of knowing where this data come from. Actually, I am not really concern about the L2 data provided by retail dealers. But I will also like to know that.

Since you are curious about it, you can email the broker and ask them. If you are not satisfy with their response, (and you have some free time available), I will suggest you go on a little discovery journey starting with searching on each of these broker’s website to know who are their LP. And if you find any two brokers with the same LP, you can open a demo account with each of them and compare their L2 data.

  • If they are not the same that means, the data are coming from their retail traders, which of course is misleading because we don’t trade among ourselves which in turn is just another way these brokers are luring the retail industry making us believe that there is an edge in using the L2 data they are providing.
  • But if the L2 data are the same, then you can go one more step deeper by opening another demo account with a broker that is using a different LP (based on your searches).

If the L2 data provided by these brokers (with different LPs) are:

  • Not the same, then obviously the L2 data provided by each broker is actually the data provided by their specific LP.

  • But if they are the same, then the L2 data are coming from another source which is yet to be discovered (If this is where you arrive at, I can join you in your quest to know where these data actually come from)

This seems like a long journey, but whatever discovery you make, you will help lot of traders that are also concern or using this data as edge.

I wish you luck.

1 Like

Apart from “L2 bid/ask prices” do you see anything else? Size, time of transactions, names of other dealers i.e. something that is similar to order flow? If no, what are your ideas to utilize them?

Very solid and thorough logic; many thanks for taking the time to offer such detailed guidance!

I’ll go down that road and circle back with the findings. It may take a bit of time, as I’m waiting on my residence permit in the EU, and will need it before I can establish a trading account with a dealer. But I will do it!

Thanks again!

1 Like

Alright then, I wish you success in getting your residence permit. Also waiting to know your findings.

1 Like

I don’t think you will need to go through that route anymore.

Check these out from CHATGPT :point_down:

Is it what you where looking for?

1 Like

Many thanks for this! It makes sense, and as far as I can see it leaves only a few gaps to be filled!

  1. If the retail level 2 data (e.g., provided by FXCM to its subscribers) reflects ONLY the trades among retail traders on that dealer’s platform:

-It would be useless unless the chart for the FXCM data reflects ONLY the trades among FXCM subscribers. That way it’s a closed fishbowl, and all the retailers are impacting the price in the fishbowl, with no outside influence. But I don’t think this is what’s happening, because the charts of the assets (e.g. currency pairs) would look drastically different from dealer to dealer. But they don’t, as we saw; they’re almost exactly the same. The difference between them is likely only their varied markups, as you mentioned.

  1. If the retail level 2 data (e.g., provided by FXCM to its subscribers) reflects ONLY the trades among the dealer’s larger liquidity providers:

-Then it might be helpful to see that level 2 data if it reflects the trades with a single liquidity provider. Because then we can see what’s on the table. I’m not so sure if it’s as useful if the DOM reflects consolidated ticker info across multiple liquidity providers (FXCM has several, for example); but maybe it makes no difference?

Would be grateful for your thoughts!


I think one way a retail trader can get access to a real L2 data that displays the orders of other retail traders and institutional traders is through a DMA account.
Apart from using the DMA account to access institutional data, the other way is if the retail dealer is part of an ECN which is very rare due to the fees the dealer will need to pay in order to subscribe to that network.

You see, these retail dealers are just the modern day bucket shop of the mid-1800 to 1900. The transformation has been successful due to advancement in technology, marketing tool and some few regulations. They are not to be trusted.

1 Like

Many thanks! I remember reading the Livermore story and likewise equating contemporary times with bucket shops. They certainly make it easier to short!

I’m hopeful they’ll play a reasonably fair game; it’s challenging enough as it is. Having said that, do you have a preferred cfd dealer?

1 Like

You welcome.

Not really.

1 Like