[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why Continous contract software



PureBytes Links

Trading Reference Links

At 10:16 AM -0400 4/13/02, Gene Pope wrote:

>A lot has been posted during the Oddball debates about the need for "robust"
>code to work with data anomolies, and I subscribe to that... so then why are
>we working so hard to smooth data artificially in this case, when in fact
>the "real life" solution is, once again, to make the code more robust to
>this particular jump in rollover price, and thus more accurately mimic what
>we are trying to accomplish?

I think you are missing the major point.

Separate the problem into finding a workable system idea and
developing a system you can trade.

When you are finding a workable system idea you want to try lots of
ideas quickly. You want perfectly accurate data that covers many
contracts so that you can quickly see how the system idea you are
testing has worked over time. You want to optimize parameters over
lots of contracts. You want to use the simplest code possible to try
the idea and not have to add special code to handle rollovers, data
with missing bars, bad ticks, etc. The objective is to find a system
idea that works well with minimum effort. This is necessary since you
typically have to try lots of ideas to find one that works well.

When you are developing a system you can trade, you need to add code
to handle rollovers, data with missing bars, bad ticks, etc. You
usually want to add position sizing, risk control, etc.(Rollovers
typically occur so infrequently that you can usually just handle them
manually without adding special code.)

If you hold positions overnight, you get gaps and your system results
include the effects of the gaps. But if you use un-adjusted
contracts, the resulting gaps at rollover can make your backtesting
either better or worse than what will happen in real trading and will
distort the results. If you run an optimization with such gaps, some
trades might span the gaps at one parameter value and not with a
small change in parameter value. This can cause you to select
non-optimum parameters.

Back-adjusting contracts has been around for a long time and for
good reasons. They are a major pain since you have to revise all
old data. If they weren't necessary, people wouldn't be doing it.

Bob Fulks