Joined: Oct 6, 2020
Keep your tools sharp.
Posted: Sep 24, 2022 09:19 PM
Msg. 1 of 2
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
Joined: Jul 3, 2019
Posted: Today @ 07:24 AM
Msg. 2 of 2
The "Tick" field explicitly tells you if the current tick is up, down, or no change from the most recent last qualified trade. If you are storing the value of each tick, you can determine this yourself if you want to, but keep in mind the tick field only applies to last-eligible trades. The Message Contents field will tell you which ones these are. (Or you can use Last instead of Most Recent, which will only return last-eligible trades).
As for trade aggressor, this field can contain information you can't simply infer your self. The CME and ICE exchanges will explicitly report who the trade aggressor is in a given trade. For other exchanges, this can usually be inferred by comparing the last price to the bid and ask price. So if you're not using the trade aggressor field, you're not getting the explicit trade aggressor information ICE and CME provide.
So Trade Aggressor does include some information you can't just infer for ICE and CME exchanges.
DTN IQFeed Implementation Support Specialist