Is retail FX scalping actually positive expectancy in 2025, or are we just selling free options to LPs via last look and toxic-flow filters without pricing it?
The usual advice is “tight spreads, fast execution, small TP, many trades.” I’ve done that for years. What bothers me is not commissions or nominal spread-it’s the invisible microstructure taxes: last look optionality, reject-on-move policies, asymmetric slippage, and how LPs classify your flow. If those dominate, then every “edge” people talk about is just variance until the filters catch you.
Things I think we’ve all under-discussed:
- The last look option’s value: If your fills are accepted when the market moves against you and rejected when it moves for you, you’ve effectively sold a short-dated option you never priced. Has anyone actually measured this option value per million notional on their own account?
- Toxicity scoring in practice: LPs don’t just look at speed; they look at your post-fill PnL curve, hold times, and correlation to short-horizon momentum. Once flagged, your stream degrades. Are we seeing a slow, silent deterioration that looks like “strategy stopped working” but is actually “stream got worse”?
- Effective spread is state-dependent: During the very moments your signals fire (micro-momentum, volatility bursts), spreads, reject rates, and fade probability all spike. Your realized spread may be 2-3x the quoted.
- Slippage policies and asymmetry: Does tightening slippage tolerance backfire by increasing rejections at precisely the best entries?
- “ECN = safe for scalping” is not universal: Many ECN LPs still run last look and fade in micro-vol. Internalization plus “hold time” in ms can be enough to turn a 0.2 pip target into negative EV.
If you want to stop hand-waving and quantify, here’s a simple measurement framework I wish more scalpers ran:
- Log every order with:
- time_request, symbol, side, size, slippage_tolerance
- quoted bid/ask at request, mid
- accept/reject flag, time_fill, fill_price
- mid after 50 ms, 200 ms, 1 s, 5 s
- Compute:
- Acceptance bias: E[Δmid | accepted] vs E[Δmid | rejected] from request to decision. That gap is your implicit option premium paid.
- Slippage asymmetry: Distribution of slippage vs subsequent 1 s move. Are you paying more when you’re right?
- Effective spread by regime: realized spread + average slippage + reject cost during signal-trigger windows vs quiet times.
- Hazard of alpha decay: conditional PnL by hold time. If nothing good happens in the first X ms, does expectancy flip negative?
- Flow toxicity proxy: average 1 s move post-fill divided by unconditional 1 s move std. If consistently positive for your direction, you look “toxic,” expect stream deterioration.
Experiments worth A/B testing for a month across two brokers/liquidity mixes:
- Randomized micro-delays: Inject 0-300 ms random delay pre-order. Measure changes in accept rate, slippage, and net PnL. Counterintuitive possibility: slightly slower, less “toxic” flow may earn better liquidity and higher net.
- Slippage tolerance sweep: Compare tight vs moderate positive slippage tolerance. Track reject-on-favorable-move frequency and expectancy.
- Size and cadence randomization: Vary size and inter-trade timing to look less predictable. See if your stream stabilizes.
- Multi-session profiling: Asia vs London vs NY-how much does your effective spread inflate exactly when your signal triggers?
- Cross-venue comparison: True no-last-look (exchange-traded futures) vs spot ECN/aggregator. Match risk per trade and see where the edge actually survives after fees and queue dynamics.
Questions to the community:
- What’s your accepted-vs-rejected post-request move differential on majors? If you’ve measured it, what’s the implied “last look tax” per million?
- Has anyone improved net PnL by intentionally loosening slippage tolerance or adding small delays to de-toxify flow?
- For profitable scalpers: what’s your minimum TP relative to your realized effective spread during entries? If TP ≤ 1.5x effective spread, how are you avoiding death by optionality?
- Has anyone observed a sudden, persistent drop in fill quality after a profitable streak, and did randomizing order timing/size reverse it?
- If you ported the same logic to CME FX futures micros, did the edge degrade less over time versus spot, even with exchange fees and queueing?
I’m skeptical that “get a raw spread and click faster” is a strategy rather than an onboarding funnel for internalizers. If the real game is managing how toxic you look to counterparties, then scalping isn’t just signal design-it’s microstructure engineering. Who’s got hard numbers to confirm or refute this?