NexusFi: Find Your Edge


Home Menu

 





CL rollover adjustment & volume profile charts


Discussion in Commodities

Updated
      Top Posters
    1. looks_one Fat Tails with 9 posts (5 thanks)
    2. looks_two neko333 with 7 posts (5 thanks)
    3. looks_3 LukeGeniol with 2 posts (1 thanks)
    4. looks_4 Quick Summary with 1 posts (0 thanks)
    1. trending_up 13,009 views
    2. thumb_up 11 thanks given
    3. group 5 followers
    1. forum 19 posts
    2. attach_file 1 attachments




 
Search this Thread

CL rollover adjustment & volume profile charts

  #11 (permalink)
 
neko333's Avatar
 neko333 
Hawaii
 
Experience: None
Platform: NinjaTrader
Broker: CQG
Trading: GC, CL, NG
Posts: 82 since Aug 2010
Thanks Given: 103
Thanks Received: 33


Fat Tails View Post
Self-fulfilling prophecy

It is self-fullfilling in a way that

(a) if traders base volume analysis on non-adjusted contracts and remember non-adjusted highs and lows, the non-adjusted levels will prevail.
(b) if traders base volume analysis on adjusted contracts and use adjusted highs and lows to determine support and resistance, these levels will prevail.

So you should do the same thing as the majority of the other traders does. Support and resistance only works, because these levels are looked at by other traders. Technical Analysis creates these levels and technical analysis works, because traders watch these levels. So you need to watch, what the others watch.

This is what I call a self-fulfilling prophecy.

Comparison NinjaTrader to CQG

CQG offers 4 display options:

1. Single Contract: without continuation ajdustment (-> NinjaTrader MergePolicy DoNotMerge)
2. Standard Continuation: rollover at expiration of contract (-> NinjaTrader MergePolicy MergeNonBackAdjusted)
3. Adjusted Continuation: rollover at expiration and adjustment of price (-> NinjaTrader MergePolicy MergeBackAdjusted)
Selecting Adjusted – rollover N days prior to expiration and/or equalize closes allows you to select the number of days prior to expiration the rollover will occur. This is accomplished by entering the desired number of days in the box under the Rollover Adjustments section. Additionally, CQG will equalize the closes of the old lead-month contract and the new lead-month contract, if the Equalize closes checkbox in the Rollover Adjustments section is selected. CQG does this by adding to the new lead-month contract the difference between the old lead month and the new lead month. Continuation charts using the Adjusted preference show the word Adjusted in the title bar.
4. Active Continuation (-> not available from NinjaTrader)
Uses volume and tick volume to determine the ideal rollover date.

Your question relates to 3. Adjusted Continuation mode. If you select MergePolicy MergeBackAdjusted, NinjaTrader will equalize the closes of the old and the new contract at the session close prior to rollover date. For the equalization the following method is used

(a) If you use the default rollover date, the offset (= equliazation difference) will be downloaded from NT servers, the default rollover date is not the expiration date.
(b) If you choose a different rollover date, NinjaTrader will automatically calculate the offset from your daily data base. Make sure that your daily data base contains the settlement dates, and not the closes. Unlike CQG, NinjaTrader does not let you change between settlement and close, but you can only store one of them.
(c) If you do not have daily data, NinjaTrader will calculate the offset from your intraday data. The offset will then always be calculated from the close and not the settlement of the session prior to rollover date.
(d) You can manually override the rollover dates and offsets by entering them directly under instrument settings. This means that you can display a contract in a way you like.

Hope, I made it clear that "offset" and "equalization" are two different words for the same process. Another difference would be that with CQG you enter the number of days prior to expiration, whereas in NinjaTrader you enter directly the rollover date. But basically the process is the same.

First off, Fat Tails thank you very much for such detailed and helpful responses. A combination of your information, and another reliable source (10 year professional futures trader) has finally put this to rest for me. Your advice was completely accurate. Regarding self-fulfilling, any professional trader/institution pushing size is watching a back-adjusted continuous contract which makes complete sense now that I understand the process. The back-adjusted (equalized) contract must be used or S/R, gaps and composite volume profiles will be at incorrect levels. Yes the past data shifts and that is the somewhat tricky part to understand since the numerical value of the level may change (especially as more rollover periods pass). Although the numerical level changes the data shift is exactly the same and the S/R, gaps and composite volume profile levels will then be accurate.

Looking at a back-adjusted RTH only, Daily chart is a beautiful thing. Long-term unfilled gaps are at correct levels, major Fib levels are suddenly spot on (a drastic difference in comparison to a Daily, non-adjusted ETH chart).

Couple of questions:
- looking back through the instrument manager tree the default merge date NT is using is rollover and most often coincides with the session when net volume shifts to the new contract. Isnt this exactly when I want the merge to occur instead of expiration? Remember, main concern is accurate S/R, gaps and composite volume profiles going forward.
- how exactly do I check if my Daily database contains the settlement dates and not the closes?
- since Zenfire now has Daily/historical data item (c) is irrelevant?

Started this thread Reply With Quote
Thanked by:

Can you help answer these questions
from other members on NexusFi?
Futures True Range Report
The Elite Circle
Are there any eval firms that allow you to sink to your …
Traders Hideout
ZombieSqueeze
Platforms and Indicators
New Micros: Ultra 10-Year & Ultra T-Bond -- Live Now
Treasury Notes and Bonds
Deepmoney LLM
Elite Quantitative GenAI/LLM
 
  #12 (permalink)
 
Fat Tails's Avatar
 Fat Tails 
Berlin, Europe
Market Wizard
 
Experience: Advanced
Platform: NinjaTrader, MultiCharts
Broker: Interactive Brokers
Trading: Keyboard
Posts: 9,888 since Mar 2010
Thanks Given: 4,242
Thanks Received: 27,102


neko333 View Post
First off, Fat Tails thank you very much for such detailed and helpful responses. A combination of your information, and another reliable source (10 year professional futures trader) has finally put this to rest for me. Your advice was completely accurate. Regarding self-fulfilling, any professional trader/institution pushing size is watching a back-adjusted continuous contract which makes complete sense now that I understand the process. The back-adjusted (equalized) contract must be used or S/R, gaps and composite volume profiles will be at incorrect levels. Yes the past data shifts and that is the somewhat tricky part to understand since the numerical value of the level may change (especially as more rollover periods pass). Although the numerical level changes the data shift is exactly the same and the S/R, gaps and composite volume profile levels will then be accurate.

Looking at a back-adjusted RTH only, Daily chart is a beautiful thing. Long-term unfilled gaps are at correct levels, major Fib levels are suddenly spot on (a drastic difference in comparison to a Daily, non-adjusted ETH chart).

Couple of questions:
- looking back through the instrument manager tree the default merge date NT is using is rollover and most often coincides with the session when net volume shifts to the new contract. Isnt this exactly when I want the merge to occur instead of expiration? Remember, main concern is accurate S/R, gaps and composite volume profiles going forward.
- how exactly do I check if my Daily database contains the settlement dates and not the closes?
- since Zenfire now has Daily/historical data item (c) is irrelevant?

I am quite happy you had this confirmed by another source. Learning is a step-by-step process. Usually two steps forward and one step backward, unlearning. This is particularly true for trading.

I have coded several fib and fib confluence indicator, and they only work correctly with backajdusted futures. This suggests that the big guys use them, but I have not send around a questionary so far.

Checking your daily data base

The only primary source, which is always correct, is the exchange. let us take ES for simplicity. The following link shows the correct values published for last Friday.

E-mini S&P 500

The settlement for ES 09-10 is 1070.25, the close is 1071.00 . For ES the close is a good proxy for the settlement, but this not the case for all contracts. It really depends on the settlement period. For CME the settlement period can be found here:

Settlements

Examples

ES: settlement period is 15:14:30 to 15:15:00 CT, close is 15:15:00 (just a matter of seconds)
ZB: settlement period is 13:59:00 CT to 14:00:00 CT, close is 16:00 CT (2 hours later)
CL: settlement period is 14:28:00 ET to 14:30:00 ET, close is 17:15:00 ET (2 hours 45 min later)
TF: settlement period is 16:14:00 ET to 16:15:00 ET, close is 18:00 ET (1 hours 45 min later)

I do not use Zenfire, but to my knowledge NinjaTrader will not display correct daily data from Zenfire. What you can do is

- first connect to Kinetick-EOD, which has the correct daily data with the settlement prices and
- second connect to Zenfire

NinjaTrader will then load daily data from Kinetick and intraday data from Zenfire.


Correct Rollover Dates

For financial futures and metals (GC, SI, HG) this is no problem, as the rollover dates are known. It really gets tricky for energies and agricultural. Because of the physical delivery the price of the old contract may wildly swing up and down, if there are supply shortages or oversupply. Therefore rollover should be done latest at volume crossover. I use volume crossover as the rollover date (volume new front month contract > volume old contract), NinjaTrader calculates the offset from the difference of the settlement prices (if that is the close in your daily data base) of the session prior to rollover.

I am neither trading CL nor agrculturals, but if I did, I would make sure that I talked to some professionals to find out the correct rollover schedule.

Reply With Quote
  #13 (permalink)
 
neko333's Avatar
 neko333 
Hawaii
 
Experience: None
Platform: NinjaTrader
Broker: CQG
Trading: GC, CL, NG
Posts: 82 since Aug 2010
Thanks Given: 103
Thanks Received: 33


Not sure why you say NinjaTrader does not display correct daily data from Zenfire. You can get several years of Daily back-adjusted data.

Kineticks continuous contract is not adjusted and can`t be adjusted at this time. Also, Kineticks Daily bars are ETH instead of much more useful RTH Daily bars.

Here is a post from NT forums.

Hello,
Yes this is a change in NinjaTrader 7. NinjaTrader automatically merges back contracts to the current month when data is requested that would exceed the amount of data available in the current contract expiry.
Let me know if I can be of further assistance.
Brett, NinjaTrader Customer Service

How does the attached ES continous back-adjusted RTH Daily chart compare to yours? Should be spot on. Might be a little harder to compare if you only have ETH Daily bars.

Attached Thumbnails
Click image for larger version

Name:	ES 09-10 (Daily)_RTH_backadjusted.jpg
Views:	289
Size:	152.4 KB
ID:	18946  
Started this thread Reply With Quote
  #14 (permalink)
 
Fat Tails's Avatar
 Fat Tails 
Berlin, Europe
Market Wizard
 
Experience: Advanced
Platform: NinjaTrader, MultiCharts
Broker: Interactive Brokers
Trading: Keyboard
Posts: 9,888 since Mar 2010
Thanks Given: 4,242
Thanks Received: 27,102


neko333 View Post
Not sure why you say NinjaTrader does not display correct daily data from Zenfire. You can get several years of Daily back-adjusted data.

Kineticks continuous contract is not adjusted and can`t be adjusted at this time. Also, Kineticks Daily bars are ETH instead of much more useful RTH Daily bars. .

Zenfire: Not having it, but about 10 fellow traders have explained to me that NT cannot read daily data from Zenfire. Confirmed by NinjaTrader support many times.

Can't get daily charts - [AUTOLINK]NinjaTrader[/AUTOLINK] Support Forum

Kinetick: Continuous contracts are non-adjusted. However you can download about 500 days of data for single contracts. Set NinjaTrader to MergePolicy MergeBackAdjusted and you will get MergeBackadjusted contracts and can even modify rollover dates. That is what I am doing. Is all ETH data as reported by the exchange.


neko333 View Post
Here is a post from NT forums.
Hello,
Yes this is a change in NinjaTrader 7. NinjaTrader automatically merges back contracts to the current month when data is requested that would exceed the amount of data available in the current contract expiry.
Let me know if I can be of further assistance.
Brett, NinjaTrader Customer Service

Only applies with MergePolicy set to MergeBackAdjusted, when loading single contracts.


neko333 View Post
How does the attached ES continous back-adjusted RTH Daily chart compare to yours? Should be spot on. Might be a little harder to compare if you only have ETH Daily bars.

I only use ETH daily bars. However, if you want to use RTH daily bars, you can build them yourself. But this is a bit tedious. Anyhow, here is the method:

- set instrument settings session template to RTH
- export tick or minute data for all single contracts via Historical Data Manager
- reimport that same data as daily data via the Historical Data Manager

You now have a historical data base with daily RTH bars.

Reply With Quote
  #15 (permalink)
 
neko333's Avatar
 neko333 
Hawaii
 
Experience: None
Platform: NinjaTrader
Broker: CQG
Trading: GC, CL, NG
Posts: 82 since Aug 2010
Thanks Given: 103
Thanks Received: 33

NT-7 supports historical data with zenfire, NT 6.5 does not. That thread is regarding 6.5.

The attached pic on my previous post is RTH Daily back adjusted bars. With NT7 I am able to download the Daily data through historical data manager so that workaround is not needed.

Started this thread Reply With Quote
Thanked by:
  #16 (permalink)
 
Fat Tails's Avatar
 Fat Tails 
Berlin, Europe
Market Wizard
 
Experience: Advanced
Platform: NinjaTrader, MultiCharts
Broker: Interactive Brokers
Trading: Keyboard
Posts: 9,888 since Mar 2010
Thanks Given: 4,242
Thanks Received: 27,102


neko333 View Post
NT-7 supports historical data with zenfire, NT 6.5 does not. That thread is regarding 6.5.

The attached pic on my previous post is RTH Daily back adjusted bars. With NT7 I am able to download the Daily data through historical data manager so that workaround is not needed.

Good to know. I do not use Zenfire. So I have learned that NT7 can download daily data. Thanks for the information.

Reply With Quote
  #17 (permalink)
 
neko333's Avatar
 neko333 
Hawaii
 
Experience: None
Platform: NinjaTrader
Broker: CQG
Trading: GC, CL, NG
Posts: 82 since Aug 2010
Thanks Given: 103
Thanks Received: 33


Fat Tails View Post
Self-fulfilling prophecy

Your question relates to 3. Adjusted Continuation mode. If you select MergePolicy MergeBackAdjusted, NinjaTrader will equalize the closes of the old and the new contract at the session close prior to rollover date. For the equalization the following method is used

(a) If you use the default rollover date, the offset (= equliazation difference) will be downloaded from NT servers, the default rollover date is not the expiration date.
(b) If you choose a different rollover date, NinjaTrader will automatically calculate the offset from your daily data base. Make sure that your daily data base contains the settlement dates, and not the closes. Unlike CQG, NinjaTrader does not let you change between settlement and close, but you can only store one of them.
(c) If you do not have daily data, NinjaTrader will calculate the offset from your intraday data. The offset will then always be calculated from the close and not the settlement of the session prior to rollover date.
(d) You can manually override the rollover dates and offsets by entering them directly under instrument settings. This means that you can display a contract in a way you like.

Hope, I made it clear that "offset" and "equalization" are two different words for the same process. Another difference would be that with CQG you enter the number of days prior to expiration, whereas in NinjaTrader you enter directly the rollover date. But basically the process is the same.

A couple of weeks later. I`ve went through all of your information in both threads several times. Lets see if got this right. A couple of questions to follow:

My Daily historical data in NT-7 is based on the pit (14:30) close. So when I pull up a Daily back-adjusted chart I have RTH only candles which are by default adjusted according to NT`s rollover date. Since I have not manually changed any of the offsets/dates NT is using the difference between the 14:30 closes on the session prior to rollover. Pretty close to an accurate offset but as you explained the precise offset is the difference between the prior sessions settlement price which is actually the value weighted average of the final two minutes until the 14:30 RTH close. So if there is a price spike within the last few minutes the settlement may differ from the 14:30 close by several ticks. Nonetheless, manually going through a few of them by comparing my CL 14:30 RTH close with CMEs settlement report they are usually pretty close. As you mentioned, I also have no use for a perpetual contract and never hold CL positions overnight. I am only interested in rolling the contracts as precisely as possible for S/R, gaps and composite volume profiling.

So it seems all I need to do at this point is `fine tune` NTs back adjustment by manually putting in the offsets according to settlement differences instead of 14:30 closes and also rolling a day earlier if there is a clear volume shift before the normal rollover date. Looking back through the recent 5 rollovers there was only one month where the volume shifted before rollover day (on the 5/19 rollover volume shifted on the session prior). Please advise if I finally got all this right.

1. Since the CME only provides the recent 5 days settlement prices (unless you pay for Datamine) is there a resource where I can find accurate historical settlements for the CL?

2. If there is a volume shift to the new contract on the day before rollover I would be using settlement prices on the day prior to the volume shift which would actually be two days prior the rollover day. Is this correct?

Guess I should be grateful that the CL rolls so often, sure forced me to learn a lot about the process.

Started this thread Reply With Quote
  #18 (permalink)
 
Fat Tails's Avatar
 Fat Tails 
Berlin, Europe
Market Wizard
 
Experience: Advanced
Platform: NinjaTrader, MultiCharts
Broker: Interactive Brokers
Trading: Keyboard
Posts: 9,888 since Mar 2010
Thanks Given: 4,242
Thanks Received: 27,102


neko333 View Post
My Daily historical data in NT-7 is based on the pit (14:30) close. So when I pull up a Daily back-adjusted chart I have RTH only candles which are by default adjusted according to NT`s rollover date. Since I have not manually changed any of the offsets/dates NT is using the difference between the 14:30 closes on the session prior to rollover. Pretty close to an accurate offset but as you explained the precise offset is the difference between the prior sessions settlement price which is actually the value weighted average of the final two minutes until the 14:30 RTH close. So if there is a price spike within the last few minutes the settlement may differ from the 14:30 close by several ticks. Nonetheless, manually going through a few of them by comparing my CL 14:30 RTH close with CMEs settlement report they are usually pretty close.

This is not my understanding. The daily chart (Kinetick) is built from the high and low of the full (ETH) session and the 14:30 settlement price. NT7 uses daily data for calculating the offset, so it should be correct.


neko333 View Post
So it seems all I need to do at this point is `fine tune` NTs back adjustment by manually putting in the offsets according to settlement differences instead of 14:30 closes and also rolling a day earlier if there is a clear volume shift before the normal rollover date. Looking back through the recent 5 rollovers there was only one month where the volume shifted before rollover day (on the 5/19 rollover volume shifted on the session prior). Please advise if I finally got all this right.

Due to the physical delivery constraints in Cushing, the old contract is often volatile prior to the last trading date, so for calculating offsets, it is not a bad idea to roll as early as possible. Some data providers as Pinnacle roll even several days earlier. It is a shame that NYMEX has not expanded its delivery options to large sea ports.


neko333 View Post
Since the CME only provides the recent 5 days settlement prices (unless you pay for Datamine) is there a resource where I can find accurate historical settlements for the CL?

Kinetick-EOD data, LOL. The daily close is the settlement price of CL.


neko333 View Post
If there is a volume shift to the new contract on the day before rollover I would be using settlement prices on the day prior to the volume shift which would actually be two days prior the rollover day. Is this correct?

I think there is a difference between finding the rollover-date for trading and the rollover-date for data adjustment.

Rollover day for trading

As I said CL ís physically deliverable. During the last days the old contract can show abnormal volatility. There have been magnificent short squeezes (you need to deliver in that stupid depot in Oklahoma and there is no stuff because the pipeline is shut down) or an increasing contango (depot is full and you don't fins a buyer).

If you are not a trader who has access to the physical market, you are likely better of not to trade the old contract prior to expiry and roll as early as possible. This means you could even roll prior to volume cross-over, if liquidity is satisfactory. But in any case you want to move to the new contract with volume crossover.

Rollover day for back-adjusting

If Cushing has a problem, the offset can be distored during the last days. You don't want to base your offset on a short squeeze. So again earlier is better. You can also do a study and write down the different offsets for the week prior to rollover (as per volume crossover) and compare them. If these values are pretty stable, you should have a good offset. If they are jumping back and forth when approaching expiry, it is no more useful. I have not done this, but you could, if you are trading CL.

Reply With Quote
Thanked by:
  #19 (permalink)
 
neko333's Avatar
 neko333 
Hawaii
 
Experience: None
Platform: NinjaTrader
Broker: CQG
Trading: GC, CL, NG
Posts: 82 since Aug 2010
Thanks Given: 103
Thanks Received: 33

Thank you Fat Tails you have been a HUGE help in both threads.

Cool that Kinetic uses the exact settlement and I am using your suggestion on comparing the offsets leading into rollover.

Again, thank you very much...above and beyond.

Started this thread Reply With Quote
  #20 (permalink)
 
Fat Tails's Avatar
 Fat Tails 
Berlin, Europe
Market Wizard
 
Experience: Advanced
Platform: NinjaTrader, MultiCharts
Broker: Interactive Brokers
Trading: Keyboard
Posts: 9,888 since Mar 2010
Thanks Given: 4,242
Thanks Received: 27,102



neko333 View Post
Thank you Fat Tails you have been a HUGE help in both threads.

Cool that Kinetic uses the exact settlement and I am using your suggestion on comparing the offsets leading into rollover.

Again, thank you very much...above and beyond.


Yes, the free EOD Kinetick Data (which is from DTN/IQ) is a huge improvement of NinjaTrader 7 versus NinjaTrader 6.5. And it is quality data, not second class.

Reply With Quote




Last Updated on September 13, 2010


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts