Measuring Slippage with MAE/MFE
8 min read
Use MAE and MFE data to quantify slippage, optimize stop placement, and identify trades where money is left on the table.
8 min read
Use MAE and MFE data to quantify slippage, optimize stop placement, and identify trades where money is left on the table.
MAE and MFE are usually taught as stop and target optimization tools. But when you decompose them into entry and exit components, they become precision instruments for measuring execution quality and isolating exactly where slippage is costing you money.
If you have read the foundational lesson on MAE and MFE for stop optimization, you know that MAE measures how far price moves against you and MFE measures how far it moves in your favor. This lesson takes a different angle: using those same metrics to diagnose execution slippage -- the gap between what your system signals and what you actually capture.
The core insight is that MAE and MFE can be split into components that isolate entry quality from exit quality. Once separated, you can measure and improve each independently.
Explore the relationship between entry slippage (reflected in MAE) and exit efficiency (reflected in MFE capture). Adjust parameters to see how execution quality shifts the distribution.
Every trade has two slippage events: one at entry and one at exit. Most traders lump them together as "slippage." Splitting them reveals very different problems with very different solutions.
Entry slippage is the difference between where your signal triggered and where you were actually filled. It shows up directly in your MAE:
The portion of MAE attributable to fills worse than signal price. Measures how much adverse excursion is caused by execution lag rather than natural price movement.
Entry Slippage = |Fill Price - Signal Price| / Signal Price * 10,000If your system signals a long at $67,400 on BTC/USDT but you are filled at $67,422, that 22 USDT represents 3.26 basis points of entry slippage. This slippage inflates your MAE because the trade starts underwater before price has even moved against your thesis.
Exit slippage is the difference between your intended exit price and your actual fill. It shows up as MFE leakage -- profit that existed on paper but was not captured:
The portion of MFE lost to exit execution. Measures how much favorable excursion evaporates during the exit process.
MFE Leakage = (Peak Favorable Price - Exit Fill Price) / Entry Price * 10,000The fraction of maximum favorable excursion actually captured at exit. A ratio of 1.0 means you exited at the exact peak. Typical values range from 0.40 to 0.85.
MFE Capture Ratio = (Exit Price - Entry Price) / (MFE Price - Entry Price)When you plot MAE across all trades, the distribution shape tells you whether your stops are calibrated to your actual execution quality.
Sort your trades by MAE and examine the distribution:
| MAE Range | Trade Count | Win Rate | Interpretation |
|---|---|---|---|
| 0 - 0.3R | 45 | 78% | Clean entries, minimal heat |
| 0.3 - 0.6R | 32 | 61% | Normal adverse movement |
| 0.6 - 1.0R | 18 | 33% | Approaching stop, execution stress zone |
| 1.0R+ | 12 | 8% | Stop hit or near-miss, entry timing failure |
If a large percentage of your trades cluster in the 0.6-1.0R MAE range, your entries are consistently late. The signal is correct, but by the time you execute, price has already moved significantly. This is an execution problem, not a signal problem.
Log both your signal timestamp and your fill timestamp for every trade. Calculate MAE from the signal price and separately from the fill price. The difference between these two MAE values is your execution-attributable adverse excursion. If execution MAE is consistently more than 30% of total MAE, focus on reducing execution latency before adjusting stop placement.
MFE Capture Ratio is the single best metric for evaluating whether your exits are leaving money on the table due to execution rather than strategy.
A trader runs a momentum system on BTC/USDT 5-minute candles. Over 80 trades:
| Metric | Value |
|---|---|
| Average MFE | 2.4R |
| Average Exit R | 1.1R |
| MFE Capture Ratio | 0.46 |
| Exits within 5 seconds of signal | 34% |
| Exits delayed more than 30 seconds | 41% |
The MFE Capture Ratio of 0.46 means the trader is capturing less than half of the available favorable excursion. Digging deeper, the trades with exits within 5 seconds of the exit signal have an MFE Capture Ratio of 0.71, while delayed exits average 0.29.
The diagnosis is clear: exit execution speed is the primary leak, not exit signal quality.
Implementation Shortfall is traditionally measured as fill price minus signal price. But MAE and MFE provide a richer picture:
Combined measure of how well you captured the available trade opportunity. Accounts for both entry slippage and exit leakage relative to the theoretical maximum R.
Efficiency = (Actual R) / (MFE - Entry Slippage in R)Total Execution Cost = Entry Slippage (bps) + Exit Slippage (bps) + Spread Cost (bps)
Example: 3.2 + 5.8 + 1.5 = 10.5 bps per round trip
Over 150 monthly trades: 10.5 * 150 = 1,575 bps = 15.75% of capital lost to execution
To measure slippage using MAE/MFE, log the following for every trade:
From these seven data points, calculate per trade:
Averaging slippage across all trades hides important patterns. Segment by market condition (trending vs ranging), time of day (Asia vs US session), volatility regime (ATR percentile), and order type (market vs limit). The same system can have 2 bps of slippage in calm markets and 15 bps during news events.
Once you have 50+ trades with full slippage data, patterns emerge:
| Finding | Action |
|---|---|
| Entry slippage > 5 bps consistently | Automate entry execution or use limit orders with tight time-in-force |
| Exit slippage > entry slippage | Focus on exit automation; market exits leak more than market entries |
| MAE from signal >> MAE from fill | Your entries are delayed but your direction is right; reduce decision latency |
| MFE Capture Ratio < 0.50 | You are exiting far too early or too late; review exit signal calibration |
| Slippage spikes during specific sessions | Avoid trading those sessions or switch to limit orders during them |