Rolling Crude Futures
-
- Posts: 71
- Joined: 23 Nov 2015
- Has thanked: 22 times
- Been thanked: 8 times
Rolling Crude Futures
I use IQFeed with MC. After the close today, IQFeed rolled their continuous crude contract from March to April. I checked in their SnapQuote app, and it showed the change. QCL# was the April contract, with April data.
But.....MC showed that the contract was still March, but showed April data. I tried to go in to QuoteManager and add QCL# (the IQFeed symbol), and it still showed as March. I deleted the cache for that symbol, tried again, no luck. I then tried to delete the symbol QCL# from QuoteManager and it told me the symbol was in use and could not be deleted. I quit all MC processes, started up QuoteManager by itself, and tried again. Still said the symbol was in use and couldn't be deleted. So I'm stuck with a contract that says March and shows April data.
How do I fix this problem?
But.....MC showed that the contract was still March, but showed April data. I tried to go in to QuoteManager and add QCL# (the IQFeed symbol), and it still showed as March. I deleted the cache for that symbol, tried again, no luck. I then tried to delete the symbol QCL# from QuoteManager and it told me the symbol was in use and could not be deleted. I quit all MC processes, started up QuoteManager by itself, and tried again. Still said the symbol was in use and couldn't be deleted. So I'm stuck with a contract that says March and shows April data.
How do I fix this problem?
-
- Posts: 71
- Joined: 23 Nov 2015
- Has thanked: 22 times
- Been thanked: 8 times
Re: Rolling Crude Futures
I disconnected the symbol ( I was recording data), and then was able to delete it. But when I try to add it back in, it still shows up as March. No April.
- TJ
- Posts: 7743
- Joined: 29 Aug 2006
- Location: Global Citizen
- Has thanked: 1033 times
- Been thanked: 2222 times
-
- Posts: 71
- Joined: 23 Nov 2015
- Has thanked: 22 times
- Been thanked: 8 times
- TJ
- Posts: 7743
- Joined: 29 Aug 2006
- Location: Global Citizen
- Has thanked: 1033 times
- Been thanked: 2222 times
-
- Posts: 71
- Joined: 23 Nov 2015
- Has thanked: 22 times
- Been thanked: 8 times
-
- Posts: 742
- Joined: 09 Apr 2010
- Location: Texas
- Has thanked: 483 times
- Been thanked: 274 times
- Contact:
Re: Rolling Crude Futures
I just checked and QCL# is NOT showing the April contract yet. It doesn't usually show the rollover until the volume in the new contract is greater than the volume in the old. Currently, March is slightly higher volume. I expect tomorrow the QCL# will show the April contract.Yes.
<I quit all MC processes>
Until then QCLJ19 (April) does show up in IQfeed.
-
- Posts: 71
- Joined: 23 Nov 2015
- Has thanked: 22 times
- Been thanked: 8 times
Re: Rolling Crude Futures
I chatted with IQFeed online support before posting this. The IQFeed support person confirmed that they had rolled to April. And I am getting April data, even though it says March.
-
- Posts: 742
- Joined: 09 Apr 2010
- Location: Texas
- Has thanked: 483 times
- Been thanked: 274 times
- Contact:
Re: Rolling Crude Futures
As I stated last night, once the new contract volume (April) exceeds the previous contract volume (March), QCL# will roll into April. (and it has this morning).
-
- Posts: 71
- Joined: 23 Nov 2015
- Has thanked: 22 times
- Been thanked: 8 times
Re: Rolling Crude Futures
Yes, it has. But that still does not explain the discrepancy last night. MC should reflect the data feed, not some arbitrary rule.
- TJ
- Posts: 7743
- Joined: 29 Aug 2006
- Location: Global Citizen
- Has thanked: 1033 times
- Been thanked: 2222 times
-
- Posts: 71
- Joined: 23 Nov 2015
- Has thanked: 22 times
- Been thanked: 8 times
Re: Rolling Crude Futures
Every commodity future is unlike others. Which I do understand. But I do not understand how your comment adds to this conversation.Crude rollover is unlike other futures, I hope you do understand.
Re: Rolling Crude Futures
Might be wrong but I believe expiration for CL is on 20/2/2019.
IQfeed say they roll 3 days before.
So that would be a roll at 2300gmt 17/2/2019, I'm guessing.
Personally, I recommend doing manual rolls:
1) On the night you want to roll take the outgoing and new settlement price difference (cme website)
2) Load a 1min chart of QCL(outgoing) and print the OHLCV data to file with the settlement difference applied (build an indicator that does this).
3) Paste/Import this adjusted data into your new front month in QMD
4) Trade the new front month (with adjusted history included).
As you will be missing older adjusted contracts.... you could just paste in an adjusted QCL#C. But going forward maintain your own continuous contract as I described above.
Job done.
IQfeed say they roll 3 days before.
So that would be a roll at 2300gmt 17/2/2019, I'm guessing.
Personally, I recommend doing manual rolls:
1) On the night you want to roll take the outgoing and new settlement price difference (cme website)
2) Load a 1min chart of QCL(outgoing) and print the OHLCV data to file with the settlement difference applied (build an indicator that does this).
3) Paste/Import this adjusted data into your new front month in QMD
4) Trade the new front month (with adjusted history included).
As you will be missing older adjusted contracts.... you could just paste in an adjusted QCL#C. But going forward maintain your own continuous contract as I described above.
Job done.
-
- Posts: 71
- Joined: 23 Nov 2015
- Has thanked: 22 times
- Been thanked: 8 times
Re: Rolling Crude Futures
Thanks to all for your comments.
To restate the issue for clarification, there was an inconsistency between IQFeed and MultiCharts on the crude futures contract (I don't know the exact period of time of this inconsistency - it started at the close of one day and disappeared by the open of the next). After the close on Feb 14, IQFeed SnapQuote showed QCL# = April contract, and showed April prices. I confirmed via chat with IQFeed that the contract had rolled.
Multicharts showed QCL# = March contract, but showed April prices. I had an open position in crude futures, and any inconsistencies in data will always set off an alarm with me.
I dealt with the problem by eliminating MultiCharts from my process. I used price from IQFeed, confirmed by price from IB TWS, and charts from TWS. Inconsistencies result in lack of trust, and if I don't trust a product, I don't use it.
So my question is why MC displays this behavior and can it be fixed? It's an issue of trusting products used in the trading process.
Waiting eventually worked, and the creative workaround by wilkinsw works. But in the midst of a trade, I want to trust and use my primary product - MC. It would be useful to hear from MC tech support; I patiently await their response.
To restate the issue for clarification, there was an inconsistency between IQFeed and MultiCharts on the crude futures contract (I don't know the exact period of time of this inconsistency - it started at the close of one day and disappeared by the open of the next). After the close on Feb 14, IQFeed SnapQuote showed QCL# = April contract, and showed April prices. I confirmed via chat with IQFeed that the contract had rolled.
Multicharts showed QCL# = March contract, but showed April prices. I had an open position in crude futures, and any inconsistencies in data will always set off an alarm with me.
I dealt with the problem by eliminating MultiCharts from my process. I used price from IQFeed, confirmed by price from IB TWS, and charts from TWS. Inconsistencies result in lack of trust, and if I don't trust a product, I don't use it.
So my question is why MC displays this behavior and can it be fixed? It's an issue of trusting products used in the trading process.
Waiting eventually worked, and the creative workaround by wilkinsw works. But in the midst of a trade, I want to trust and use my primary product - MC. It would be useful to hear from MC tech support; I patiently await their response.
- Svetlana MultiCharts
- Posts: 645
- Joined: 19 Oct 2017
- Has thanked: 3 times
- Been thanked: 163 times
Re: Rolling Crude Futures
Hello, TrendFirst,
Let us address the issues stated in this post:
1)
2)
When IQfeed adds the April contract to QCL#, April data is plotted in MultiCharts accordingly. But symbol settings, as well as Description, don’t change by themselves – they are determined when the symbol is added from the data source.
Besides, when MultiCharts requests data from IQfeed, Description field is not used (please note this is relevant for IQfeed only).
Thus, this is expected behaviour. You can change the description for a neutral one, e.g. CRUDE OIL, or re-add the symbol from the data source (QuoteManager->Instrument->Add Symbol-> From Data Source-> IQfeed) when the Description is changed on IQfeed end. In the latter case all settings of the symbol will be updated.
QCL# is a native continuous contract provided by IQfeed. It means, in MultiCharts it is treated as a regular symbol, MultiCharts displays the data that is coming via IQfeed API as is.
Let us address the issues stated in this post:
1)
I then tried to delete the symbol QCL# from QuoteManager and it told me the symbol was in use and could not be deleted.
It is not allowed to remove the symbol in use from QuoteManager – that’s by design.I disconnected the symbol ( I was recording data), and then was able to delete it.
2)
The symbol QCL# must have been added to the database on March, when IQfeed returned the string “CRUDE OIL MARCH 2019” for the Description.After the close on Feb 14, IQFeed SnapQuote showed QCL# = April contract, and showed April prices. I confirmed via chat with IQFeed that the contract had rolled.
Multicharts showed QCL# = March contract, but showed April prices. I had an open position in crude futures, and any inconsistencies in data will always set off an alarm with me.
When IQfeed adds the April contract to QCL#, April data is plotted in MultiCharts accordingly. But symbol settings, as well as Description, don’t change by themselves – they are determined when the symbol is added from the data source.
Besides, when MultiCharts requests data from IQfeed, Description field is not used (please note this is relevant for IQfeed only).
Thus, this is expected behaviour. You can change the description for a neutral one, e.g. CRUDE OIL, or re-add the symbol from the data source (QuoteManager->Instrument->Add Symbol-> From Data Source-> IQfeed) when the Description is changed on IQfeed end. In the latter case all settings of the symbol will be updated.
QCL# is a native continuous contract provided by IQfeed. It means, in MultiCharts it is treated as a regular symbol, MultiCharts displays the data that is coming via IQfeed API as is.
-
- Posts: 71
- Joined: 23 Nov 2015
- Has thanked: 22 times
- Been thanked: 8 times
Re: Rolling Crude Futures
Thank you for your reply, Svetlana. It seems you are confirming what I observed - April data with a contract description of March. I do not understand your comment that the "Description Field is not used". It is obviously displayed and updated (even if it is updated late) - so I do not understand what you mean by this.
It further seems that MC is laying responsibility for this discrepancy on IQFeed. As I mentioned before, I chatted with IQFeed and they said it was a MultiCharts problem. One discrepancy, two parties, two fingers each pointing at the other party. You see my dilemma. This happens a lot, it seems.
It would be nice if MC and IQFeed could discuss this and resolve it together, rather than pointing fingers at each other.
It further seems that MC is laying responsibility for this discrepancy on IQFeed. As I mentioned before, I chatted with IQFeed and they said it was a MultiCharts problem. One discrepancy, two parties, two fingers each pointing at the other party. You see my dilemma. This happens a lot, it seems.
It would be nice if MC and IQFeed could discuss this and resolve it together, rather than pointing fingers at each other.
Re: Rolling Crude Futures
TrendFirst,
I'm interested in hearing the solution to your issue.
Can you clarify a couple of things for me please?
From what I've read and understood, am I right in saying the following:
-The realtime data for QCL# was correct (switched from March to April 2019, as expected), it was just the symbol description, in QM, which didn't change?
-You mentioned data inconsistencies setting off alarms. What data inconsistencies? My understanding is that QCL# is unadjusted and it simply switching in realtime from March to April should work (not generate historical back adjustment errors, for example).
If you need to reload a continuous symbol to capture a backadjustment: Make sure it's not in use. Then I'd delete the symbol and readd it. Let me know if you've found otherwise but my understanding is that QCL#C is back-adjusted and would require deletion/re-addition, whereas QCL# doesn't. Deletion/re-addition should also result in you seeing the correct description. Like Svetlana said; the description is not the ticker, if that makes sense: You could change it to anything you like and it won't effect the behaviour of QCL#.
I'm interested in hearing the solution to your issue.
Can you clarify a couple of things for me please?
From what I've read and understood, am I right in saying the following:
-The realtime data for QCL# was correct (switched from March to April 2019, as expected), it was just the symbol description, in QM, which didn't change?
-You mentioned data inconsistencies setting off alarms. What data inconsistencies? My understanding is that QCL# is unadjusted and it simply switching in realtime from March to April should work (not generate historical back adjustment errors, for example).
If you need to reload a continuous symbol to capture a backadjustment: Make sure it's not in use. Then I'd delete the symbol and readd it. Let me know if you've found otherwise but my understanding is that QCL#C is back-adjusted and would require deletion/re-addition, whereas QCL# doesn't. Deletion/re-addition should also result in you seeing the correct description. Like Svetlana said; the description is not the ticker, if that makes sense: You could change it to anything you like and it won't effect the behaviour of QCL#.
-
- Posts: 71
- Joined: 23 Nov 2015
- Has thanked: 22 times
- Been thanked: 8 times
Re: Rolling Crude Futures
To further illustrate what I am referring to, I will use the gasoline futures contract, QRB# symbol with IQFeed. It just happened to roll today at 4PM MST. Both of the images shown below were captured at the same time, approximately 4:55PM MST.
It is quite clear that IQFeed SnapQuote is showing April data and an April description. MultiCharts is showing April data, but as you can see in the image below the description is March.
IQFeed SnapQuote shows this:
....and MultiCharts QuoteManager shows this, when I attempt to add the QRB# contract from the IQFeed data source:
If you can, please fix this. If not, well, I'll just be aware of it and live with it. Thanks for listening. I'm done with this topic.
It is quite clear that IQFeed SnapQuote is showing April data and an April description. MultiCharts is showing April data, but as you can see in the image below the description is March.
IQFeed SnapQuote shows this:
....and MultiCharts QuoteManager shows this, when I attempt to add the QRB# contract from the IQFeed data source:
If you can, please fix this. If not, well, I'll just be aware of it and live with it. Thanks for listening. I'm done with this topic.
-
- Posts: 71
- Joined: 23 Nov 2015
- Has thanked: 22 times
- Been thanked: 8 times
Re: Rolling Crude Futures
wilkinsw, thank you for your interest. Yes, you are correct, it was the symbol description that did not change. The data did. But I consider the description part of the data package as well, not just the numbers. Inconsistencies bother me, especially when there is no logical reason for them.TrendFirst,
I'm interested in hearing the solution to your issue.
Can you clarify a couple of things for me please?
From what I've read and understood, am I right in saying the following:
-The realtime data for QCL# was correct (switched from March to April 2019, as expected), it was just the symbol description, in QM, which didn't change?
-You mentioned data inconsistencies setting off alarms. What data inconsistencies? My understanding is that QCL# is unadjusted and it simply switching in realtime from March to April should work (not generate historical back adjustment errors, for example).
If you need to reload a continuous symbol to capture a backadjustment: Make sure it's not in use. Then I'd delete the symbol and readd it. Let me know if you've found otherwise but my understanding is that QCL#C is back-adjusted and would require deletion/re-addition, whereas QCL# doesn't. Deletion/re-addition should also result in you seeing the correct description. Like Svetlana said; the description is not the ticker, if that makes sense: You could change it to anything you like and it won't effect the behaviour of QCL#.
The symbol being in use was a temporary issue which I corrected. It is not a problem.
The description is eventually passed through. Why is it not passed through immediately? I don't want to manually edit descriptions, I would prefer a consistent pass-through of the description with the data.
- Svetlana MultiCharts
- Posts: 645
- Joined: 19 Oct 2017
- Has thanked: 3 times
- Been thanked: 163 times
Re: Rolling Crude Futures
TrendFirst,
Thank you for the information. We have reproduced this behaviour on our end and are currently checking it with IQfeed directly.
Thank you for the information. We have reproduced this behaviour on our end and are currently checking it with IQfeed directly.
- Svetlana MultiCharts
- Posts: 645
- Joined: 19 Oct 2017
- Has thanked: 3 times
- Been thanked: 163 times
Re: Rolling Crude Futures
During the analysis of the reported behaviour we carried out a test using IQfeed application only.
In the screenshot you can see that the Description in Symbol Search and the Name in
SnapQuote didn't match at the moment the picture was taken.
Consequently, IQfeed needs some time to synchronize the Description in Symbol Search.
Also we asked IQfeed support about it, and got the following answer:
“This is because our symbol search databases are only updated overnight but we send out updated fundamental data in the streaming feed when a contract rolls to a new contract and thus the description changes”.
In the screenshot you can see that the Description in Symbol Search and the Name in
SnapQuote didn't match at the moment the picture was taken.
Consequently, IQfeed needs some time to synchronize the Description in Symbol Search.
Also we asked IQfeed support about it, and got the following answer:
“This is because our symbol search databases are only updated overnight but we send out updated fundamental data in the streaming feed when a contract rolls to a new contract and thus the description changes”.
-
- Posts: 71
- Joined: 23 Nov 2015
- Has thanked: 22 times
- Been thanked: 8 times
Re: Rolling Crude Futures
Thank you Svetlana. The IQFeed tech support person I chatted with did not share this information.
-
- Posts: 71
- Joined: 23 Nov 2015
- Has thanked: 22 times
- Been thanked: 8 times
Re: Rolling Crude Futures
I had another chat with IQFeed on this topic. It seems they swiftly batted the ball back into MC's court.
Basically, they said the Symbol database refresh does happen overnight, as they have millions of updates to do and that is the only practical way to do it. So if I do a symbol search in MC, it will still show the old contract, even tho the data in the chart is the new contract. This is only an issue for a matter of hours, and by the next morning the symbol database, symbol in the chart, and the data are correct and match.
IQFeed also said that, apart from the Symbol database, a Symbol refresh is sent along with new data for the new futures contract. So even tho a symbol search will show a temporary mismatch, the chart that has the data for the new contract COULD have the proper symbol shown - if MC will make a modification to utilize this. According to IQFeed, MC does not take advantage of this.
Comments?
Basically, they said the Symbol database refresh does happen overnight, as they have millions of updates to do and that is the only practical way to do it. So if I do a symbol search in MC, it will still show the old contract, even tho the data in the chart is the new contract. This is only an issue for a matter of hours, and by the next morning the symbol database, symbol in the chart, and the data are correct and match.
IQFeed also said that, apart from the Symbol database, a Symbol refresh is sent along with new data for the new futures contract. So even tho a symbol search will show a temporary mismatch, the chart that has the data for the new contract COULD have the proper symbol shown - if MC will make a modification to utilize this. According to IQFeed, MC does not take advantage of this.
Comments?
- Svetlana MultiCharts
- Posts: 645
- Joined: 19 Oct 2017
- Has thanked: 3 times
- Been thanked: 163 times
Re: Rolling Crude Futures
Hello, TrendFirst,
In the current MultiCharts architecture, the Description is received from IQfeed - Symbol Search.
If you want this behavior to be changed, please leave the corresponding feature request on our Project Management page:
https://www.multicharts.com/pm/public/multicharts
Please send us e-mail to support@multicharts.com if you don't have a PM account.
In the current MultiCharts architecture, the Description is received from IQfeed - Symbol Search.
If you want this behavior to be changed, please leave the corresponding feature request on our Project Management page:
https://www.multicharts.com/pm/public/multicharts
Please send us e-mail to support@multicharts.com if you don't have a PM account.
-
- Posts: 71
- Joined: 23 Nov 2015
- Has thanked: 22 times
- Been thanked: 8 times