DTN_Gary_Stephen has contributed to 379 posts out of 21117 total posts
(1.79%) in 1,611 days (0.24 posts per day).
20 Most recent posts:
The corrections should be complete as now. Let me know if you still see any out-of-order ticks for October 4.
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
We are correcting the order of the tick data. This process is still ongoing. When it is complete, historical data requests for October 4 will be in the correct order.
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
VROT.Z OPTION VOLUME RATIO is as specific as that statistic gets - it doesn't break down to the S&P 500 level.
JV6T.Z is the net for the S&P 500 (Puts minus Calls) which is probably the closest statistic we have at that level of detail.
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
I think this has since been corrected; I'm showing a close of 4298.86 for SPX.XO on June 9, 2023.
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
Not as of yesterdaty afternoon, I'll check again today.
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
We're already aware of this issue and are working on a correction. I'll post an update here when I have news.
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
Our dev team has discussed this and determined neither of these approaches are feasible currently. We understand the importance of needing to be able to synchronize this data easier for market analysis, and will continue to re-evaluate potential solutions to the issue in the future.
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
class IQFeedSocket : Socket() { fun start() { connect(InetSocketAddress("localhost", 9100)) val brBufferedReader = BufferedReader(InputStreamReader(this.inputStream)) val brBufferedWriter = BufferedWriter(OutputStreamWriter(this.outputStream))
// Initialize the protocol, this prepares us for commands to come and verifies that our socket is working as intended. brBufferedWriter.write("S,SET PROTOCOL,6.2\r\n") brBufferedWriter.flush()
brBufferedWriter.write("HDX,AAPL,30\r\n") brBufferedWriter.flush() thread { var line: String while (brBufferedReader.readLine().also { line = it } != null) { println(line) } brBufferedReader.close() brBufferedWriter.close() close() } } }
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
It turns out there was an internal discussion about this feature today. It appears to be a large undertaking, so we cannot offer any formal commitments or timelines at this time.
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
I'll ask about it again. I don't have an update on the earlier discussions about this kind of feature.
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
You may receive data into more than one application at the same time, if both are on running on the same machine. Alternatively, they can be on different machines if you have different logins.
You can only be logged into IQFeed from one computer at a time. You may have multiple connections to IQFeed from the same computer, or multiple computers if you have multiple accounts. It is possible for current IQFeed subscribers to purchase additional logins for this purpose. (Having "production" and "QA" environments is a common reason people do this.)
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
https://ws1.dtn.com/IQ/Guide/
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
In Protocol 4.9, The P message consists of a pre-determined list of fields, listed at https://www.iqfeed.net/dev/api/docs/docs51/Level1UpdateSummaryMessage.cfm.
In later protocols, the default set of fields varies. However, the S,SELECT UPDATE FIELDS command lets you customize what fields are in the Q message, and this will apply to the P message as well. You just need to do a S,SELECT UPDATE FIELDS command, and include "Open Interest" as one of your field names. Then, when you watch symbols, Open Interest will be part of the message.
The command S,CURRENT UPDATE FIELDNAMES will tell you your current list of field names, whether it is the default set or if you have previously customized.
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
There was a 1-to-29.84 reverse split that hadn't been applied to the data. We have corrected this. Our data is now correct and consistent with other sources.
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
I will investigate.
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
In general, total volume resets to zero with the opening of the next trading day session. The exact timing can vary by exchange. For @ES (and all symbols on the CME Mini), that is at 6 p.m. EDT. You can infer the reset time from the data:
HTT,@ES#,20230828 165959,20230828 180000 LH,2023-08-28 18:00:00.000000,4444.00,3,3,4444.00,4444.00,27365437,C,43,01,3,29, LH,2023-08-28 16:59:59.697984,4444.25,2,1227769,4444.25,4444.50,27365436,C,43,01,2,28, !ENDMSG!,
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
Here's what I can tell you right now:
1A and 2A. Volume and TickID never have leading zeroes.
3A. I don't think OrderID does either, but I want to confirm this.
1. I need to confirm exactly when volume resets. It may vary by exchange.
2. TickID is a 32-bit unsigned integer. It is an arbitrary number assigned by the exchange. It does not always increase; it can be any number at any time, and there's no pattern to when it changes.
TickID is not always unique (and therefore isn't natively suitable for a primary key) for two reasons: 1. TickIDs are not unique across exchanges; NASDAQ and NYSE can each have a tick #1234567. and 2. some exchanges "bundle" their tick data in a way that gives multiple ticks the same TickID. Look at @ES# and you'll probably see this happening at any given time.
3, Are you asking about the OrderID? I suspect it is similar to TickID. Other than that, the Level 2 data page http://www.iqfeed.net/dev/api/docs/MarketDepthMessages.cfm tells you the data types for each field. This will dictate how many characters you need. TickID is limited to a 64-bit unsigned integer, which can be up to 20 digits. So I would instruct you to allow for up to 20 digits.
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
You pretty much have it right. Since about 2010, options are named from a standard convention, which works as you describe. I should add a few details:
- If the expiration day is a single digit, it gets a leading zero, e.g. AAPL2309H175 if the expiration day was the 9th.
- Strike Prices do not get a leading zero, e.g. AAPL2325H50
- Call options are A-L in order by month, put options are M-X in order by month. AAPL2325H175 is a call option; the put option for the same strike price would be AAPL2325T175. Here's the list: https://help.tradestation.com/10_00/eng/tradestationhelp/symbology/month_codes_stock_index_options.htm
- Sometimes there will be an extra number in the option symbol, like FWOA22315I50. This typically happens when the underlying symbol splits; the extra digit represents some kind of change in the deliverable or price. https://infomemo.theocc.com/infomemo/search is a good source of information about this. Each symbol has a memo and a description of what the new option symbol means exactly. You can even look up FWOA (it's memo number 53034).
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
Craig,
The close "c" message doesn't necessarily happen immediately when the close happens. It varies by exchange, but in most cases it is sent later.
The best way to know the close price as soon as possible in iqfeed is to use an HDX historical lookup command:
HDX,symbol,1,,,0
The ,,,,0 sets Include Partial Datapoint to "no." The command itself returns 1 day of daily data, and it today's close has happened, it'll be today's data. If I run it now (at 3:40 PM Eastern time) I get:
HDX,AAL,1,,,,0 LH,2023-08-21,15.2000,14.9500,15.0600,15.1600,23656300,0, !ENDMSG!,
But after the close happens, it'll give me the record for 2023-08-22. And, IQFeed returning it when I have Include Partial Datapoint set to no implies that today's close has happened.
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
If you need an urgent answer to anything, your best option is to go through the IQFeed API support email or chat. Either will create a support case that is tracked. Monitoring of the forums is more sporadic and informal, though a site refresh is in progress.
As for your original question: ticks for the same symbol shouldn't be out of order like your example. However, we can't really research it now, because tick data is only held for 180 days. (The original tick was on February 2; your original post was on July 31, which was exactly 180 days later.)
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
|