Rolling on OI etc

Use this forum to discuss data providers like CSI, charting, or other non testing software.
Post Reply
AFJ Garner
Roundtable Knight
Roundtable Knight
Posts: 2040
Joined: Fri Apr 25, 2003 3:33 pm
Location: London
Contact:

Rolling on OI etc

Post by AFJ Garner » Sun Mar 07, 2010 12:35 pm

The data series below was generated with the settings shown. Result: March KW rolls into illiquid December on 9th February. It will stay there until mid November since “Generate Forwardâ€
Attachments
Selecting Data Series.PNG
Selecting Data Series.PNG (22.26 KiB) Viewed 3834 times
KW on OI.PNG
KW on OI.PNG (30.72 KiB) Viewed 3837 times

AFJ Garner
Roundtable Knight
Roundtable Knight
Posts: 2040
Joined: Fri Apr 25, 2003 3:33 pm
Location: London
Contact:

Post by AFJ Garner » Sun Mar 07, 2010 12:44 pm

A similar problem (using "roll on OI, generate forward") with CSI#980 ECX EUA Emissions (ICE) has you currently in December 2012 instead of the more liquid December 2010.

sluggo
Roundtable Knight
Roundtable Knight
Posts: 2986
Joined: Fri Jun 11, 2004 2:50 pm

Post by sluggo » Mon Mar 08, 2010 8:49 am

The high-end solution:
  • Assign an employee the job of tracking liquidity in each of the markets you trade
  • In each market you trade, that employee decides whether to roll over tomorrow (and which month to roll into)
  • For historical testing, use your own custom built software to prepare backadjusted continuous contracts
  • Your software rolls over based on a file of human-chosen rollover dates
  • Each entry in the file has 3 fields: Date, Contract_roll_from, Contract_roll_into
  • The entries in the historical rollovers file are prepared by an employee, who chose each rollover date (and the contracts rolled) based on an analysis of historical liquidity.
  • Every time you rollover in realtime trading (point 2 above), add a new entry into the historical rollovers file. This ensures your historical testing will roll on the same day that you actually rolled in real time.

AFJ Garner
Roundtable Knight
Roundtable Knight
Posts: 2040
Joined: Fri Apr 25, 2003 3:33 pm
Location: London
Contact:

Post by AFJ Garner » Mon Mar 08, 2010 8:58 am

That is also the Roger Rines solution and a jolly good one. I wonder how the development of his software is coming along?

The other option of course (the Lazy S** Solution) is to find out how to doctor the CSI database on your hard drive for the very rare occasions when this sort of thing occurs.

jklatt
Roundtable Fellow
Roundtable Fellow
Posts: 79
Joined: Sat Feb 17, 2007 11:51 am

Post by jklatt » Mon Mar 08, 2010 2:19 pm

I've been getting involved in this type of stuff the past 2 months. This is exactly the sort of issue that I eventually want to be able to handle with my stitching scripts.

Is the first notice date fixed or defined somehow so that you would know when it is going to occur many weeks in advance? Much like expiration is "always the third friday of the contract month"? Or is it more random and does it take effort to read the news at the exchange as to when this is going to occur?

I'm pretty inexperienced with all of this, but from my initial 2 months of work in this area, I'm not sure you can solve the problem without doing something outside of CSI's interface.

My idea is to generate the highest volume forward rolling data sets assuming I could see the future, then look at the dates that would have been best to roll in terms of volume and see if there is any consistency. If there's a great deal of consistency, then use a fixed roll date approach (lets face it, fixed date is the easiest to do) and monitor if the consistency is maintained over time. If there isn't any consistency, then come up with a more dynamic way of generating the roll keeping in mind it isn't going to be perfect. All the while, a database of First Notice Dates will be maintained (hopefully they're easily defined and known well in advance!) and will act as a "roll no matter what" trigger. All of this can't be implemented with CSI's interface alone though.

jklatt
Roundtable Fellow
Roundtable Fellow
Posts: 79
Joined: Sat Feb 17, 2007 11:51 am

Post by jklatt » Mon Mar 08, 2010 6:37 pm

Here is a peak into what I want to eventually do (and I'm close!).

Attached is a file. The left data set that is unbold is my continuous data set, using the individual contract data from CSI for KW. This data set was built with the ability to see the future and it represents, what I believe to be, the highest volume data set when you're only able to roll one time into a future contract and you can only roll into a contract within 12 months of the contract you're currently in (you can roll from January 2010 to January 2011 but not from January 2010 to February 2011).

The second data set, in bold, is CSI's output when I use your settings (except I used Roll on the first trigger, not the second). The third data set is CSI's output when I use your settings with Open Interest and Volume and first trigger.

You can see, that over the life of the contract, using the first OI trigger, you capture about 95% of the volume you could have captured and about 81% of the time you're in the "correct" contract. Using first OI+Vol trigger, you capture about 99% of the volume you could have and you're in the "correct contract about 91% of the time. I couldn't figure out why I wasn't allowed to roll on volume and could only choose between OI and OI+Vol.

Not interested in all that old and busted data from the 60s and 70s skewing the results? Ok... lets delete that data and use data from 2000 to present.

I get 96%/84% for OI and 99%/92% for OI+Vol.

When you add in ways to define expiration and first notice dates, it'll be easy to have the scripts pull in the data, calculate how much of the best volume each method captured, how accurate it was at keeping you in the "right" contract, how many rolls occured after the first notice date, how many rolls occured the day of expiration, etc. I plan to do this with the contracts I trade. It has been a lot of work and it has been incredibly boring, but I think in the end doing all of this builds a solid foundation to build a trading system on.

Edit: I can't get it to upload the file. Keeps saying I'm trying to upload an empty file.

AFJ Garner
Roundtable Knight
Roundtable Knight
Posts: 2040
Joined: Fri Apr 25, 2003 3:33 pm
Location: London
Contact:

Post by AFJ Garner » Mon Mar 08, 2010 7:23 pm

Rob at CSI sent me the following solution: using the Back Adjust overwrite option (Menu: Database/Edit Back Adjusted Rolling Overrides).

As you can see, it has worked: I manually chose to roll from March KW to May at a date when I could see May OI was greater (and remained greater) than December. I can use Roll on OI, "Generate Forward" and still have CSI roll in to May not December using this override procedure.
Attachments
KW new.PNG
KW new.PNG (27.05 KiB) Viewed 3737 times
Back Adj Overwrite.PNG
Back Adj Overwrite.PNG (12.09 KiB) Viewed 3735 times

AFJ Garner
Roundtable Knight
Roundtable Knight
Posts: 2040
Joined: Fri Apr 25, 2003 3:33 pm
Location: London
Contact:

Post by AFJ Garner » Mon Mar 08, 2010 7:29 pm

Klatt_Attack, sorry not to come back on your queries. I'll give them some thought.

RedRock
Roundtable Knight
Roundtable Knight
Posts: 939
Joined: Fri Jan 30, 2004 3:54 pm
Location: Chicago

Post by RedRock » Tue Mar 09, 2010 3:15 pm

AFJ Garner wrote:Rob at CSI sent me the following solution: using the Back Adjust overwrite option (Menu: Database/Edit Back Adjusted Rolling Overrides).
Lovely! Thanks for un-earthing this...

AFJ Garner
Roundtable Knight
Roundtable Knight
Posts: 2040
Joined: Fri Apr 25, 2003 3:33 pm
Location: London
Contact:

Post by AFJ Garner » Wed Mar 10, 2010 11:16 am

December is the only month with any volume to speak of for CFI. Dec 2009 expired 14th December 2009 and (left to its own devices), Roll on OI "Generate Forward" puts you into December 2012 on that date. Where you want to be is December 2010 but OI in Dec 2010 does not exceed 2012 until 19th February 2010. Rather than make the many, many overrides for each day during this period I discovered the option outlined below. It is far from ideal for the purist and it is unfortunate to have an interim period where the data series is in the virtually tradeless March 2010 contract. But it does the trick for minimal effort of getting you (eventually) where you want to be.
Attachments
CFI new.PNG
CFI new.PNG (32.57 KiB) Viewed 3662 times
CFI RO.PNG
CFI RO.PNG (8.84 KiB) Viewed 3660 times

J D Canning
Roundtable Fellow
Roundtable Fellow
Posts: 74
Joined: Thu Jul 03, 2008 6:35 am
Location: Surrey, UK
Contact:

Post by J D Canning » Wed Mar 10, 2010 12:39 pm

I have considered trading CFI for some time now, but was put off by the low levels of liquidity in non-December contracts. I have dealt with this issue by choosing a fixed roll date (12 days before month end) and selecting only the December contract for trading in CSI. This gets me where I want to be. I think...

Post Reply