Several possibilities come to mind right away: 1. Survivorship bias. You're looking at stocks where the price is under $5. Your testing over the last 5 years will only include stocks that survived. How many may have met your condition and then gone bankrupt or been delisted? You'll not know, because they are not in your testing universe.
2. The volume and price you're testing on are probably adjusted instead of raw prices, no? So, if a strong stock has been rising for the past 5 years, they've probably split a few times. So what WAS a $20 price in 2003 and would not have met your condition in real time BECAME a $4 price because of several splits and did meet your condition in the test. 3. Did you optimize with one set of data, then test it again with another? If not, your results could simply be the results of curve fitting. On 6/15/07, samu_trading <[EMAIL PROTECTED]> wrote: > > I'm frustrated. I backtested and optimized a very simple system in > AB as following. > (buy highest ROC gainer of the last 3 days and some additional > fringe conditions; exit is 2% trailing stop, applied immediately) > PositionSize=-20; > > SetTradeDelays(1,1,1,1); > > Buy= ROC(Close,3)>Percentile(ROC(Close,55),100,99) AND Close>MA > (Close,150)AND Volume > Percentile( Volume, 100, 90 ) AND Volume > > 100000 AND Close<5 ; > > Sell=0; > > ApplyStop(2,1,2,1,False,0); > > > It looked just great from the numbers when backtesting over the last > 5 years: > CAR~170% MaxSystemDD=4.3%, number of trades >1000 > > However, when I bought stocks at the next day's opening, I only had > losers and got stopped out. Where does the difference between the as- > is and to-be come from?
