I ran some walk-forward-tests on a portfolio of stocks for the years 1995-2006 that look too good to be true. I think the problem might be that my algorithm picks up a lot of stocks that at some point in time had extremely large bid-ask spreads, e.g. even though all the stocks I include in the test are currently listed on either NYSE or Nasdaq, they might have been traded otcbb in the past. Since I don't have historical data on the bid-ask spread, or possible listing and delisting dates, I have difficulties filtering these stocks out. Does anyone have experiences with applying some sort of filter based on daily volume and price data that can make these results more realistic?