walk-forward-testing problem

Discussion in 'Automated Trading' started by NoWorries, Aug 20, 2006.

  1. 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?
  2. maxpi


    I like to multiply the price times volume and get a feel for the dollar amount that is/was traded. Trying to deal with volume numbers alone over the possible price ranges of sub penny to $400 requires a lot of mental gymnastics whereas the dollar amount pretty much tells the story. There definitely is an inverse relation between dollar amount traded per day and the spreads. I have never tried to quantify it to any degree but you could pretty easily for your own purposes.
  3. fader



    at the bottom of this survey, there is a table summarizing execution costs reported by academic studies - there are a couple from 1996-1997, there is a market cap breakdown which may be helpful to you.

    i'd agree with maxpi, there is probably a way to estimate the relationship between daily price/volume data and market cap., so you may find a way to link stocks in your sample with the above estimates of execution costs.

    if you want to go the level of raw data, from reading research papers, i see TAQ frequently mentioned as a source for this type of data, of course, it's expensive and it would be a big project.

    all the best.
  4. inCom


    I do the same.

  5. MGJ


    One brute force method that's guaranteed not to underestimate the bid-ask spread is "The 100% Slippage Assumption." Assume all buy orders are filled at the high of the bar. Assume all sell orders are filled at the low of the bar. If your method is profitable under these extreme worst-case assumptions, it's probably quite sturdy.
  6. Dependency.