Matching Continuous Contract Methods w/ System Requirements

Discussions about the testing and simulation of mechanical trading systems using historical data and other methods. Trading Blox Customers should post Trading Blox specific questions in the Customer Support forum.
Post Reply
PaulZ
Roundtable Fellow
Roundtable Fellow
Posts: 95
Joined: Thu Oct 06, 2005 9:59 am
Location: Philadelphia Area

Matching Continuous Contract Methods w/ System Requirements

Post by PaulZ »

Others have written some nice articles on the different methods used for constructing continuous data from individual contracts and their pros and cons. I particularly recommend: Bob Fulks' paper: http://www.traders2traders.com/papers/b ... tracts.htm
and CSI Data's website: http://www.csidata.com/ (search site for "contract selection").

It seems that back adjusted data preserves point based information - such as ATR and will allow profits and drawdowns to be accurately calculated in dollars. It seems that ratio adjusted (AKA proportional adjusted) data preserves percentage based information (e.g., good for systems that look for percent movement in price rather than absolute point movement). However, if I want to test a system that combines point based information and percentage based information, what do I do?

My current thought is to use CSI's Perpetual Data(R) Contract. It appears that this constructed contract retains the smoothness of back adjusted and ratio adjusted data without losing either point based information or percentage based information. I have no connection with CSI other than being a user.

I'm looking for others who have faced the need to preserve both point based data and percentage based data while using continuous contracts. How have you solved the problem?
Tim Arnold
Site Admin
Site Admin
Posts: 9015
Joined: Tue Apr 06, 2004 1:41 pm
Location: Boston, MA
Contact:

Post by Tim Arnold »

Hi PaulZ,

CSI has data available called "Unadjusted Close". I have been using this, in conjunction with the backadjusted close of a particular day, to give me both the point relative and percent relative prices.

So if you wanted to trade at 90% of today's close, you could calculate 10% of the unadjusted close, and subtract that amount from the adjusted close to get the entry signal.

We have recently started using this data in Trading Blox, and it is quite handy.

Tim
PaulZ
Roundtable Fellow
Roundtable Fellow
Posts: 95
Joined: Thu Oct 06, 2005 9:59 am
Location: Philadelphia Area

Re: CSI Unadjusted Close

Post by PaulZ »

Tim wrote:CSI has data available called "Unadjusted Close". I have been using this, in conjunction with the backadjusted close of a particular day, to give me both the point relative and percent relative prices.
Thanks for your suggestion, Tim. Are you referring here to the "Normal" type of data where you select the contract months of interest and you get a file of unadjusted prices for each contract? Or are you possibly accessing the data via API to get the information?

Also, from your post it appears that you are using both back adjusted and unadjusted data files in order to cover both point relative and percent relative prices. Is this a correct interpretation?
Tim Arnold
Site Admin
Site Admin
Posts: 9015
Joined: Tue Apr 06, 2004 1:41 pm
Location: Boston, MA
Contact:

Post by Tim Arnold »

I'm just using one file per instrument.

We use continuous contracts that are backadjusted. Our default sample data uses open interest to roll from one month to the next, but you can of course use any backadjusting algorythm you want.

So given that, some data tends to get distorted to the downside, and over the course of 20 years can even go negative. This is fine, in that relative price comparisons, ATR, relative comparisons to Moving Averages, and point ranges are still correct.

But what we lose is the percent comparison. As in my example, you can't say buy tomorrow at 90% of today's close, because of the adjusted price. So we append the Unadjusted Close field to the data file, so we have access to the best of both worlds.

The Unfair Advantage ASCII Field Layout for this is DOHLCVINU. Actually it's just the U on the end, but this is the whole format we use in Trading Blox. The N is the contract month being traded, per the roll, so we know what month we are in.
PaulZ
Roundtable Fellow
Roundtable Fellow
Posts: 95
Joined: Thu Oct 06, 2005 9:59 am
Location: Philadelphia Area

Re: CSI Unadjusted Close

Post by PaulZ »

Tim,
Thanks for the addtional information - it was very useful.
RedRock
Roundtable Knight
Roundtable Knight
Posts: 944
Joined: Fri Jan 30, 2004 3:54 pm
Location: Arizona

Post by RedRock »

The Unfair Advantage ASCII Field Layout for this is DOHLCVINU. Actually it's just the U on the end, but this is the whole format we use in Trading Blox. The N is the contract month being traded, per the roll, so we know what month we are in.
Tim,

I wasnt up to speed on this. I just have DOHLCVI So, If I include the N and U. But specifically the N. TB will know the contract month and include this in order generation and generate roll orders as well?

That would be fantastic. :) Perhaps I'm confused???:?:

Thanks! rr
Tim Arnold
Site Admin
Site Admin
Posts: 9015
Joined: Tue Apr 06, 2004 1:41 pm
Location: Boston, MA
Contact:

Post by Tim Arnold »

Yes, 2.0.7 will use the Month (N) in a couple of ways:

The most useful is that Order Generation outputs the month traded now, based on the data you are using. So you know to buy November Soybeans at 410, instead of guessing whether your data has rolled.

You can also indicate the month of your actual positions and fills, so order generation is aware of that as well. This is a new feature that is quite handy for order generation -- being able to enter your actual positions and fills makes the orders generated in synch with your current positions.

I'm working on adjusting exit prices for the spread. So if you are still in November Beans when the data rolls to December, it will give you the correct price. I know the spread now since we have the Unadjusted Close price, so this feature will be coming soon.

We don't generate roll orders yet, but we are looking at that possibility as well.
Post Reply