Implementation shortfall: decision price, delay and unfilled orders
Implementation shortfall measures the cost of implementing an investment decision against buying or selling the full intended quantity at the decision price. Include actual fills, explicit fees and the value of unfilled quantity at a fixed evaluation horizon. The calculator below separates delay, execution and opportunity cost, with positive values meaning adverse cost for either side.
- Benchmark
- Full intended quantity at decision price
- Attribution
- Delay + execution + opportunity + fees
- Example
- 265 currency units = 53 bps on 50,000
Key Takeaways
- Use a buy sign of +1 and a sell sign of -1 for every price component; explicit fees keep their own sign.
- Delay and execution split the filled decision-price cost. They are not extra costs to add to it.
- Value unfilled quantity at the same declared horizon for both the paper and implemented portfolios.
- A working order produces a provisional snapshot; zero fills still leave an opportunity-cost calculation.
Implementation shortfall calculator
Use one parent order, one arrival benchmark and one evaluation horizon. All amounts use the same currency; quantities are underlying units with a multiplier of one. Positive cost is adverse for both buys and sells. Inputs stay in this page.
No headers or thousands separators. Clear all lines for zero fills. Fractional units are allowed. Enter only fills up to your evaluation time.
Final horizon measurement
- Total shortfall (currency)
- 265.00
- Shortfall (bps of intended decision notional)
- 53.00
- Delay on filled quantity
- 70.00
- Execution versus arrival
- 65.00
- Unfilled opportunity cost
- 120.00
- Net explicit fees
- 10.00
- Filled / unfilled units
- 700.00 / 300.00
- Average fill price
- 50.1929
| Fill | Units | Price | Delay | Execution | Decision cost |
|---|---|---|---|---|---|
| 1 | 400.00 | 50.15 | 40.00 | 20.00 | 60.00 |
| 2 | 300.00 | 50.25 | 30.00 | 45.00 | 75.00 |
Delay + execution equals the filled price cost versus the decision benchmark. Do not add that decision cost again. Fees are added once at parent-order level. This is a manual calculation, not a broker feed or a Backtest Deep Report feature.
Fix the benchmark before looking at the result
Record the decision time and price, intended side and quantity, order-arrival time and price, each fill, net fees, and the evaluation time and price. Use synchronized timestamps and a consistent price field, such as midpoint. The calculator assumes one parent order and one arrival price. If the order is revised, split it into documented decisions rather than silently changing its original target.
- Use one instrument, one currency and underlying units; convert contract multipliers before entering quantities.
- Choose the evaluation horizon in advance: completion, cancellation, expiry or a stated observation time.
- Use comparable adjusted or unadjusted prices throughout; do not mix currencies or stock-split bases.
- The calculator accepts positive prices only and does not model financing, FX conversion or derivative payoffs.
The formula and its accounting identity
Let s be +1 for a buy and -1 for a sell, Q the intended quantity, q the sum of filled quantities, Pd the decision price, Pa the arrival price and Pe the evaluation price. This attribution assigns delay to filled units and assigns the entire decision-to-evaluation move on unfilled units to opportunity cost. Other attribution conventions exist; preserve the total and state which one you use.
Single-parent-order shortfall in currency units
delay = s × q × (Pa - Pd)
execution = s × Σ qi × (Pi - Pa)
opportunity = s × (Q - q) × (Pe - Pd)
IS = delay + execution + opportunity + netFees
= s × [Σ qi × (Pi - Pd) + (Q - q) × (Pe - Pd)] + netFees
IS_bps = 10,000 × IS / (Q × Pd)A partial buy: 265 currency units, or 53 basis points
Assume an intended purchase of 1,000 units at a decision price of 50.00. The order arrives at 50.10, fills 400 at 50.15 and 300 at 50.25, then ends with 300 unfilled at an evaluation price of 50.40. Net fees are 10. These are illustrative inputs, not market observations. The calculator opens with this example.
| Component | Calculation | Currency units |
|---|---|---|
| Fill 1 delay / execution | 400 × 0.10 / 400 × 0.05 | 40 / 20 |
| Fill 2 delay / execution | 300 × 0.10 / 300 × 0.15 | 30 / 45 |
| Total filled price cost | 70 delay + 65 execution | 135 |
| Unfilled opportunity | 300 × (50.40 - 50.00) | 120 |
| Net fees | Added once | 10 |
| Total / basis points | 265 / (1,000 × 50) × 10,000 | 265 / 53 bps |
Sell signs, no fills and an unfinished order
Keep the same example prices and switch the side to sell: the 135 filled price cost and 120 opportunity cost become -135 and -120 because higher prices favor a seller. Fees remain +10, so total shortfall is -245, or -49 bps. If sell prices instead fall by the same amounts below 50, the price costs are adverse and the total is +265. A negative total means improvement against this benchmark; it does not establish trading skill.
With zero fills, average fill is unavailable, delay and execution are zero, and opportunity cost is s × Q × (Pe - Pd). At the sample buy prices, this is 400 before fees. With a complete fill, unfilled opportunity cost is zero. For an order still working, mark the remaining quantity at the current evaluation price and label the entire result provisional. Do not call the remaining units a final missed trade until the horizon ends.
Shortfall attribution does not isolate market impact
Execution versus arrival can contain spread, market movement, selection effects and the effect of your own order. One observed price difference cannot identify their causal contributions. A slower order might improve filled prices while leaving more units unfilled; a filled-only average misses that trade-off. Compare orders using the same benchmark policy and report completion rates beside cost. Use the transaction cost analysis framework linked below when comparing venues, brokers or order cohorts.
What TradingView exports and Backtest Deep Report can supply
TradingView exports the selected report tab separately; use the List of Trades export for trade records. Check the available export format: Pineify currently requires a compatible trade-list CSV and does not upload XLSX directly. Those strategy trades are simulated fills, not a broker audit trail. Pineify Backtest Deep Report parses trade identifiers, entry/exit type, signal, timestamp, price, quantity, net P&L, percentage P&L, run-up and drawdown. Its report includes trade, performance and risk summaries.
Those fields do not establish an earlier investment decision, an order-arrival quote, the originally intended parent quantity or cancelled unfilled units. The current report model also has no separate per-order fee field or implementation-shortfall output. Supply these benchmark and order records independently; do not infer them from net P&L or count already embedded fees twice. This page calculates shortfall locally from your inputs and does not add a built-in method to Backtest Deep Report.
Review the strategy trades behind an execution assumption
Backtest Deep Report can analyze supported TradingView trade exports. Keep your decision, arrival and unfilled-order log alongside that report. If your strategy needs explicit signal timing or cost assumptions, the Pine Script AI Coding Agent can help write editable rules for testing; generated code cannot recover missing historical order records.
Sources and verification
This page is educational and does not provide investment advice or an execution recommendation. Order handling, market data, fees, venue rules, and fills vary by broker and market. Pineify does not route or execute live orders, and no method guarantees lower costs or better prices.