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
Per-fill attribution (currency)
FillUnitsPriceDelayExecutionDecision cost
1400.0050.1540.0020.0060.00
2300.0050.2530.0045.0075.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.

Reconcile each component without counting the filled cost twice
ComponentCalculationCurrency units
Fill 1 delay / execution400 × 0.10 / 400 × 0.0540 / 20
Fill 2 delay / execution300 × 0.10 / 300 × 0.1530 / 45
Total filled price cost70 delay + 65 execution135
Unfilled opportunity300 × (50.40 - 50.00)120
Net feesAdded once10
Total / basis points265 / (1,000 × 50) × 10,000265 / 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.

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.

Frequently Asked Questions