Modeling Transaction Costs for Algorithmic Strategies


Published on

Discussion of this presentation, and custom slippage model for you to test with, can be found at

If you're interested in learning more about modeling transaction costs, we've scheduled a webinar with Tom for June 26 at 2PM EDT. The webinar will be a Q&A based on this presentation. Bring your modeling questions to the webinar, and Tom will answer any questions you have. Please RSVP at .

  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Modeling Transaction Costs for Algorithmic Strategies

  1. 1. ModelingTransaction Costsfor Algorithmic StrategiesTomas Bok tbok@post.harvard.eduBoston Algorithmic Trading MeetupApril 24, 2013© 2013 Tomas BokTuesday, May 28, 13
  2. 2. Taxonomy of T-CostsExplicit CostsBroker CommissionsFees & TaxesTicket ChargesBenchmark SlippageOpportunity Cost} mostly independentof execution style} highly dependenton execution styleTuesday, May 28, 13
  3. 3. Algorithmic Trading StackSmart Order RouterExchanges, ECNs, & Dark PoolsDirectOrdersExecution AlgorithmInvestment StrategyParentOrdersChildOrdersTuesday, May 28, 13
  4. 4. Benchmark Slippagetimedecisionbenchmark price}slippagepriceaverage realized priceTuesday, May 28, 13
  5. 5. Factors that Drive SlippageSmall Orders: Large Orders:slippage isprimarily due tomarket impactslippage isprimarily due tospreadPrice Actionaffects all orders+luck𝛼 decayTuesday, May 28, 13
  6. 6. Forecasting Slippagetimedecisionbenchmark price}slippagepriceaverage priceorder size and sideexecution horizonstock-specific liquidity details(volume, spread, volatility, ...)price action (over trade horizon)Typical Model InputsTuesday, May 28, 13
  7. 7. Buy 200 DIS over 1m(1% participation)Buy 2,000 DIS over 1m(10% participation)Buy 20,000 DIS over 10m(10% participation)Buy 120,000 DIS over 1h(10% participation)0.9 bps0.9 - 1.5 bps2.9 bps8.8 bpsSample Slippage ForecastsBuy X shares of DIS at 10:00amSource:ITG, Inc.Tuesday, May 28, 13
  8. 8. Slippage Forecasting Methodstimedecisionbenchmark price}slippagepriceaverage priceGeneratepoint-estimateof slippageMethod A:Equation-BasedGenerate bottom-upslippage estimatebased on individually-simulated fillsMethod B:Simulate FillsTuesday, May 28, 13
  9. 9. Slippage Forecasting MethodsExecution AlgorithmInvestment StrategyParentOrders {Method ASimulation ScopeChildOrders{Method BSimulation ScopeParentOrdersExecution AlgorithmInvestment StrategyGeneratepoint-estimateof slippageMethod A:Equation-BasedGenerate bottom-upslippage estimatebased on individually-simulated fillsMethod B:Simulate FillsTuesday, May 28, 13
  10. 10. Method A: Equation-BasedAvg Price = Baseline Price +/- [ f(spread) + g(size,...) ]Last PriceNext PriceBid-Ask MidpointBaselinePrice✓4 bpsf(typical spread)f(starting spread)f(TWA spread)SpreadCost✓✓0g(size, horizon,volume, volatility)Impact✓Horizon CloseHorizon VWAPHorizon TWA-Mid✓✓✓[basic f( ) = 0.5 x spread]Tuesday, May 28, 13
  11. 11. Method B: Simulate Fills1. Generate stream of child orders: { time, size }2. Generate stream of simulated fills: { size, price }3. Avg Price = VWAP of fillsAbility to create child ordersTick dataLimit order modelMarket order modelImpact memory functionRequirementssizei x priceisizei∑i∑iTuesday, May 28, 13
  12. 12. Defining Strategy TimescaleStrategy Holding Periodmilliseconds seconds minutes hours days weeks monthsIntradayAlphaHP = minutes to hoursExpected profit: ≤1 x spreadAlpha decay = fastTrading concern: ‘gas pedal’High FrequencyTradingHP = milliseconds to minutesExpected profit: .05 -.10 ¢Alpha decay = immediateTrading concern: latencyLow FrequencyQuantHP = days to monthsExpected profit: ≥1%Alpha decay = slowTrading concern: liquidityTuesday, May 28, 13
  13. 13. Slippage Model SelectionLow FreqMethod A (simulate parent order fills)Use the data you have availableBe conservativeIntradayMethod B (simulate child order fills)Bring execution algo into backtest...or break into 2 step processHFTMethod B+ (simulate direct order fills)Incorporate Level 2 dataIncumbents may find it easier to live-testTuesday, May 28, 13
  14. 14. Keeping It SimpleFocusing on ‘slippage-safe’ strategies1. Avoid strategies that are overly cost-sensitive:intraday holding periodsexpected paper PNL ≤ 2 x spreadonly profitable with optimistic cost assumptionsrapid alpha decay2. Stick to a liquid stock universe3. Cap order sizes (≤ 25% 1-minute participation rate)4. Assume at least a minute to execute ordersTuesday, May 28, 13
  15. 15. Explicit Costs (US Equities)BrokerCommissionTaxes & FeesTicket ChargesTOTAL (1-way).05 - .20 cents+ net fees (.06¢)0.5 - 1.0 cents~.05 cents includedNA $1+ (or NA).15 - .30 cents 1 cent + ticketsLow FreqIntradayHFTTuesday, May 28, 13
  16. 16. Opportunity Costtimedecisionpriceprice limit}+25 bpsOpportunity cost: effect of unexecuted shares on PNLIf you plan to trade with price limits or conditionalexecution strategies, backtest accordinglyTuesday, May 28, 13
  17. 17. Golden Rules1. Think about transaction costs early and often2. A simple cost framework is fine as long as you makeconservative assumptions and “stay on the path”3. To run more cost-sensitive strategies, be prepared toinvest in a more sophisticated t-cost framework4. Account for all three kinds of transaction costs5. Backtest at full scaleTuesday, May 28, 13
  18. 18. Image creditsSlides 3, 9: rack servers from; order tickets fromwww.silexx.comSlide 5: supermarket scale from© 2013 Tomas Boktbok@post.harvard.eduTuesday, May 28, 13