I measure slippage a bit differently. I ask myself how was my execution compared to some benchmark or bogey? When a signal gets triggered, I execute at the start of the next minute. Then at night I download historical intraday stock data and run a module that compares my aggregate execution prices versus theoretical (vendor) prices at the start-of-minute timestamps. That's how I can sometimes underperform and sometimes outperform the bogey.
I measure two types of slippages both of which can have significant impact on P&L. One I call "order slippage" which is the slippage of getting the price info to act upon and to submit an order, and the other "fill slippage" which is the delta between the price at the time of the order and the fill price.
BlackPhoenix- Are you saying "order slippage" is the delay you get from the stream of market data? And, how do you define "the price at the time of the order." Is that last sale, Bid or ask?
The "order slippage" is the delta between the algo limit price to trigger an order and the streamed market data price. That could be caused by the delay in the stream data, but also gaps in the sales prices. I'm just using the last sale price.
I am still confused how you can get zero compared with price at the start of the minute. Suppose you have a buy signal, your filled price is at the ask, while the start of minute price could be either bid or ask, which equals to mid price of the ask and bid.
As an example, let's say some signal gets triggered. I will enter the market order manually a few seconds before the start of the next minute. For example if a trigger happens at 10:17:34 I will manually enter a market order a few seconds before 10:18:00, perhaps at 10:17:55. Within that 5 second window, where I get filled is a stochastic process - it could be better or worse than my defined benchmark at 10:18:00. Nightly, using my vendor data as reference, I am able to compare actual executions versus the theoretical forward test. I trade these systems on Fidelity ATP and Schwab TOS