Triangular relationships and synthetic crosses as a quote-quality check
Three currencies imply three exchange rates: EUR/USD, USD/JPY, and EUR/JPY. The third should equal the product of the first two, apart from spreads. Deviations show up when quotes lag or the market is stressed.
For scalpers, the relationship is a free data-quality check. Compute the implied cross from two majors and compare it to the quoted cross. A persistent discrepancy larger than the spreads suggests stale pricing on one of the legs.
During fast markets, brief divergences appear, and in principle, arbitrage trades could exploit them. In practice, they vanish before a retail order arrives, and the execution costs of three legs eat the gain.
Still, the check can serve as a filter. If the implied and quoted prices disagree, the feed is probably unreliable at that moment, and entries on the pair should be paused.
Run the comparison over a day of tick data to see how often and how large the discrepancies are. The pattern says a lot about the broker's feed.
How often does the quoted cross stray from the implied cross on the account in use?
Triangular relationships and synthetic crosses as a quote-quality check
Re: Triangular relationships and synthetic crosses as a quote-quality check
Worked example with rough numbers. EUR/USD at 1.0850 and USD/JPY at 150.00 imply EUR/JPY at 1.0850 times 150.00, which is 162.75. If the quoted EUR/JPY is 162.78, that's a 3 pip difference. Spreads on the three legs might add up to roughly 1 pip at a good time of day, so a persistent 3 pip gap would be suspicious. In practice, on my broker, the difference sits within half a pip most of the time and only jumps around news. So it's a good sign for their feed overall.
It’s Fairman 
-
Amanhasnoname
- Posts: 1506
- Joined: Fri Oct 30, 2026 9:45 am
Re: Triangular relationships and synthetic crosses as a quote-quality check
I tried the triangle check on a cheap feed once and it taught me something I hadn't expected. I compared GBP/USD, EUR/USD and EUR/GBP, and my broker's EUR/GBP updated noticeably less often than the other two. In quiet hours that showed up as a lag of a second or two, and the implied cross would lead the quoted one before catching up, which is the pattern of a feed that is interpolating rather than quoting directly.
Nothing about the fills told me this at the time. The only reason I noticed was a small spreadsheet where I pasted a few hundred snapshot rows and plotted the difference between implied and quoted mid prices. Most of the time it hugged zero, but there were clear clusters in the minutes after the London open.
I'd say the check is more useful for choosing a pair than for filtering trades. I stopped trading that cross during the open and moved my GBP exposure to the pair with the cleanest relationship, and my slippage on those entries went down.
Nothing about the fills told me this at the time. The only reason I noticed was a small spreadsheet where I pasted a few hundred snapshot rows and plotted the difference between implied and quoted mid prices. Most of the time it hugged zero, but there were clear clusters in the minutes after the London open.
I'd say the check is more useful for choosing a pair than for filtering trades. I stopped trading that cross during the open and moved my GBP exposure to the pair with the cleanest relationship, and my slippage on those entries went down.