I am using NT-7 with zenfire and am not sure how the CL rollover should be treated to create an accurate MP volume histogram.
I know zen is not a historical feed but I only need the past 2-3 months CL data which I do have stored on NT-7.
So there are two ways to treat the roll in NT-7: `merge back adjusted` or `merge non-back adjusted`.
At first I thought merging `non-back adjusted` would be the most accurate since price levels that traded on the expired months would remain exactly the same and consequently the MP volume histogram would be at the `correct` levels.
From other sources seems it is highly recommended to equalize the rollover if you want an accurate MP volume histogram. Is equalizing the same as `merging back adjusted`? Of course, when merging back adjusted the premium is removed and some session like 15 days ago that may have actually traded at a high of 77.00 on the expired contract is now adjusted and shows a high of something like 77.56. This is where I`m confused.
For example, if there was a lot of volume traded at 77.00 over several sessions on the expired month the volume histogram has a nice well defined high volume node right at 77.00. But if I merge `back adjusted` that level changes. I understand that the back adjusted merge just shifts the previous months data not actually changing the sessions range or anything so maybe I`m just thinking about this all wrong. Maybe the specific price levels changing due to adjustment does not matter as the slightly shifted volume profile will actually be correct relative to the new front month contract?
To further confuse me, ThinkorSwims continuous CL chart seems to be non-adjusted as I compare past highs/lows to when I merge non-back adjusted with NT-7. Pretty tough to have full confidence in a trade if I don`t know if the volume levels are correct.
Sorry for the long winded post but I hope someone who really understands this process and also MP volume histograms can clear this up. Thank you for helping.
The following 3 users say Thank You to neko333 for this post:
It is a good time to ask this question. Rollover date based on volume cross-over (rollover day = first day with higher volume for the new contract), was August 19, which was yesterday.
Now let us assume that you want to have a look at a three day volume histogram (or market profile chart) by using the merged (continuous) contract. Ideally, you would look at the combined volumes of both contracts. To make them comparable, you need to add an offset of 0.38 points to the old contract.
NinjaTrader does this automatically, if you set the merge policy to MergeBackadjusted and select August 19 as rollover date. If you are not using the pre-set rollover date, NinjaTrader will calculate the offsets from your daily data. The correct offset is the settlement price of new contract -settlement price of the old contract for the session prior to rollover date, so your daily data should show the settlement prices and not the close prices.
To answer your question, I would definitely use the MergeBackAdjusted policy to merge the contracts.
But volume analysis also depends on self-fulfilling prophecy, as most of the technical tools for traders. You should use what the majotiry of volume traders uses to make volume analysis. If the majority gets it "wrong", the wrong way is the correct way, and you should take that route.
This is similar to the concept of bounded rationality or the beuaty contest of Keynes. You won't choose the most beautiful girl, but the girl of whom you think that the majority thinks, that the majority thinks, ...... , ........ , that she is the most beautiful girl. Use the median of the number of iterations used by the majority.
The following user says Thank You to Fat Tails for this post:
How is volume analysis a self-fulfilling prophecy? It is purely market generated information of where prices have been accepted/rejected.
Still hope you or someone else can answer if `merge back adjusted` is exactly the same as `equalizing` a rollover period (such as CQG).
Also, still cant wrap my mind around how if back adjusting the previous data shifts and a composite volume profile shifts. For example, 15 days ago the high may have actually traded at 77.00. Once I back adjust and the data shifts that high may now be like 77.50. If 77.00 was an important level where a ton of volume traded do I now respect 77.50 the same because it is just exactly the same level RELATIVE to the new back adjusted contract? LOL, I hope someone can explain this well...be nice to trust that my composite CL charts are actually correct.
This post has been selected as an answer to the original posters question
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.
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.
Last edited by Fat Tails; August 20th, 2010 at 02:16 PM.
The following 2 users say Thank You to Fat Tails for this post:
If you use a continuous feed from Kinetick you do not solve the problem, but you simply ignore it. As far as I know, Kinetick continuous feed is non-adjusted. For me it is absolutely useless.
I think that neko333 has put up exactly the right question. I am trying to answer at my best knowledge, but I do not want to exclude other positions either. So if somebody has some arguments why to use nonadjusted contracts, I am listening.
My own experience with prior support and resistance (swing highs, swing lows, fibonacci levels) points to backadjusted contracts. I use Kinetick feed but take care to select the correct rollover dates and offsets. For financial futures you can generally rely on the NinjaTrader default settings. But for commodities the default settings are mostly off, so I am adding rollover dates and offsets manually.
Last edited by Fat Tails; August 21st, 2010 at 11:16 AM.
The following user says Thank You to Fat Tails for this post:
Hi guys, I'm a volume stuff user and imho volume is not a technical indicator but is 'only' the value of traded contracts. Volume profile is not the same as support and resistence but provide the view of price levels where money come in.
Said that, I use MergeNonBackAdjusted mode, cos I want see the same levels in the prev contract when I do rollover.
Using continuous symbol XX# does not provide u the choise of day u want to rollover, just rollover on the expire date.
I know that now DTN IQfeed provides XX#C symbols that is like use backadjusted mode and someone calls it equalized data and uses this for volume profile.
BTW is a personal choise which mode to use.
I don't why I have to merge the volume for the 2 contracts when to trade the expired contract I use only this last volume data, farther when the new contract develops a new higher volume at price I set the volume profile to plot at the beginning of new contract rollover date and never use the prev data.
As said before this is a personal choise method.
Take your Pips, go out and Live.
The following user says Thank You to LukeGeniol for this post:
I think I was not clear, I use the volume profile of expired contract till the new one develops a new highest volume at price, i.e. the max volume at price change, then I plot volume profile only for the new contract, so merge method has impact cos i do not want that the prev contract and the new one are backadjusted, cos this change the OHLC of prev contract and volume data too.