Future Data

Discussion in 'Data Sets and Feeds' started by ghetto808, Oct 6, 2006.

  1. I've come across a few threads that mention the term "future data." Specifically referencing the idea that backtesting results may be greatly over exaggerated due to the fact that the system uses future data.

    Okay, I get the idea that future data is just data in the future that shouldn't be available to the trading system. But what I dont get is how a system could even reference the future? I use Easylanguage if it makes any difference. I'm just trying to figure out how one would reference the future so i dont make the same mistake.

    Thanks in advance.
     
  2. Maybe you're in Europe or you just go to bed really early all the time . . .

    THe argument is that a system can't see the "future data" therefore the backtested results really mean nothing at best.

    You're right in thinking that tests can't use "future data".
     
  3. Just means faulty logic of the sort
    Code:
    If Today's  High > X Then Sell At Limit 
    
    Else Sell At Open Today
    
    You can't know what the High today will be, until the Close. And you certainly can't wait all day for your price, then sell at the Open today if you don't get it. Seems simple now, but if you had a great many rules, conditionals, and positions on, you can easily get caught.

    Also, some may mean you should, for example, only develop your system on data that runs up to 2004. Then test it up until the current date when you think your system is solid. So-called "Walk Forward" testing. If it works on the old data and works great on the new untested data, maybe you have a chance. If it doesn't work on the new data, then the trap is when you optimize it to work on the new, you are curve fitting.

    Good trading to all.
     
  4. Just to clarify:


    Walk forward testing is picking a strategy and watching how it performs everday from that day forward.

    Example:

    If I want to buy or sell every MA cross in XOM at the end of the day and hold for three days and watched the trades until the end of the year . . . then I would have a "walk forward" test.
     
  5. Too bad life isn't so simple. When you are programming and testing system ideas, sometimes you want to do something in a "grey area" that verges on the unrighteous. A classic example is the Larry Williams / Lee Gettes "volatility breakout"
    Code:
    bigjump = 1.2 * Average(TrueRange, 5);
    Buy at (Open + bigjump) on a Stop;
    Is this immoral? (Sometimes called "postdictive" (TBB) or "peeking" (wealth-lab)) You can't know the open before trading begins, so you can't place the order until after trading begins, and by then it might be too late, the market might have moved far beyond your Stop price (imagine if your idea of "bigjump" was 0.1 ATR's rather than 1.2).

    Some testing engines try to prevent you from doing the unrighteous; they try to make it impossible for you to accidentally use data-from-the-future to make decisions now. Tradestation 4 did this; and then users found out they couldn't program Volatility Breakout. So somebody went and wrote a DLL called "NextOpen" that allowed this kind of immoral peeking-into-the-future, but no other kind (they claimed).

    Another example of a grey area is Maximum Slippage testing. This is a torture test that tells you whether your system works even with the worst possible fill prices. In this kind of testing, you fill all buy orders at the High price of the bar, and you fill all sell orders at the Low price of the bar. The idea is, if your system is still profitable under these miserable circumstances, then it's extremely robust.

    But, try to program it! In most software packages this requires you to peek into the future, find the High of the day, and then set your Buy price equal to the High. Which, in most cases, is impossible. The software has prevented you from peeking, and it has also prevented you from doing what you want.

    Other software packages allow peeking into the future, all you want. They put all control into the hands of the programmer. They give you enough rope to hang yourself. Whatever you want to do, you can. Even the impossible. If the close is higher than the open, buy on the open. Sure. It's your job to decide whether to use this capability, and if so, how.