The other thing that I noticed from your write-up is that your "most liquid" rules are the same as your "expiration" rules, which means that you'd be trading the current contract up to the expiration day. Typically, the volume shifts to the next contract some time before the current contract expires. For example, the ES expires on the 3rd Friday of the contract month, but the volume shift (i.e. the rollover) to the next contract happens on the business day preceding the 2nd Friday of the expiration month.
On Thu, Aug 22, 2013 at 8:49 AM, Eugene Kononov <[email protected]>wrote: > Thanks, Michael. Yes, it would be nice to have the functionality to > calculate most liquid contracts for these instruments. My only suggestion > is to make the implementation consistent with the way how the ES and the CL > are implemented in JBT (MostLiquidContract.java and CLNYMEXMostLiquid, > respectively). > > I was also looking at other alternatives, and specifically, some > third-party API (or perhaps web service) which returns the information > (including the most liquid contract) for a given instrument and exchange. > If such a service exists, that would eliminate the need to code all these > complex expiration and rollover rules by hand. > > > On Thu, Aug 22, 2013 at 6:08 AM, Mick O'Donnell > <[email protected]>wrote: > >> Hi Everyone, >> >> I'm working with another developer on new schedules for GE, GC, NG, ZC, >> ZW & ZS. I don't think the current version of JBT includes these, please >> correct us if we're wrong. I've included our spec for the trading schedules >> below and I'll be happy to share the code when we're finished. If there's >> anything you think we've missed, or any other facet of the program that >> needs to be adapted to data mine and trade these contracts correctly, would >> you mind letting us know please? Here are the specs according to >> http://www.cmegroup.com/trading/products/: >> >> - GE (Eurodollar Futures): >> - Last Trading day: >> - The second London bank business day prior to the third >> Wednesday of the contract expiry month. Trading in the expiring >> contract >> closes at 11:00 a.m. London Time on the last trading day. >> - Contract Months: >> - March, June, September & December >> - Most liquid contract: >> - given a date the most liquid contract corresponds to the >> month of the next 3rd Wednesday of a contract month at 11:00 a.m. >> London >> Time >> - examples: >> - Wed 21st August 2013 at 09:35 a.m. -> September 2013 >> - Wed 18th September 2013 at 09:35 a.m. -> September 2013 >> - Wed 18th September 2013 at 11:35 a.m. -> December 2013 >> - GC (Gold Futures): >> - Termination of Trading >> - Trading terminates on the third last business day of the >> delivery month. >> - Contract Months: >> - All months >> - Most liquid contract: >> - for a given date the most liquid contract corresponds to that >> date's month if the date is before the end of the third to last >> business >> day of the month, the next month otherwise >> - examples: >> - Wed 21st August 2013 at 09:35 a.m. -> August 2013 >> - Wed 28th August 2013 at 09:35 a.m. -> August 2013 >> - Wed 28th August 2013 at 05:35 p.m. -> September 2013 >> - NG (Natural Gas Futures): >> - Termination of Trading >> - Trading of any delivery month shall cease three (3) business >> days prior to the first day of the delivery month. In the event >> that the >> official Exchange holiday schedule changes subsequent to the >> listing of a >> Natural Gas futures, the originally listed expiration date shall >> remain in >> effect. In the event that the originally listed expiration day is >> declared >> a holiday, expiration will move to the business day immediately >> prior. >> - Contract Months: >> - All months >> - Most liquid contract: >> - for a given date the most liquid contract corresponds to the >> month following that date's month if the date is before the third >> to last >> business day of the month, the next month otherwise >> - examples: >> - Wed 21st August 2013 at 09:35 a.m. -> September 2013 >> - Wed 27th August 2013 at 09:35 a.m. -> September 2013 >> - Wed 27th August 2013 at 05:35 p.m. -> October 2013 >> >> >> - ZC & ZW (Corn & Wheat Futures): >> - Last Trade Date >> - The business day prior to the 15th calendar day of the >> contract month. >> - Contract months: >> - March, May, July, September & December >> - Most liquid contract: >> - given a date the most liquid contract corresponds to the >> month of the next business day prior the 15th calendar day of a >> contract >> month >> - examples: >> - Wed 21st August 2013 at 09:35 a.m. -> September 2013 >> - Fri 13th September 2013 at 09:35 a.m. -> September 2013 >> - Fri 13th September 2013 at 01:35 p.m. -> October 2013 >> - ZS (Soybean Futures): >> - Last Trade Date: >> - The business day prior to the 15th calendar day of the >> contract month. >> - Contract months: >> - January, March, May, July, August, September & November >> - Most liquid contract: >> - given a date the most liquid contract corresponds to the >> month of the next business day prior the 15th calendar day of a >> contract >> month >> - examples: >> - Wed 21st August 2013 at 09:35 a.m. -> September 2013 >> - Fri 13th September 2013 at 09:35 a.m. -> September 2013 >> - Fri 13th September 2013 at 01:35 p.m. -> October 2013 >> >> >> Best regards, >> >> Michael >> >> -- >> You received this message because you are subscribed to the Google Groups >> "JBookTrader" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at http://groups.google.com/group/jbooktrader. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- You received this message because you are subscribed to the Google Groups "JBookTrader" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/jbooktrader. For more options, visit https://groups.google.com/groups/opt_out.
