# FIX- what exactly do repeating groups represent?

I am trying to find out what is the purpose of "repeating groups" in FIX and what exactly do they represent? Are they all related to the same order and if so, why do you need repeated tags? If they aren't related to the first order wouldnt it be easier to send in a separate message? Is it just all orders at that exact time frame which are grouped together, hence the repeating groups?

-
give an example of what you mean by "repeating groups" –  pyCthon Sep 20 at 22:15
(Comment originally posted in my answer; apologies if it sounded condescending or demeaning in any way; I did not mean this.) This question may be more appropriate to ask at Money.SE or SO, as it has to do with the FIX protocol, which I believe is common knowledge in the financial industry, but I don't believe has much to do with the field of quantitative finance, as it has more to do with the techn(olog)ical side of data exchange. As @chrisaycock points out though (and I've verified) Money.SE doesn't seem to talk much about FIX, so I'm wrong about that. (Still vouching for SO though!) –  acheong87 Sep 21 at 10:37

Repeating groups are a way for FIX to represent arrays. A "number of" field prepends the repeating group to alert the recipient how many elements to expect.

For example, Arca uses TradingSessionID (tag 336) to identify pre-open (P1), primary (P2), and post-close (P3) market hours. This group is prepended by NoTradingSessions (tag 386). So, I would use the following sequence in my FIX message to alert Arca that all three of their sessions are valid for this message:

...|386=3|336=P1|336=P2|336=P3|...


As a side note, FIX also uses multiple-value strings as another representation of arrays. ExecInst (tag 18) is a single string that has multiple values separated by a space:

...|18=1 W|...

-
+1 - I should have taken the extra step to provide specific examples as you did. –  acheong87 Sep 21 at 10:40

No, it doesn't have to do with time frames. It's a protocol feature designed to enable something akin to nested data, whether for more compact data transmission, or just to allow one to adhere to rules of semantic sense.

Take market data requests, for example, i.e. retrieving the current market depth for a certain instrument. Not only would sending one message per order on the book inefficiently retransmit headers and other common tags, but also you'd need an additional tag (or message) to indicate an EOM (end-of-message(s)).

Not to mention the latency and auditing overheads (and headaches) involved in dealing with piecemeal data delivery (as opposed to snapshots).

-
Please don't tell other users what you think is in scope when you readily admit you don't know anything about this field. I can't imagine anyone on Money.SE would even know what FIX is. –  chrisaycock Sep 21 at 6:06
@chrisaycock - I apologize. I didn't mean to sound condescending via italics, if that's what caused offense. I only meant to separate the formatting of an aside from my answer. If there's some other way I've caused offense, please let me know; otherwise I'm a bit surprised by what I interpret to be hostility. Indeed my initial posts didn't belong on this site. I quickly learned the community was far more exclusive than I had realized; thus since then I've almost completely refrained from posting. I'd continued to read questions, answers, and comments from a distance though, and I guess in this –  acheong87 Sep 21 at 10:26
case I thought I had enough sense as to what was relevant and what was not. (Specifically, I recalled a previous question that was very technology-oriented, and a moderator replied to the effect of, "This is a job for database administrators; not quants.") Myself being a programmer at a trading software vendor, and having written my company's FIX 4.2/4.3 processor from scratch, I thought I could answer this. Perhaps I was mistaken; I trust your judgment about Money.SE not having the expertise. Over the years I'd seen at least a few questions about FIX on Stack Overflow, and my impression from –  acheong87 Sep 21 at 10:27
the software side of the industry was that FIX was basic knowledge, so I (incorrectly) assumed it'd be as commonplace a thing at Money.SE. –  acheong87 Sep 21 at 10:27
I see that in my haste my tone may have thrown you (and others) off; I will fix at least that. –  acheong87 Sep 21 at 10:32

its a concept, you can repeat N data group of fields in a message, a x field (the repeating group) act as separator of the groups.

-