CASE 03
What Happens When Slippage Doubles? The Backtest Cost Cliff
The strategy earns 0.09R per trade before friction. At ordinary costs it keeps 0.05R. Double slippage and almost the entire edge disappears.
Validation verdict for execution-cost cliff
The relevant question is not whether the baseline cost is “realistic.” It is how far costs can worsen before the strategy crosses a cliff from positive expectancy to negative expectancy.
What the headline metric obscures about execution-cost cliff
A backtest configured with one fixed slippage value produces one clean net result. The precision of the number creates false confidence, even though slippage is a distribution that expands around volatile opens, news, thin sessions and larger order sizes.
High-turnover strategies are especially exposed because friction is paid repeatedly. A small under-estimate per fill can become the dominant driver of total profit without changing the entry logic at all.
How execution-cost cliff enters the backtest
Edge and cost are close in size
When gross expectancy is only a few basis points or a small fraction of R, a modest cost error can consume the entire margin.
Slippage is state-dependent
The worst slippage often occurs during the same fast moves that trigger stops and breakouts, so treating it as independent noise understates joint damage.
Turnover compounds the error
Two fills per round trip, scale-ins, partial exits and reversals multiply a small per-fill assumption across hundreds of transactions.
The fill model may already be optimistic
Historical bars and broker-emulator assumptions can place orders at prices that would be difficult to obtain live, before any explicit slippage is added.
Compact reconstruction of execution-cost cliff
| Slippage scenario | Net expectancy/trade | Net profit (600 trades) | Profit Factor | Verdict |
|---|---|---|---|---|
| Baseline 1.0× | +0.050R | +30R | 1.31 | Positive cushion |
| 1.5× | +0.030R | +18R | 1.17 | Thin |
| 2.0× | +0.010R | +6R | 1.05 | Near break-even |
| 2.5× | −0.010R | −6R | 0.95 | Negative |
The strategy does not fail because slippage becomes absurd. It fails because gross expectancy was only 0.09R and total friction was already close to it. The critical output is the break-even multiplier—here between 2.0× and 2.5×—not the attractive baseline line.
The test that can overturn the execution-cost cliff verdict
Build a one-dimensional cost ladder first, then a two-dimensional grid if spread and slippage can worsen together. Track the first point where expectancy turns negative and the ranking of strategy versions changes.
What trade-list analysis can and cannot identify about execution-cost cliff
Export-level red flags for execution-cost cliff
- Net expectancy is less than twice estimated round-trip cost
- Profit Factor falls below 1.1 at only 1.5× cost
- Most trades occur at opens, news windows or thin sessions
- Many scale-ins and partial exits increase fill count
- Backtest profit rises mainly with turnover rather than payoff
What the export reveals about execution-cost cliff
- Baseline-versus-stressed net expectancy and the exact break-even multiplier
- Cumulative cost drag across all fills and its share of gross profit
- Profit Factor, drawdown and recovery changes as friction increases
- Session, volatility and direction segments that carry disproportionate cost sensitivity when columns permit
What execution-cost cliff still requires from settings, code, or market data
- A historical export cannot know your future broker, order size, queue position or market impact. Stress ranges must be supplied and documented.
- If TradingView already included commission or slippage, adding the same amount again in a downstream tool would double count it. Preserve the original settings.
Turn execution-cost cliff into a falsifiable backtest diagnosis.
Case file 03/20 · COST-ELAS · one failure mechanism, one falsifiable protocol
Research abstract: execution-cost cliff
Case file 03/20 · COST-ELAS · one failure mechanism, one falsifiable protocol
This article tests one central proposition: subtracting a constant average slippage cannot capture the nonlinear cost cliff in which costs and losses expand together during stress. The question is not merely whether the displayed net profit or win rate was arithmetically calculated. The deeper identification problem is whether we know what constitutes one observation, what information was available at the decision time, which assumptions are necessary for the profit to exist, and how much of the conclusion survives when those assumptions are perturbed. The research object is therefore not one performance table; it is the linked data-generation, fill-generation, estimation, selection, and capital-allocation process.
The primary estimand is executable net expectancy that remains after deterioration in the distribution of trading costs. The observation unit is defined as an order leg, costing entries, additions, partial exits, and final exits separately. Without this definition, split fills, duplicated signals, common events, synthetic prices, or timestamp conversions can be double-counted as independent evidence. A larger row count does not necessarily contain more independent information. An academically defensible analysis fixes the relationship between the observation unit and the estimand before it reports sample size, standard error, or statistical confidence.
The principal sensitivity axes are slippage multiplier, spread percentile, and fill-rejection rate. The hidden state is state-dependent and size-dependent slippage and its positive correlation with losing conditions. In particular, liquidity thins exactly when loss avoidance matters most, concentrating fills far from the favorable backtest price. Means and medians alone are incapable of describing that mechanism, so the analysis combines central estimates with lower quantiles, expected shortfall, sign stability, boundary-hitting frequency, and contribution concentration. The objective is not to find one pessimistic number, but to map the full region in which the original conclusion changes sign or ceases to be economically usable.
The conclusion does not attempt to prove that a backtest is good. It separates the component that remains after attempted falsification from the component that disappears when assumptions are reconstructed. The governing decision principle is to measure break-even under base, 2×, 3×, and crisis-quantile cost scenarios and classify a strategy that changes sign at 2× as fragile. This is not trading advice; it is a research procedure for measuring how much evidentiary weight a TradingView trade export can carry. Liquidity not present in the file, broker-specific rules, future regimes, outages, and gaps require separate evidence, and statistical survival never guarantees future profit.
The numerical values illustrate the method for execution-cost cliff; they are not a real strategy, client record, or forecast.
Hypotheses and identification target for execution-cost cliff
executable net expectancy that remains after deterioration in the distribution of trading costs
H₀ for execution-cost cliff: The reported performance is not materially dependent on the suspected failure mechanism and survives reasonable perturbations.
H₁ for execution-cost cliff: The reported performance depends materially on the suspected failure mechanism and deteriorates after reconstruction, perturbation, or dependence-aware resampling.
executable net expectancy that remains after deterioration in the distribution of trading costs
an order leg, costing entries, additions, partial exits, and final exits separately
state-dependent and size-dependent slippage and its positive correlation with losing conditions
slippage multiplier, spread percentile, and fill-rejection rate
Formal estimands for execution-cost cliff
Definitions precede inference.
E_net(c)=E_gross−E[N_legs]·cNet expectancy under a linear constant cost per order leg.∂E_net/∂c = −E[N_legs]Local sensitivity conditional on a fixed trade set and order-leg count. Rebuild the full path when costs alter fills or trade selection.c* = E_gross / E[N_legs]Break-even cost per leg under the linear cost model.The primary estimand is executable net expectancy that remains after deterioration in the distribution of trading costs. The observation unit is defined as an order leg, costing entries, additions, partial exits, and final exits separately. Without this definition, split fills, duplicated signals, common events, synthetic prices, or timestamp conversions can be double-counted as independent evidence. A larger row count does not necessarily contain more independent information. An academically defensible analysis fixes the relationship between the observation unit and the estimand before it reports sample size, standard error, or statistical confidence.
The principal sensitivity axes are slippage multiplier, spread percentile, and fill-rejection rate. The hidden state is state-dependent and size-dependent slippage and its positive correlation with losing conditions. In particular, liquidity thins exactly when loss avoidance matters most, concentrating fills far from the favorable backtest price. Means and medians alone are incapable of describing that mechanism, so the analysis combines central estimates with lower quantiles, expected shortfall, sign stability, boundary-hitting frequency, and contribution concentration. The objective is not to find one pessimistic number, but to map the full region in which the original conclusion changes sign or ceases to be economically usable.
Illustrative recomputation design for execution-cost cliff
For the execution-cost sensitivity reconstruction, table values are illustrative calculations used to expose a verdict reversal; they are not a user’s observed TradingView result.
| ID | Recomputation layer | Operation | Comparison | Diagnostic purpose |
|---|---|---|---|---|
| S0 | Reported result | Restate the Strategy Tester aggregate | Base | Apparent conclusion |
| S1 | Unit reconstruction | an order leg, costing entries, additions, partial exits, and final exits separately | Reassess count and dependence | Information correction |
| S2 | Independent recomputation | Rebuild price, size, cost, and currency row by row | Separate reconciliation error | Measurement validity |
| S3 | Local stress | slippage multiplier, spread percentile, and fill-rejection rate | Perturb one factor only | Causal sensitivity |
| S4 | Tail injection | liquidity thins exactly when loss avoidance matters most, concentrating fills far from the favorable backtest price | Recompute lower quantiles and boundary hits | Capital preservation |
| S5 | Dependence-aware resampling | Generate paths across several block lengths | Intervals and sign stability | Estimation uncertainty |
| S6 | Selection adjustment | Log search, OOS review, and exclusions | Correct maximum-selection bias | Generalization |
| S7 | Full gate | measure break-even under base, 2×, 3×, and crisis-quantile cost scenarios and classify a strategy that changes sign at 2× as fragile | Compare with predeclared thresholds | Pass / hold / reject |
The illustrative recomputation for execution-cost cliff changes one processing layer at a time, then combines only predeclared layers. S0 is never treated as ground truth; it is the statement to be audited. S1 and S2 ask whether the exported unit and arithmetic are coherent. S3 and S4 identify local sensitivity and tail failure. S5 changes the uncertainty model rather than the trade list. S6 adjusts for the search that preceded publication. S7 applies the same gate to every version. This order prevents an adverse result from being explained away by simultaneously changing several assumptions.
In the execution-cost sensitivity figures, color and position encode diagnostic sensitivity only; they do not represent statistical significance or future P&L.
Diagnostic figures specific to execution-cost cliff
Four separate visual tests; no decorative chart reuse.
Multi-layer audit questions for execution-cost cliff
A result is only as strong as its weakest unresolved layer.
Under adversarial review, fix the estimand as “executable net expectancy that remains after deterioration in the distribution of trading costs.” Do not substitute net profit, win rate, or a visually smooth curve for that target. Declare the horizon, account currency, included frictions, and operating-stop boundary before calculation. Any post-result change creates a new hypothesis and version, preventing the question from being selected after the answer is known.
Reconstruct the observation unit as “an order leg, costing entries, additions, partial exits, and final exits separately” before treating rows as independent evidence. Report raw rows, parent trades, decisions, event clusters, and the denominator used for each average or standard error. Recompute net expectancy, break-even cost, cost elasticity, opportunity loss after rejected fills, and lower quantiles under crisis costs under more than one defensible aggregation rule so that a larger export is not mistaken for a larger information set.
Preserve the hash of the TradingView export and the symbol, timeframe, session, timezone, order-processing settings, costs, account currency, and Pine version. For execution-cost cliff, state-dependent and size-dependent slippage and its positive correlation with losing conditions directly affects reproducibility. Keep immutable source, normalized, and analysis layers separate, with every join, deletion, imputation, and conversion recorded in a transformation ledger.
The export identifies only what can be rebuilt from recorded time, price, quantity, and P&L. order-book depth, queue position, market impact, and broker-specific rejection or requoting requires additional evidence. Mark each causal link as observed, bounded by assumption, or externally unverified. This prevents state-dependent and size-dependent slippage and its positive correlation with losing conditions from being presented as a confirmed fact when the available data support only an interval or conditional conclusion.
Do not adopt the platform summary as ground truth. Independently expand every entry, add-on, partial exit, and close into order legs and apply spread and slippage by time, size, and liquidity state. Reconcile total and row-level differences by sign, date, symbol, and order type. If discrepancies concentrate in the exact state associated with execution-cost cliff, treat that concentration as a primary finding rather than dismissing it as rounding.
Report net expectancy, break-even cost, cost elasticity, opportunity loss after rejected fills, and lower quantiles under crisis costs with intervals or resampling distributions, not point estimates alone. Match the uncertainty method to sample size, skewness, heavy tails, censoring, and selection history. If normal, quantile, and dependence-aware methods disagree on the sign, classify the edge as unidentified and show the minimum detectable effect and lower decision bound.
Do not narrow uncertainty with an IID shuffle alone. Resample time blocks that preserve liquidity and volatility states using several fixed block lengths and stationary bootstrap. Preserve random seed, repetition count, wrap rule, and missing-data treatment. For each block specification, report the distribution of net expectancy, break-even cost, cost elasticity, opportunity loss after rejected fills, and lower quantiles under crisis costs, the rejection-side tail mass, and the rate at which the verdict changes sign.
Interrogate the mechanism “state-dependent and size-dependent slippage and its positive correlation with losing conditions” with lower quantiles, expected shortfall, influence, cluster length, and boundary-hitting measures. Historical maximum loss is not a loss cap. Define several absorbing or operating boundaries—capital, margin, mandate drawdown, and recovery time—and record which boundary fails first under each stress.
A flat commission deduction is not an execution model for execution-cost cliff. Allocate spread, slippage, financing, borrow, roll, conversion, rounding, and rejected orders to the relevant unit. Recompute net expectancy, break-even cost, cost elasticity, opportunity loss after rejected fills, and lower quantiles under crisis costs under base, upper-quantile, and crisis states while preserving the possibility that costs and losses worsen together.
Count the complete population of periods, symbols, timeframes, parameters, exits, filters, and metrics that were tried. Do not detach the attractive result for execution-cost cliff from rejected candidates, interim changes, or repeated validation reviews. Where appropriate, use PBO, SPA, and a Deflated Sharpe Ratio, and treat an unrecorded trial count as a material audit limitation.
Test whether execution-cost cliff is concentrated in one trend, volatility, liquidity, rate, or session state. Define regimes prospectively or on training data only. Report statewise net expectancy, break-even cost, cost elasticity, opportunity loss after rejected fills, and lower quantiles under crisis costs, occupancy, transition probabilities, and costs, then reweight the mixture to adverse but realistic future compositions.
For the execution-cost cliff case, the same trade set can follow different capital paths under another inception date, order, initial balance, rounding rule, or stop condition. Separate fixed quantity, fixed R, and percentage sizing, then use circular shifts and block orderings to recompute drawdown, recovery, and boundary hits. Equal terminal P&L does not imply equal path risk.
Perturb “slippage multiplier, spread percentile, and fill-rejection rate” one axis at a time before creating a joint sensitivity surface. Add the negative control “permute slippage states within the same session to test whether the strategy timing is specifically exposed to costly execution.” Predefine the grid and crisis rule so that neither the most favorable nor the most damaging cell is selected after inspection. Save the slope, curvature, and exact point where the decision boundary is crossed.
Have a second implementation expand every entry, add-on, partial exit, and close into order legs and apply spread and slippage by time, size, and liquidity state, then compare critical row-level outputs. Regression fixtures should include empty files, duplicate timestamps, extreme costs, reverse ordering, missing values, and boundary cases. Agreement between implementations is insufficient if they share the same bad input, so separate data construction and review roles where feasible.
Predeclare the decision rule. This case passes only if “net expectancy clears the lower bound under base, doubled, and upper-quantile cost scenarios with material distance to break-even cost.” Near a boundary, disclose interval width and economic materiality rather than a binary badge. If only one favorable block length, cost state, or implementation passes, classify the result as assumption-sensitive rather than robust.
The evidence ledger must store the input hash, code version, settings, exclusions, “slippage multiplier, spread percentile, and fill-rejection rate,” block lengths, random seed, repetition count, and every scenario output. Keep exploratory and confirmatory results in separate namespaces and retain failed trials. When new TradingView data arrive, create a new version and track realized cost per leg, size-conditioned slippage, rejection rate, and deviation from the base cost model rather than overwriting the old result.
Translate statistical changes into capital consequences. A shift in expectancy, lower quantile, recovery time, or boundary risk caused by execution-cost cliff should be mapped to trade count, capital, margin, and continuation. A small per-trade difference can compound under high turnover, while a rare loss can be decisive near an absorbing boundary.
Separate hypothesis design, implementation, independent recalculation, and approval where practical. Stop automatically on material reconciliation error, unresolved missing data, non-reproducibility, or a predeclared threshold breach. Audit the chain “optimistic fills → overstated small wins → accumulation through turnover → negative net expectancy → live-trading divergence,” and monitor realized cost per leg, size-conditioned slippage, rejection rate, and deviation from the base cost model prospectively without turning a historical pass into a promise of future profit.
Falsification protocol for execution-cost cliff
measure break-even under base, 2×, 3×, and crisis-quantile cost scenarios and classify a strategy that changes sign at 2× as fragile
Freeze the TradingView source for the execution-cost cliff audit
Store the export without alteration and record its hash, export time, strategy, symbol, timeframe, and settings. Preserve every column relevant to execution-cost cliff; deletions and imputations belong only in derived tables.
Reconstruct the observation unit for execution-cost cliff
Aggregate rows into “an order leg, costing entries, additions, partial exits, and final exits separately,” and report raw rows, parent trades, events, and independent clusters. Recompute the critical result under another defensible aggregation.
Independently recompute the displayed execution-cost cliff result
Independently expand every entry, add-on, partial exit, and close into order legs and apply spread and slippage by time, size, and liquidity state. Reconcile row-level and aggregate outputs with Strategy Tester and preserve where discrepancies concentrate.
Isolate the execution-cost cliff mechanism
Treat execution-cost cliff as the principal mechanism and move “slippage multiplier, spread percentile, and fill-rejection rate” one axis at a time while holding other settings fixed.
Map the operating boundary for execution-cost cliff
Combine the primary and interacting axes on a predeclared grid and recompute net expectancy, break-even cost, cost elasticity, opportunity loss after rejected fills, and lower quantiles under crisis costs. Record the width and connectivity of the acceptable region and every boundary crossing.
Resample the dependence structure relevant to execution-cost cliff
Use time blocks that preserve liquidity and volatility states with several fixed block lengths and stationary bootstrap. Save every random seed, repetition count, and block specification.
Inspect influence points and operating boundaries for execution-cost cliff
For the execution-cost sensitivity influence test, remove the largest contributor, top-k contributors, selected periods, and relevant regimes in sequence; then recompute lower-tail measures and the operating boundary.
Apply negative controls and conservative bounds to execution-cost cliff
Permute slippage states within the same session to test whether the strategy timing is specifically exposed to costly execution. Bound order-book depth, queue position, market impact, and broker-specific rejection or requoting as unobserved factors rather than elevating the optimistic value into the final answer.
Apply the predeclared gate to execution-cost cliff
Do not move the threshold after seeing results. Compare with “net expectancy clears the lower bound under base, doubled, and upper-quantile cost scenarios with material distance to break-even cost,” and distinguish pass, hold, and reject. Any unresolved material mismatch causes a hold.
Save a reproducible evidence package for execution-cost cliff
Bundle the source, transformation ledger, formulas, figures, all scenarios, failure logs, and code version for rerun in another environment. Prospectively monitor realized cost per leg, size-conditioned slippage, rejection rate, and deviation from the base cost model.
Decision gate for execution-cost cliff
Reject the story before trusting the curve.
How to read the execution-cost cliff figures and equations
The figures for execution-cost cliff use illustrative recomputations constructed to expose this specific failure mode. Do not infer statistical significance from line position or color alone; first verify the estimand, units, denominator, censoring rule, and cost sign defined by the equations. A sensitivity surface is not a causal estimate. It shows how a conclusion changes only within the stated assumptions. Resampling should compare an IID shuffle with stationary and block bootstrap procedures across several block lengths so that loss clustering and regime persistence are not silently destroyed. Store the random seed, iteration count, block length, bandwidth, and missing-data treatment, and claim reproducibility only after an independent implementation reproduces the same aggregates.
This case passes only if “net expectancy clears the lower bound under base, doubled, and upper-quantile cost scenarios with material distance to break-even cost” across reconstructed values, local perturbations, joint sensitivity, dependence-preserving resampling, and the negative control, with no material sign reversal or unresolved reconciliation error. A pass is limited evidence against the stated failure mode, not certification of future profit.
- The estimand and observation unit were fixed before outcomes were reviewed
- For execution-cost sensitivity, any material disagreement between reported and independently recomputed values must be resolved or explicitly explained.
- The execution-cost sensitivity claim passes this gate only when its acceptable stress region is broad and connected rather than one isolated favorable island.
- The sign of the execution-cost sensitivity estimate must remain stable across defensible block lengths, saved seeds, and reasonable interval methods.
- For execution-cost cliff, economic margin remains after deleting the largest and top-five contributors and key regimes
- For execution-cost cliff, conservative cost, fill, and capital-boundary scenarios remain inside the stopping mandate
Limitations, external validity, and reproducibility of the execution-cost cliff audit
Every inference has a boundary.
The first limitation is that a trade export does not contain the complete market state. If order-book depth, queue position, network latency, rejected orders, broker liquidity, or realized financing history is absent, executable net expectancy that remains after deterioration in the distribution of trading costs remains model-mediated. Model outputs should be displayed as scenario ranges and must not be formatted as though they were directly observed facts.
A second limitation specific to the execution-cost cliff analysis is structural change. A long historical sample does not guarantee a common population when market rules, participants, volatility, rates, spreads, data construction, or Pine execution semantics change. Do not increase nominal sample size by indiscriminately pooling old periods. Estimate rolling and regime-conditioned behavior and test parameter stability around detected changes.
A third limitation specific to the execution-cost cliff analysis is reuse of the diagnostic battery. Applying these tests repeatedly to the same data and editing the strategy until it passes turns the diagnostic process itself into another optimizer. Every post-test edit starts a new model version and requires untouched or prospective evidence. A test chosen after reading the outcome belongs to exploration and cannot be counted as independent confirmation.
A fourth limitation for the execution-cost cliff analysis is the distinction between statistical survival and operational suitability. Behavioral tolerance, locked capital, tax, regulation, outages, account terms, order-size limits, market-order restrictions, and liquidity discontinuities cannot be resolved from a CSV alone. The lab is a diagnostic for discovering hidden failure risk earlier; it is not investment advice, a performance warranty, or a guarantee of bounded loss. User-specific constraints remain a separate decision layer.
The estimand “executable net expectancy that remains after deterioration in the distribution of trading costs” is identified only within the columns present in the TradingView export and the stated assumptions. If order-book depth, queue position, market impact, and broker-specific rejection or requoting cannot be observed, report bounds rather than a false point estimate.
Past estimates of execution-cost cliff need not belong to the same population after changes in rules, participants, volatility, costs, or data specifications. Track realized cost per leg, size-conditioned slippage, rejection rate, and deviation from the base cost model in rolling and regime-specific windows.
For execution-cost sensitivity, repeatedly applying the same diagnostic battery and editing until it passes turns verification into another optimizer. Every post-audit change therefore creates a new model version and requires untouched evidence.
Even if net expectancy clears the lower bound under base, doubled, and upper-quantile cost scenarios with material distance to break-even cost, the analysis does not establish tax, regulatory, behavioral, liquidity, order-size, or systems suitability. Separate statistical diagnosis from live-operating approval.
Deleting observations related to state-dependent and size-dependent slippage and its positive correlation with losing conditions may improve the result. Compare no deletion, conservative imputation, and worst-case imputation, and display how net expectancy, break-even cost, cost elasticity, opportunity loss after rejected fills, and lower quantiles under crisis costs changes.
Run the control “permute slippage states within the same session to test whether the strategy timing is specifically exposed to costly execution.” If the control performs similarly, suspect processing rules or common market drift before attributing performance to the strategy.
After a provisional pass, log realized cost per leg, size-conditioned slippage, rejection rate, and deviation from the base cost model sequentially and stop on persistent departures from the predeclared predictive range. Diagnose implementation drift before reoptimizing history.
Multiple methods can agree because they share the same bad input or the same mechanism “state-dependent and size-dependent slippage and its positive correlation with losing conditions.” Give lower-tail outcomes, failed scenarios, and unresolved mismatches the same visual prominence as favorable results; test count is not proof of correctness.
Independent and adversarial findings for execution-cost cliff
The execution-cost sensitivity case has a separate review line for formulas, chart encodings, data definitions, and falsifiability so agreement on one layer cannot mask failure on another.
The formula audit checks numerator, denominator, sign, unit, domain, and every conditioning assumption as one system. The material caution for this case is: The derivative ∂E_net/∂c=−E[N_legs] is a local linear result conditional on a fixed trade set and leg count. When worse slippage changes rejection, queue priority, or trade selection, do not extrapolate the derivative; rerun order generation and the full wealth path. A correct symbolic expression can still calculate the wrong quantity when a column, currency, time unit, or fee sign is misdefined, so those mappings are part of the mathematical audit.
The figure audit assigns distinct jobs: Figure 1 diagnoses execution-cost cliff; Figure 2 maps joint sensitivity; Figure 3 shows the dependence-preserving distribution of net expectancy after execution stress; Figure 4 traces causal propagation. Color denotes distance to a predeclared gate, not probability or observed performance. Axis units, zero, quantiles, censoring, and bounds must agree with captions and tables. A smooth SVG line is explanatory geometry, not evidence of estimation precision.
The adversarial test does not cherry-pick one hostile scenario. It uses the negative control “permute slippage states within the same session to test whether the strategy timing is specifically exposed to costly execution,” resamples time blocks that preserve liquidity and volatility states at several block lengths, and bounds order-book depth, queue position, market impact, and broker-specific rejection or requoting as unobserved factors. Repetitions, seeds, exclusions, block specifications, and plotting range are frozen before results so the implementer cannot tune the audit after seeing the answer.
The independent conclusion is restricted to whether “net expectancy clears the lower bound under base, doubled, and upper-quantile cost scenarios with material distance to break-even cost.” It does not certify a good strategy or future profit. Any material reconciliation error, formula-domain violation, table-figure contradiction, sign reversal across defensible block lengths, or failure to outperform the negative control produces hold or reject. Prospectively, monitor realized cost per leg, size-conditioned slippage, rejection rate, and deviation from the base cost model.
Methodological references for execution-cost cliff
Primary methods and official platform documentation.
- Almgren, R. & Chriss, N. Optimal Execution of Portfolio Transactions. Journal of Risk.
- Newey, W. K. & West, K. D. (1987). A Simple, Positive Semi-definite, Heteroskedasticity and Autocorrelation Consistent Covariance Matrix. Econometrica.
- TradingView Pine Script® documentation: Strategies.
- Efron, B. (1979). Bootstrap Methods: Another Look at the Jackknife. Annals of Statistics.
- Politis, D. N. & Romano, J. P. (1994). The Stationary Bootstrap. JASA.
- Lo, A. W. (2002). The Statistics of Sharpe Ratios. Financial Analysts Journal.
- White, H. (2000). A Reality Check for Data Snooping. Econometrica.
References for the execution-cost cliff case provide methodological context; they do not validate the synthetic numbers in this article or certify any backtest result. TradingView documentation is used for platform semantics, while statistical papers motivate uncertainty and selection controls.
Frequently asked questions about execution-cost cliff
Why test 2× slippage?
It is a simple stress point, not a prediction. The useful result is whether the strategy survives a range and where its break-even cost lies.
Should spread and slippage be combined?
Keep them separate in the model, then test them jointly. They arise differently and can worsen together during stress.
Does a strategy need to remain profitable at every stress level?
No universal rule exists. But a result that turns negative under a very small, plausible change has little execution margin and deserves a weaker verdict.
Can a backtest exposed to execution-cost cliff be trusted?
Do not judge the execution-cost sensitivity case from a finished equity curve alone. Use the TradingView trade list to inspect the mechanism-specific concentration, path, cost, timing, and dependence evidence shown on this page.
Important limitations for the execution-cost cliff analysis
This article provides educational, descriptive analysis of constructed backtest failure examples. It is not investment advice, a buy or sell signal, a forecast or a promise of performance. Backtest results depend on data, code, broker-emulator assumptions, costs, sizing and market structure. TradingView is a trademark of TradingView, Inc.; SG Group is independent and does not claim endorsement or sponsorship by TradingView.
Counterpart: スリッページが2倍になったら?バックテストが崩れるコストの崖