mkvalor has contributed to 10 posts out of 20979 total posts
(0.05%) in 970 days (0.01 posts per day).
20 Most recent posts:
A long time ago, someone stated in this Data and Contet Support topic: https://forums.iqfeed.net/index.cfm?page=topic&topicID=2402 that market indexes and stats are updated frequently, perhaps as often as tick-by-tick. I could swear I've read somewhere on the web that many of the famous indexes (such as SPX) have their vlaues updated only as often as every 15 seconds. But anyway...
For those with realtime subscriptions who write their own code with the TCP IQFeed API, what is the best way to consume indexes and market stats, if we want the quickest available updates? Obviously the Market Summary snapshot call wouldn't be ideal if, for instance, the Russell "exchange" summary file for security type Index is updated on DTN servers every 5 minutes.
1. Can indexes and market stats actually be consumed via an L1 Watch API call? (clearly most of the dynamic fields such as those related to bid and ask would not apply, which is why I ask)
1a. If an L1 feed is the way to go, are there any special values for any of the dynamic fields (such as "Message Contents") which woudl have any specific or unusual meanings for indexes or market stats?
2. Do people instead request streaming interval bars for these with an interval set as low as applicable (with a floor of 1 second)? If the old thread I referenced is correct about tick-by-tick frequency, this wouldn't take advantage of the "realtime" subscription.
2a. Many market stats such as "TRIN" lend themselves to line charts rather than bars... In this caseI guess one might simply use "last" from the OHLC values and just discard the other 3 "price" fields? (moot if streaming bars wouldn't be used for live index/market stat requests)
2a. I can grab historical bars off-hours, so I'm not worried about the "8/180" day restriction for second intervals which aren't a multiple of 20; I'd mainly be consuming only the current day's "trades". But, as a good citizen in the DTN ecosystm, is there an upper limit to the number of 1-second streaming bars calls I can make (currrent day only) or is this simply included in the (base) 500-symbol limit? (moot if streaming bars wouldn't be used for live index/market stat requests)
OR
3. If there is a better API call to stream real time data for indexes and/or market stats not covered above, just mention that and ignore the other numberd questions 
-Mark D. Valor Edited by mkvalor on Dec 1, 2022 at 12:53 AM Edited by mkvalor on Dec 1, 2022 at 12:54 AM Edited by mkvalor on Dec 1, 2022 at 01:04 AM
Great news! Thanks for taking care of this.
-Mark D. Valor
Ah, I hadn't thought of the wider spread situation since I mostly trade markets where that is rare (during the hours when I am active). Thank you for your explanation.
-Mark D. Valor
Thanks for the reply. User error caused the low count on the web page. I had accidentally typed a single character into the search box which I hadn't noticed.
-Mark D. Valor
This is my first time exploring the Market Statistics available from IQFeed. Finally figured out the way to get them via API was to request a 5-minute snapshot (this is neither explained in the docs that I could see nor intuitive to someone new to the API, by the way).
Now, when I use the website search page, I find there are 752 Market Statistic codes results returned (and all of them under "Exchange" DTN). Yet, when I make a 5-minute snapshot request via API v6.2 for the security type code for Market Statistics and the exchange code for DTN, my system receives a file with 3383 lines returned. Are there actually additional types of Market Statistics available via the API? Or what else explains the difference between these two counts?
-Mark D. Valor
Quote: I have been running it for years from Sunday night to Friday night, i.e. a full trading week. No issues. The client has a very small memory footprint. Great qQuant, just the type of reply I was looking for, thanks!
I noticed this recent reply from DTN_Steve_S in another forum thread mentioning that Saturdays are considered maintenance days [1]:
Quote: Hello all, Saturdays are our routine maintenance days. This involves server reboots and software restarts and, on occasion, can cause requests to fail. We typically try to keep it limited to the morning on Saturdays but sometimes it runs longer. Trying to avoid Saturday mornings for data downloads would be recommended if possible and keeping in mind that request failures should be expected during this time if you are working with our API. So putting it all together, it seems that allowing IQConnect to shut down Fridays at the close of US trading hours and restarting it on Sundays (to grab historical data and begin off-hours quotes) may be ideal.
[1] http://forums.dtn.com/index.cfm?page=topic&topicID=5776
-Mark D. Valor
I don't mind "necro"-ing a thread for an issue as important as this one. I love the product but frankly, it's a bit of an embarassment that both the developer portal and this forum pass sensitive secrets in the clear over the Internet. You guys are bulldogs about protecting the exchange data agreements from secondary clients -- lets see some of that focus and tenacity applied toward your customers' security, please.
Glad the data service migration to Chicago was a success! I can tell it was by the low ping latency I get from my colo server hosted in that area ;) Was there any big announcement about this once it was accomplished? I don't remember seeing anything. Edit: Ah, searching throught the forum I found the 2021 post explaining the email about firewall rules when this happened.
-Mark D. Valor Edited by mkvalor on Oct 22, 2022 at 11:53 PM Edited by mkvalor on Oct 23, 2022 at 01:43 AM
I'm on the latest stable 6.2 IQFeed client release and I'm very pleased with the software. Yet I'm also a server software engineer and I know that eventually, with heap memory fragmentation, etc, it's usually best to restart a network server such as IQConnect.exe at some reasonable interval (usually measured in days). I currently close all connections and allow it to exit automatically each night. But, for all I know, perhaps some of my fellow developers keep it running with clients connected for weeks/months at a time with no issues.
Supposing I had sufficient data subscriptions to keep IQConnect.exe L1/L2, derivative data, and streaming bars busy (but not with overloaded network, RAM, or CPU) during all available US and globex trading hours each week, is there a max recommeded uptime (in days) for keeping it running before a restart? Additional context: I do have scheduled custom clients that wake up before market hours each trading day to grab historical data, so there is definitely a certain level of TCP connection thrashing to IQConnect each day.
Thanks in advance for both IQFeed and other developer answers!
-Mark D. Valor Edited by mkvalor on Oct 22, 2022 at 08:30 PM Edited by mkvalor on Oct 22, 2022 at 11:45 PM
Thanks for the reply Gary. Yes, for "Tick" I meant tracking previous trades with Message Contents having trade identifier 'C'.
Would you please help my newbie mind understand what kinds of factors lead to my code not being able to infer the trade aggressor? As you said,
Quote: For other exchanges, this can usually be inferred by comparing the last price to the bid and ask price.
Do the CME and ICE exchanges have additional hidden pools of trades (or some other obscured forms of data) which do not come through the IQFeed L1 stream, making the generic strategy ineffective for them? Or is it simply that -- since those two exchanges do provide the explicit aggressor, it's less error prone to use that instead of relying on custom client code?
-Mark D. Valor Edited by mkvalor on Oct 23, 2022 at 07:53 AM
I have been tinkering with the L1 dynamic fields my custom app consumes from IQFeed and I was curious about one thing:
If my application keeps track of the qualified trade values in the "Most Recent Trade" field, is there really any benefit to consuming the "Tick" or "Most Recent Trade Aggressor" fields in the feed? My custom system holds onto the last sent qualified "Most Recent Trade" value, so when a new Qualified Trade message comes through, my code can easily deduce whether the new trade value is higher, lower, or the same.
This seems clear enough, but I hate to assume. So, is there some additional benefit/information conveyed in these fields I am not aware of, besides the relative value of the current qualified trade vs the previous qualified trade?
-Mark D. Valor
|