OnixS C++ B3 Binary UMDF Market Data Handler  1.3.0
API documentation
Fields.h
Go to the documentation of this file.
1 // Copyright Onix Solutions Limited [OnixS]. All rights reserved.
2 //
3 // This software owned by Onix Solutions Limited [OnixS] and is
4 // protected by copyright law and international copyright treaties.
5 //
6 // Access to and use of the software is governed by the terms of the applicable
7 // OnixS Software Services Agreement (the Agreement) and Customer end user license
8 // agreements granting a non-assignable, non-transferable and non-exclusive license
9 // to use the software for it's own data processing purposes under the terms defined
10 // in the Agreement.
11 //
12 // Except as otherwise granted within the terms of the Agreement, copying or
13 // reproduction of any part of this source code or associated reference material
14 // to any other location for further reproduction or redistribution, and any
15 // amendments to this copyright notice, are expressly prohibited.
16 //
17 // Any reproduction or redistribution for sale or hiring of the Software not in
18 // accordance with the terms of the Agreement is a violation of copyright law.
19 //
20 
21 #pragma once
22 
26 
27 #ifdef DELETE
28 #undef DELETE
29 #endif
30 
32 
33 /// 1-byte signed integer, from -128 to 127; if optional, null value is -128..
34 typedef Int8 Int8;
35 
36 
37 /// 2-byte signed integer, from -32768 to 32767; if optional, null value is -32768..
38 typedef Int16 Int16;
39 
40 
41 /// 4-byte signed integer, from -2147483648 to 2147483647; if optional, null value is -2147483648..
42 typedef Int32 Int32;
43 
44 
45 /// 8-byte signed integer, from -9223372036854775808 (-2^63) to 9223372036854775807 (2^63-1)..
46 typedef Int64 Int64;
47 
48 
49 /// 1-byte unsigned integer, from 0 to 255..
50 typedef UInt8 UInt8;
51 
52 
53 /// 2-byte unsigned integer, from 0 to 65535..
54 typedef UInt16 UInt16;
55 
56 
57 /// 4-byte unsigned integer, from 0 to 4294967295 (2^32-1)..
58 typedef UInt32 UInt32;
59 
60 
61 /// 8-byte unsigned integer, from 0 to 18446744073709551615 (2^64-1)..
62 typedef UInt64 UInt64;
63 
64 
65 /// 1-byte signed integer, from -128 to 127, NULL (optional) value = 0..
66 typedef Int8 Int8NULL;
67 
68 
69 /// 2-byte unsigned integer, from -32768 to 32767, NULL (optional) value = 0..
70 typedef Int16 Int16NULL;
71 
72 
73 /// 4-byte signed integer, from -2147483648 (-2^31) to 2147483647 (2^31-1), NULL (optional) value = 0..
74 typedef Int32 Int32NULL;
75 
76 
77 /// 8-byte signed integer, from -9223372036854775808 (-2^63) to 9223372036854775807 (2^63-1), NULL (optional) value = 0..
78 typedef Int64 Int64NULL;
79 
80 
81 /// 1 ASCII character, NULL (optional) value is '\0'..
82 typedef Char CharNULL;
83 
84 
85 /// 1-byte unsigned integer, from 1 to 255, NULL (optional) value = 0..
86 typedef UInt8 UInt8NULL;
87 
88 
89 /// 2-byte unsigned integer, from 1 to 65535, NULL (optional) value = 0..
91 
92 
93 /// 4-byte unsigned integer, from 1 to 4294967295 (2^32-1), NULL (optional) value = 0..
95 
96 
97 /// 8-byte unsigned integer, from 1 to 18446744073709551615 (2^64-1), NULL (optional) value = 0..
99 
100 
101 /// Contains the number of trades executed in the session..
102 ///
103 /// FIX type: Int.
105 
106 
107 /// Quantity in order/trade..
108 ///
109 /// FIX type: Qty.
110 typedef Int64 Quantity;
111 
112 
113 /// Quantity in order/trade..
114 ///
115 /// FIX type: Qty.
117 
118 
119 /// Volume Quantity..
120 ///
121 /// FIX type: Qty.
123 
124 
125 /// Volume Quantity..
126 ///
127 /// FIX type: Qty.
128 typedef
129 Int64
131 
132 
133 /// Identifies the broker firm..
134 ///
135 /// FIX type: Int.
137 
138 
139 /// Unique identifier for Order as assigned by the exchange..
140 ///
141 /// FIX type: Int.
142 typedef UInt64 OrderID;
143 
144 
145 /// Contains the unique identifier for this trade per instrument + trading date, as assigned by the exchange. Required if reporting a Trade..
146 ///
147 /// FIX type: Int.
148 typedef UInt32 TradeID;
149 
150 
151 /// Sequence number inside the given channel..
152 ///
153 /// FIX type: Int.
154 typedef UInt32 SeqNum;
155 
156 
157 /// Sequence Number, fixed to 1..
158 ///
159 /// FIX type: Int.
160 typedef
163 
164 
165 /// Security ID as defined by B3's Trading System..
166 ///
167 /// FIX type: Int.
169 
170 
171 /// Security ID as defined by B3's Trading System..
172 ///
173 /// FIX type: Int.
175 
176 
177 /// Security Exchange Code..
178 ///
179 /// FIX type: Exchange.
181 
182 
183 /// Sequence number per instrument update. It can be used to synchronize the snapshot with the incremental feed if the client is only interested in a subset of the channel's instruments..
184 ///
185 /// FIX type: Int.
186 typedef UInt32 RptSeq;
187 
188 
189 /// ClearingHouseID (SecurityAltID)..
190 ///
191 /// FIX type: Int.
193 
194 
195 /// News ID..
196 ///
197 /// FIX type: Int.
198 typedef UInt64 NewsID;
199 
200 
201 /// 3-letter alphabetic ISO Currency Codes (ISO 4217). Example: BRL, USD..
202 ///
203 /// FIX type: Currency.
204 typedef Char Currency[3];
205 
206 
207 /// Indicates order settlement period in days. (e.g. 0, D1, D2, D3, D60, D120 etc.) If present, SettlDate (64) overrides this field..
209 
210 
211 /// Local date (as opposed to UTC). Number of days since UNIX Epoch (January 1st, 1970). Example: 18319 represents February 27, 2020..
212 ///
213 /// FIX type: LocalMktDate.
215 
216 
217 /// Optional local date (as opposed to UTC). Number of days since UNIX Epoch (January 1st, 1970). Example: 18319 represents February 27, 2020..
218 ///
219 /// FIX type: LocalMktDate.
221 
222 
223 /// Local date (as opposed to UTC). Number of days since UNIX Epoch (January 1st, 1970). Example: 18319 represents February 27, 2020..
224 ///
225 /// FIX type: LocalMktDate.
227 
228 
229 /// Optional local date (as opposed to UTC). Number of days since UNIX Epoch (January 1st, 1970). Example: 18319 represents February 27, 2020..
230 ///
231 /// FIX type: LocalMktDate.
232 typedef
233 Int32
235 
236 
237 /// Display position of a bid or offer, numbered from most competitive to least competitive, per market side, beginning with 1..
238 ///
239 /// FIX type: Int.
241 
242 
243 /// Identifies the market segment. Required for all tradable instruments. Not present in equity indexes, ETF indexes, BTB and Option Exercise..
244 ///
245 /// FIX type: Int.
247 
248 
249 /// FIX Message Type..
250 ///
251 /// FIX type: char.
253 {
254  typedef Char Base;
255 
256  /// FIX Message Type.
257  enum Enum
258  {
259  /// Sequence message for heartbeat..
260  Sequence = '0',
261 
262  /// Sequence Reset..
263  SequenceReset = '4',
264 
265  /// Market Data Incremental Refresh..
266  MarketDataIncrementalRefresh = 'X',
267 
268  /// Security Status..
269  SecurityStatus = 'f',
270 
271  /// Security Definition..
272  SecurityDefinition = 'd',
273 
274  /// News..
275  News = 'B',
276 
277  /// Market Data Full Refresh..
278  MarketDataSnapshotFullRefresh = 'W'
279  };
280 
281  /// \return a human-readable presentation.
282  ONIXS_B3_UMDF_MD_NODISCARD
283  static
284  std::string
285  toString(
286  Enum);
287 };
288 
289 /// Boolean type..
290 ///
291 /// FIX type: Boolean.
293 {
294  typedef UInt8 Base;
295 
296  /// Boolean type.
297  enum Enum
298  {
299  /// false, N, 0..
300  FALSE_VALUE = 0,
301 
302  /// true, Y, 1..
303  TRUE_VALUE = 1
304  };
305 
306  /// \return a human-readable presentation.
307  ONIXS_B3_UMDF_MD_NODISCARD
308  static
309  std::string
310  toString(
311  Enum);
312 };
313 
314 /// Unit of time..
315 ///
316 /// FIX type: Int.
318 {
319  typedef UInt8 Base;
320 
321  /// Unit of time.
322  enum Enum
323  {
324  /// SECOND
325  SECOND = 0,
326 
327  /// MILLISECOND
328  MILLISECOND = 3,
329 
330  /// MICROSECOND
331  MICROSECOND = 6,
332 
333  /// NANOSECOND
334  NANOSECOND = 9
335  };
336 
337  /// \return a human-readable presentation.
338  ONIXS_B3_UMDF_MD_NODISCARD
339  static
340  std::string
341  toString(
342  Enum);
343 };
344 
345 /// Side of order..
346 ///
347 /// FIX type: Int.
349 {
350  typedef UInt8 Base;
351 
352  /// Side of order.
353  enum Enum
354  {
355  /// BUY
356  BUY = 1,
357 
358  /// SELL
359  SELL = 2
360  };
361 
362  /// \return a human-readable presentation.
363  ONIXS_B3_UMDF_MD_NODISCARD
364  static
365  std::string
366  toString(
367  Enum);
368 };
369 
370 /// Action used when updating the security..
372 {
373  typedef Char Base;
374 
375  /// Action used when updating the security.
376  enum Enum
377  {
378  /// Add..
379  ADD = 'A',
380 
381  /// Delete..
382  DELETE = 'D',
383 
384  /// Modify..
385  MODIFY = 'M'
386  };
387 
388  /// \return a human-readable presentation.
389  ONIXS_B3_UMDF_MD_NODISCARD
390  static
391  std::string
392  toString(
393  Enum);
394 };
395 
396 /// Describes the lot type for the instruments. Used for the Equities segment..
397 ///
398 /// FIX type: Int.
400 {
401  typedef UInt8 Base;
402 
403  /// Describes the lot type for the instruments. Used for the Equities segment.
404  enum Enum
405  {
406  /// Odd lot..
407  ODD_LOT = 1,
408 
409  /// Round lot..
410  ROUND_LOT = 2,
411 
412  /// Block lot..
413  BLOCK_LOT = 3
414  };
415 
416  /// \return a human-readable presentation.
417  ONIXS_B3_UMDF_MD_NODISCARD
418  static
419  std::string
420  toString(
421  Enum);
422 };
423 
424 /// Indicates the type of product the security is associated with..
425 ///
426 /// FIX type: Int.
428 {
429  typedef UInt8 Base;
430 
431  /// Indicates the type of product the security is associated with.
432  enum Enum
433  {
434  /// Commodity..
435  COMMODITY = 2,
436 
437  /// Corporate Fixed Income..
438  CORPORATE = 3,
439 
440  /// Currency..
441  CURRENCY = 4,
442 
443  /// Equity..
444  EQUITY = 5,
445 
446  /// Public debt..
447  GOVERNMENT = 6,
448 
449  /// Index..
450  INDEX = 7,
451 
452  /// Economic indicator..
453  ECONOMIC_INDICATOR = 15,
454 
455  /// Multileg..
456  MULTILEG = 16
457  };
458 
459  /// \return a human-readable presentation.
460  ONIXS_B3_UMDF_MD_NODISCARD
461  static
462  std::string
463  toString(
464  Enum);
465 };
466 
467 /// Indicates the type of the security..
468 ///
469 /// FIX type: Int.
471 {
472  typedef UInt8 Base;
473 
474  /// Indicates the type of the security.
475  enum Enum
476  {
477  /// Rights, etc..
478  CASH = 1,
479 
480  /// Corporate Fixed Income..
481  CORP = 2,
482 
483  /// Common Stock..
484  CS = 3,
485 
486  /// Derivative Forward or 'Termo'..
487  DTERM = 4,
488 
489  /// Exchange Traded Fund..
490  ETF = 5,
491 
492  /// Future Options..
493  FOPT = 6,
494 
495  /// Equity Forward or 'Termo'..
496  FORWARD = 7,
497 
498  /// Futures..
499  FUT = 8,
500 
501  /// Non-Tradable index..
502  INDEX = 9,
503 
504  /// INDEXOPT
505  INDEXOPT = 10,
506 
507  /// Multileg Instrument..
508  MLEG = 11,
509 
510  /// Option..
511  OPT = 12,
512 
513  /// Option Exercise..
514  OPTEXER = 13,
515 
516  /// Preferred Stock..
517  PS = 14,
518 
519  /// SECLOAN
520  SECLOAN = 15,
521 
522  /// Spot Options..
523  SOPT = 16,
524 
525  /// Spot Market..
526  SPOT = 17
527  };
528 
529  /// \return a human-readable presentation.
530  ONIXS_B3_UMDF_MD_NODISCARD
531  static
532  std::string
533  toString(
534  Enum);
535 };
536 
537 /// Type of exercise of a derivatives security..
538 ///
539 /// FIX type: Int.
541 {
542  typedef UInt8 Base;
543 
544  /// Type of exercise of a derivatives security.
545  enum Enum
546  {
547  /// European..
548  EUROPEAN = 0,
549 
550  /// American..
551  AMERICAN = 1
552  };
553 
554  /// \return a human-readable presentation.
555  ONIXS_B3_UMDF_MD_NODISCARD
556  static
557  std::string
558  toString(
559  Enum);
560 };
561 
562 /// Indicates whether an option contract is a put or call..
564 {
565  typedef UInt8 Base;
566 
567  /// Indicates whether an option contract is a put or call.
568  enum Enum
569  {
570  /// Put Option..
571  PUT = 0,
572 
573  /// Call Option..
574  CALL = 1
575  };
576 
577  /// \return a human-readable presentation.
578  ONIXS_B3_UMDF_MD_NODISCARD
579  static
580  std::string
581  toString(
582  Enum);
583 };
584 
585 /// Code to represent the price type. If absent (zero), the default value is DECIMALS..
586 ///
587 /// FIX type: Int.
589 {
590  typedef UInt8 Base;
591 
592  /// Code to represent the price type. If absent (zero), the default value is DECIMALS.
593  enum Enum
594  {
595  /// Percentage..
596  PERCENTAGE = 1,
597 
598  /// Per unit (i.e., per share or contract)..
599  PU = 2,
600 
601  /// Fixed amount (absolute value)..
602  FIXED_AMOUNT = 3
603  };
604 
605  /// \return a human-readable presentation.
606  ONIXS_B3_UMDF_MD_NODISCARD
607  static
608  std::string
609  toString(
610  Enum);
611 };
612 
613 /// Status related to a given Instrument or phase related to a SecurityGroup where the instrument belongs to..
614 ///
615 /// FIX type: Int.
617 {
618  typedef UInt8 Base;
619 
620  /// Status related to a given Instrument or phase related to a SecurityGroup where the instrument belongs to.
621  enum Enum
622  {
623  /// Trading Halt (Pause)..
624  PAUSE = 2,
625 
626  /// No-Open (Close)..
627  CLOSE = 4,
628 
629  /// Ready To Trade (Open)..
630  OPEN = 17,
631 
632  /// Not Available For Trading (Forbidden)..
633  FORBIDDEN = 18,
634 
635  /// Unknown Or Invalid..
636  UNKNOWN_OR_INVALID = 20,
637 
638  /// Pre Open (Reserved)..
639  RESERVED = 21,
640 
641  /// Final Closing Call..
642  FINAL_CLOSING_CALL = 101
643  };
644 
645  /// \return a human-readable presentation.
646  ONIXS_B3_UMDF_MD_NODISCARD
647  static
648  std::string
649  toString(
650  Enum);
651 };
652 
653 /// Status related to a given Instrument or phase related to a SecurityGroup where the instrument belongs to..
654 ///
655 /// FIX type: Int.
657 {
658  typedef UInt8 Base;
659 
660  /// Status related to a given Instrument or phase related to a SecurityGroup where the instrument belongs to.
661  enum Enum
662  {
663  /// Trading Halt (Pause)..
664  PAUSE = 2,
665 
666  /// No-Open (Close)..
667  CLOSE = 4,
668 
669  /// Ready To Trade (Open)..
670  OPEN = 17,
671 
672  /// Not Available For Trading (Forbidden)..
673  FORBIDDEN = 18,
674 
675  /// Unknown Or Invalid..
676  UNKNOWN_OR_INVALID = 20,
677 
678  /// Pre Open (Reserved)..
679  RESERVED = 21,
680 
681  /// Final Closing Call..
682  FINAL_CLOSING_CALL = 101
683  };
684 
685  /// \return a human-readable presentation.
686  ONIXS_B3_UMDF_MD_NODISCARD
687  static
688  std::string
689  toString(
690  Enum);
691 };
692 
693 /// Corporative governance level indicator. Required for cash equities..
694 ///
695 /// FIX type: Int.
697 {
698  typedef UInt8 Base;
699 
700  /// Corporative governance level indicator. Required for cash equities.
701  enum Enum
702  {
703  /// Unspecified..
704  No = 0,
705 
706  /// Level 1..
707  N1 = 1,
708 
709  /// Level 2..
710  N2 = 2,
711 
712  /// New Market..
713  NM = 4,
714 
715  /// Bovespa Mais..
716  MA = 5,
717 
718  /// Over the counter (SOMA Market)..
719  MB = 6,
720 
721  /// Bovespa Mais Level 2..
722  M2 = 7
723  };
724 
725  /// \return a human-readable presentation.
726  ONIXS_B3_UMDF_MD_NODISCARD
727  static
728  std::string
729  toString(
730  Enum);
731 };
732 
733 /// Type of matching that occurred. Required for Special Auctions..
734 ///
735 /// FIX type: Int.
737 {
738  typedef UInt8 Base;
739 
740  /// Type of matching that occurred. Required for Special Auctions.
741  enum Enum
742  {
743  /// Issuing/Buy Back Auction..
744  ISSUING_BUY_BACK_AUCTION = 8
745  };
746 
747  /// \return a human-readable presentation.
748  ONIXS_B3_UMDF_MD_NODISCARD
749  static
750  std::string
751  toString(
752  Enum);
753 };
754 
755 /// Which side is aggressor of this trade..
756 ///
757 /// FIX type: Int.
759 {
760  typedef UInt8 Base;
761 
762  /// Which side is aggressor of this trade.
763  enum Enum
764  {
765  /// Trade has no aggressor..
766  NO_AGGRESSOR = 0,
767 
768  /// Buy..
769  BUY = 1,
770 
771  /// Sell..
772  SELL = 2
773  };
774 
775  /// \return a human-readable presentation.
776  ONIXS_B3_UMDF_MD_NODISCARD
777  static
778  std::string
779  toString(
780  Enum);
781 };
782 
783 /// Phase related to a SecurityGroup where the instrument belongs to..
784 ///
785 /// FIX type: Int.
787 {
788  typedef UInt8 Base;
789 
790  /// Phase related to a SecurityGroup where the instrument belongs to.
791  enum Enum
792  {
793  /// Regular day session..
794  REGULAR_TRADING_SESSION = 1,
795 
796  /// Non-Regular Session (after hours)..
797  NON_REGULAR_TRADING_SESSION = 6
798  };
799 
800  /// \return a human-readable presentation.
801  ONIXS_B3_UMDF_MD_NODISCARD
802  static
803  std::string
804  toString(
805  Enum);
806 };
807 
808 /// Identifies an event related to a Trade. This tag is also used to mark when an instrument state is kept separate from the group phase, or when the instrument state follows the default group phase (stops having a separate, defined state)..
809 ///
810 /// FIX type: Int.
812 {
813  typedef UInt8 Base;
814 
815  /// Identifies an event related to a Trade. This tag is also used to mark when an instrument state is kept separate from the group phase, or when the instrument state follows the default group phase (stops having a separate, defined state).
816  enum Enum
817  {
818  /// Change of Trading Session..
819  TRADING_SESSION_CHANGE = 4,
820 
821  /// Security Status maintained separately from Group Status..
822  SECURITY_STATUS_CHANGE = 101,
823 
824  /// Security Status following Group Status..
825  SECURITY_REJOINS_SECURITY_GROUP_STATUS = 102
826  };
827 
828  /// \return a human-readable presentation.
829  ONIXS_B3_UMDF_MD_NODISCARD
830  static
831  std::string
832  toString(
833  Enum);
834 };
835 
836 /// Indicates the type of price banding (tunnel)..
837 ///
838 /// FIX type: Int.
840 {
841  typedef UInt8 Base;
842 
843  /// Indicates the type of price banding (tunnel).
844  enum Enum
845  {
846  /// Hard Limit..
847  HARD_LIMIT = 1,
848 
849  /// Auction Limits..
850  AUCTION_LIMITS = 2,
851 
852  /// Rejection Band..
853  REJECTION_BAND = 3,
854 
855  /// Static Limits..
856  STATIC_LIMITS = 4
857  };
858 
859  /// \return a human-readable presentation.
860  ONIXS_B3_UMDF_MD_NODISCARD
861  static
862  std::string
863  toString(
864  Enum);
865 };
866 
867 /// Flag that identifies if the opening/closing/settlement price is related to theoretical, daily, previous business day or just an updated value..
868 ///
869 /// FIX type: Int.
871 {
872  typedef UInt8 Base;
873 
874  /// Flag that identifies if the opening/closing/settlement price is related to theoretical, daily, previous business day or just an updated value.
875  enum Enum
876  {
877  /// Daily settlement entry..
878  DAILY = 0,
879 
880  /// Session settlement entry..
881  SESSION = 1,
882 
883  /// Expected entry (preliminary price)..
884  EXPECTED_ENTRY = 3,
885 
886  /// Entry from previous business day..
887  ENTRY_FROM_PREVIOUS_BUSINESS_DAY = 4,
888 
889  /// Theoretical Price..
890  THEORETICAL_PRICE = 5
891  };
892 
893  /// \return a human-readable presentation.
894  ONIXS_B3_UMDF_MD_NODISCARD
895  static
896  std::string
897  toString(
898  Enum);
899 };
900 
901 /// Describes how the price limits are expressed..
902 ///
903 /// FIX type: Int.
905 {
906  typedef UInt8 Base;
907 
908  /// Describes how the price limits are expressed.
909  enum Enum
910  {
911  /// Price Unit..
912  PRICE_UNIT = 0,
913 
914  /// Ticks..
915  TICKS = 1,
916 
917  /// Percentage..
918  PERCENTAGE = 2
919  };
920 
921  /// \return a human-readable presentation.
922  ONIXS_B3_UMDF_MD_NODISCARD
923  static
924  std::string
925  toString(
926  Enum);
927 };
928 
929 /// Band Midpoint Type, used with Auction Price Banding..
930 ///
931 /// FIX type: Int.
933 {
934  typedef UInt8 Base;
935 
936  /// Band Midpoint Type, used with Auction Price Banding.
937  enum Enum
938  {
939  /// Last traded price..
940  LAST_TRADED_PRICE = 0,
941 
942  /// Complementary last price..
943  COMPLEMENTARY_LAST_PRICE = 1,
944 
945  /// Theoretical Price..
946  THEORETICAL_PRICE = 2
947  };
948 
949  /// \return a human-readable presentation.
950  ONIXS_B3_UMDF_MD_NODISCARD
951  static
952  std::string
953  toString(
954  Enum);
955 };
956 
957 /// Type of settlement price..
958 ///
959 /// FIX type: Int.
961 {
962  typedef UInt8 Base;
963 
964  /// Type of settlement price.
965  enum Enum
966  {
967  /// Final..
968  FINAL = 1,
969 
970  /// Theoretical / Preview..
971  THEORETICAL = 2,
972 
973  /// Updated..
974  UPDATED = 3
975  };
976 
977  /// \return a human-readable presentation.
978  ONIXS_B3_UMDF_MD_NODISCARD
979  static
980  std::string
981  toString(
982  Enum);
983 };
984 
985 /// Indicates the Underlying Instrument price type reflected in Index value. Used for Composite Underlying Price..
986 ///
987 /// FIX type: Int.
989 {
990  typedef UInt8 Base;
991 
992  /// Indicates the Underlying Instrument price type reflected in Index value. Used for Composite Underlying Price.
993  enum Enum
994  {
995  /// Trade..
996  TRADE = 0,
997 
998  /// Average of TOB..
999  AVERAGE_OF_TOB = 1
1000  };
1001 
1002  /// \return a human-readable presentation.
1003  ONIXS_B3_UMDF_MD_NODISCARD
1004  static
1005  std::string
1006  toString(
1007  Enum);
1008 };
1009 
1010 /// Types of Market Data update action..
1011 ///
1012 /// FIX type: Int.
1014 {
1015  typedef UInt8 Base;
1016 
1017  /// Types of Market Data update action.
1018  enum Enum
1019  {
1020  /// New..
1021  NEW = 0,
1022 
1023  /// Change..
1024  CHANGE = 1,
1025 
1026  /// Delete..
1027  DELETE = 2,
1028 
1029  /// Delete Thru - only for MBO..
1030  DELETE_THRU = 3,
1031 
1032  /// Delete From - only for MBO..
1033  DELETE_FROM = 4,
1034 
1035  /// Overlay - not used..
1036  OVERLAY = 5
1037  };
1038 
1039  /// \return a human-readable presentation.
1040  ONIXS_B3_UMDF_MD_NODISCARD
1041  static
1042  std::string
1043  toString(
1044  Enum);
1045 };
1046 
1047 /// Type of the Market Data Entry..
1048 ///
1049 /// FIX type: Char.
1051 {
1052  typedef Char Base;
1053 
1054  /// Type of the Market Data Entry.
1055  enum Enum
1056  {
1057  /// Bid..
1058  BID = '0',
1059 
1060  /// Offer..
1061  OFFER = '1',
1062 
1063  /// Trade or Trade Summary or Last Trade Price..
1064  TRADE = '2',
1065 
1066  /// Index Value..
1067  INDEX_VALUE = '3',
1068 
1069  /// Opening Price..
1070  OPENING_PRICE = '4',
1071 
1072  /// Closing Price..
1073  CLOSING_PRICE = '5',
1074 
1075  /// Settlement Price..
1076  SETTLEMENT_PRICE = '6',
1077 
1078  /// Session High Price..
1079  SESSION_HIGH_PRICE = '7',
1080 
1081  /// Session Low Price..
1082  SESSION_LOW_PRICE = '8',
1083 
1084  /// Execution Statistics for related Trades..
1085  EXECUTION_STATISTICS = '9',
1086 
1087  /// Imbalance..
1088  IMBALANCE = 'A',
1089 
1090  /// Trade Volume..
1091  TRADE_VOLUME = 'B',
1092 
1093  /// Open Interest..
1094  OPEN_INTEREST = 'C',
1095 
1096  /// Empty Book..
1097  EMPTY_BOOK = 'J',
1098 
1099  /// Security Trading State / Phase..
1100  SECURITY_TRADING_STATE_PHASE = 'c',
1101 
1102  /// Price band..
1103  PRICE_BAND = 'g',
1104 
1105  /// Quantity band..
1106  QUANTITY_BAND = 'h',
1107 
1108  /// Composite Underlying Price..
1109  COMPOSITE_UNDERLYING_PRICE = 'D',
1110 
1111  /// Execution Summary for related Trades..
1112  EXECUTION_SUMMARY = 's',
1113 
1114  /// Volatility price..
1115  VOLATILITY_PRICE = 'v',
1116 
1117  /// Trade busted by Market Supervision..
1118  TRADE_BUST = 'u'
1119  };
1120 
1121  /// \return a human-readable presentation.
1122  ONIXS_B3_UMDF_MD_NODISCARD
1123  static
1124  std::string
1125  toString(
1126  Enum);
1127 };
1128 
1129 /// Source for the news..
1131 {
1132  typedef UInt8 Base;
1133 
1134  /// Source for the news.
1135  enum Enum
1136  {
1137  /// Other news source..
1138  OTHER = 0,
1139 
1140  /// DCM..
1141  DCM = 1,
1142 
1143  /// BBMNet..
1144  BBMNET = 2,
1145 
1146  /// MarketSurveillance..
1147  MARKET_SURVEILLANCE = 3,
1148 
1149  /// Internet..
1150  INTERNET = 4,
1151 
1152  /// DPR-VE..
1153  DPR_VE = 5,
1154 
1155  /// Mkt Ops FX Agency..
1156  MKT_OPS_FX_AGENCY = 19,
1157 
1158  /// Mkt Ops Derivatives Agency..
1159  MKT_OPS_DERIVATIVES_AGENCY = 20,
1160 
1161  /// Over-the-counter News Agency..
1162  OVER_THE_COUNTER_NEWS_AGENCY = 11,
1163 
1164  /// Electronic Purchase Exchange..
1165  ELECTRONIC_PURCHASE_EXCHANGE = 13,
1166 
1167  /// CBLC News Agency..
1168  CBLC_NEWS_AGENCY = 14,
1169 
1170  /// BOVESPA – Index Agency..
1171  BOVESPA_INDEX_AGENCY = 15,
1172 
1173  /// BOVESPA – Institutional Agency..
1174  BOVESPA_INSTITUTIONAL_AGENCY = 16,
1175 
1176  /// Mkt Ops Equities Agency..
1177  MKT_OPS_EQUITIES_AGENCY = 17,
1178 
1179  /// BOVESPA – Companies Agency..
1180  BOVESPA_COMPANIES_AGENCY = 18
1181  };
1182 
1183  /// \return a human-readable presentation.
1184  ONIXS_B3_UMDF_MD_NODISCARD
1185  static
1186  std::string
1187  toString(
1188  Enum);
1189 };
1190 
1191 /// Specifies the service pack release being applied at message level..
1193 {
1194  typedef UInt8 Base;
1195 
1196  /// Specifies the service pack release being applied at message level.
1197  enum Enum
1198  {
1199  /// FIX 2.7..
1200  FIX27 = 0,
1201 
1202  /// FIX 3.0..
1203  FIX30 = 1,
1204 
1205  /// FIX 4.0..
1206  FIX40 = 2,
1207 
1208  /// FIX 4.1..
1209  FIX41 = 3,
1210 
1211  /// FIX 4.2..
1212  FIX42 = 4,
1213 
1214  /// FIX 4.3..
1215  FIX43 = 5,
1216 
1217  /// FIX 4.4..
1218  FIX44 = 6,
1219 
1220  /// FIX 5.0..
1221  FIX50 = 7,
1222 
1223  /// FIX 5.0 SP1..
1224  FIX50SP1 = 8,
1225 
1226  /// FIX 5.0 SP2..
1227  FIX50SP2 = 9
1228  };
1229 
1230  /// \return a human-readable presentation.
1231  ONIXS_B3_UMDF_MD_NODISCARD
1232  static
1233  std::string
1234  toString(
1235  Enum);
1236 };
1237 
1238 /// Specifies the type of multileg order. Defines whether the security is pre-defined or user-defined..
1240 {
1241  typedef UInt8 Base;
1242 
1243  /// Specifies the type of multileg order. Defines whether the security is pre-defined or user-defined.
1244  enum Enum
1245  {
1246  /// Predefined Multileg Security..
1247  PREDEFINED = 0,
1248 
1249  /// User-Defined Multileg Security..
1250  USER_DEFINED = 1
1251  };
1252 
1253  /// \return a human-readable presentation.
1254  ONIXS_B3_UMDF_MD_NODISCARD
1255  static
1256  std::string
1257  toString(
1258  Enum);
1259 };
1260 
1261 /// Code to represent how the multileg price is to be interpreted when applied to the legs..
1263 {
1264  typedef UInt8 Base;
1265 
1266  /// Code to represent how the multileg price is to be interpreted when applied to the legs.
1267  enum Enum
1268  {
1269  /// Net Price..
1270  NET_PRICE = 0,
1271 
1272  /// Reversed Net Price..
1273  REVERSED_NET_PRICE = 1,
1274 
1275  /// Yield Difference..
1276  YIELD_DIFFERENCE = 2,
1277 
1278  /// Individual..
1279  INDIVIDUAL = 3,
1280 
1281  /// Contract Weighted Average Price..
1282  CONTRACT_WEIGHTED_AVERAGE_PRICE = 4,
1283 
1284  /// Multiplied Price..
1285  MULTIPLIED_PRICE = 5
1286  };
1287 
1288  /// \return a human-readable presentation.
1289  ONIXS_B3_UMDF_MD_NODISCARD
1290  static
1291  std::string
1292  toString(
1293  Enum);
1294 };
1295 
1296 /// Code to represent the type of instrument attributes..
1298 {
1299  typedef UInt8 Base;
1300 
1301  /// Code to represent the type of instrument attributes.
1302  enum Enum
1303  {
1304  /// Trade type eligibility details for security..
1305  TRADE_TYPE_ELIGIBILITY = 24,
1306 
1307  /// Eligibility for GTD/GTC..
1308  GTD_GTC_ELIGIBILITY = 34
1309  };
1310 
1311  /// \return a human-readable presentation.
1312  ONIXS_B3_UMDF_MD_NODISCARD
1313  static
1314  std::string
1315  toString(
1316  Enum);
1317 };
1318 
1319 /// Code to represent the type of instrument attributes..
1321 {
1322  typedef UInt8 Base;
1323 
1324  /// Code to represent the type of instrument attributes.
1325  enum Enum
1326  {
1327  /// Electronic Match Eligible (871=24) or GTD/GTC Eligible (871=34)..
1328  ELECTRONIC_MATCH_OR_GTD_GTC_ELIGIBLE = 1,
1329 
1330  /// Order Cross Eligible (871=24)..
1331  ORDER_CROSS_ELIGIBLE = 2,
1332 
1333  /// Block Trade Eligible (871=24)..
1334  BLOCK_TRADE_ELIGIBLE = 3,
1335 
1336  /// Request for Quote (RFQ) for Cross Eligible (871=24)..
1337  FLAG_RFQ_FOR_CROSS_ELIGIBLE = 14,
1338 
1339  /// Negotiated Quote Eligible (871=24)..
1340  NEGOTIATED_QUOTE_ELIGIBLE = 17
1341  };
1342 
1343  /// \return a human-readable presentation.
1344  ONIXS_B3_UMDF_MD_NODISCARD
1345  static
1346  std::string
1347  toString(
1348  Enum);
1349 };
1350 
1351 /// Identifies class or source of the SecurityID value..
1352 ///
1353 /// FIX type: Char.
1355 {
1356  typedef Char Base;
1357 
1358  /// Identifies class or source of the SecurityID value.
1359  enum Enum
1360  {
1361  /// ISIN
1362  ISIN = '4',
1363 
1364  /// EXCHANGE_SYMBOL
1365  EXCHANGE_SYMBOL = '8'
1366  };
1367 
1368  /// \return a human-readable presentation.
1369  ONIXS_B3_UMDF_MD_NODISCARD
1370  static
1371  std::string
1372  toString(
1373  Enum);
1374 };
1375 
1376 /// Sub type of trade assigned to a trade..
1377 ///
1378 /// FIX type: Int.
1380 {
1381  typedef UInt8 Base;
1382 
1383  /// Sub type of trade assigned to a trade.
1384  enum Enum
1385  {
1386  /// Multi Asset Trade (Termo Vista)..
1387  MULTI_ASSET_TRADE = 101,
1388 
1389  /// Leg Trade (UDS/EDS)..
1390  LEG_TRADE = 102,
1391 
1392  /// Midpoint Trade (MP)..
1393  MIDPOINT_TRADE = 103,
1394 
1395  /// Block Book Trade (PT)..
1396  BLOCK_BOOK_TRADE = 104,
1397 
1398  /// Equities: RFQ Trade, Futures: Fixed Income Trade (RF)..
1399  RF_TRADE = 105,
1400 
1401  /// RLP Trade (RL)..
1402  RLP_TRADE = 106,
1403 
1404  /// Trade at Close Trade (TC)..
1405  TAC_TRADE = 107,
1406 
1407  /// Trade at Average Trade (TA)..
1408  TAA_TRADE = 108,
1409 
1410  /// Sweep Trade (SW)..
1411  SWEEP_TRADE = 109
1412  };
1413 
1414  /// \return a human-readable presentation.
1415  ONIXS_B3_UMDF_MD_NODISCARD
1416  static
1417  std::string
1418  toString(
1419  Enum);
1420 };
1421 
1422 /// Set of conditions describing an imbalance..
1424 {
1425 public:
1426  /// Aliases integral type whose bits
1427  /// are used to indicate flag presence.
1428  typedef UInt16 Bits;
1429 
1430  enum
1431  {
1432  Size = sizeof(Bits)
1433  };
1434 
1435 
1436  /// \private
1437  /// Init traits.
1438  struct MemberTraits
1439  {
1440  enum { Count = 1 };
1441 
1442  typedef Bits FirstArgType;
1443  };
1444 
1445  /// Indicates whether ImbalanceMoreBuyers bit is set.
1446  ONIXS_B3_UMDF_MD_NODISCARD
1447  bool imbalanceMoreBuyers() const
1449  {
1450  return 0 != (bits_ & 0x100);
1451  }
1452 
1453  /// Indicates whether ImbalanceMoreSellers bit is set.
1454  ONIXS_B3_UMDF_MD_NODISCARD
1457  {
1458  return 0 != (bits_ & 0x200);
1459  }
1460 
1461  /// \return elements as they packed in the set.
1462  Bits bits() const
1464  {
1465  return bits_;
1466  }
1467 
1468  /// Constructs from a value.
1469  explicit
1470  ImbalanceCondition(Bits bits = 0)
1472  : bits_(bits)
1473  {
1474  }
1475 
1476  /// \return a human-readable presentation.
1477  ONIXS_B3_UMDF_MD_NODISCARD
1478  std::string
1479  toString() const;
1480 
1481  /// Compares encoded data
1482  ONIXS_B3_UMDF_MD_NODISCARD
1483  bool
1485  const ImbalanceCondition& other) const
1487  {
1488  return !(*this == other);
1489  }
1490 
1491  /// Compares encoded data
1492  ONIXS_B3_UMDF_MD_NODISCARD
1493  bool
1495  const ImbalanceCondition& other) const
1497  {
1498  return this->bits_ == other.bits_;
1499  }
1500 
1501 private:
1502  Bits bits_;
1503 };
1504 
1505 /// Set of conditions describing a trade..
1507 {
1508 public:
1509  /// Aliases integral type whose bits
1510  /// are used to indicate flag presence.
1511  typedef UInt16 Bits;
1512 
1513  enum
1514  {
1515  Size = sizeof(Bits)
1516  };
1517 
1518 
1519  /// \private
1520  /// Init traits.
1521  struct MemberTraits
1522  {
1523  enum { Count = 1 };
1524 
1525  typedef Bits FirstArgType;
1526  };
1527 
1528  /// Indicates whether OpeningPrice bit is set.
1529  ONIXS_B3_UMDF_MD_NODISCARD
1530  bool openingPrice() const
1532  {
1533  return 0 != (bits_ & 0x1);
1534  }
1535 
1536  /// Indicates whether Crossed bit is set.
1537  ONIXS_B3_UMDF_MD_NODISCARD
1538  bool crossed() const
1540  {
1541  return 0 != (bits_ & 0x2);
1542  }
1543 
1544  /// Indicates whether LastTradeAtTheSamePrice bit is set.
1545  ONIXS_B3_UMDF_MD_NODISCARD
1548  {
1549  return 0 != (bits_ & 0x4);
1550  }
1551 
1552  /// Indicates whether OutOfSequence bit is set.
1553  ONIXS_B3_UMDF_MD_NODISCARD
1554  bool outOfSequence() const
1556  {
1557  return 0 != (bits_ & 0x8);
1558  }
1559 
1560  /// Indicates whether TradeOnBehalf bit is set.
1561  ONIXS_B3_UMDF_MD_NODISCARD
1562  bool tradeOnBehalf() const
1564  {
1565  return 0 != (bits_ & 0x40);
1566  }
1567 
1568  /// Indicates whether RegularTrade bit is set.
1569  ONIXS_B3_UMDF_MD_NODISCARD
1570  bool regularTrade() const
1572  {
1573  return 0 != (bits_ & 0x2000);
1574  }
1575 
1576  /// Indicates whether BlockTrade bit is set.
1577  ONIXS_B3_UMDF_MD_NODISCARD
1578  bool blockTrade() const
1580  {
1581  return 0 != (bits_ & 0x4000);
1582  }
1583 
1584  /// \return elements as they packed in the set.
1585  Bits bits() const
1587  {
1588  return bits_;
1589  }
1590 
1591  /// Constructs from a value.
1592  explicit
1593  TradeCondition(Bits bits = 0)
1595  : bits_(bits)
1596  {
1597  }
1598 
1599  /// \return a human-readable presentation.
1600  ONIXS_B3_UMDF_MD_NODISCARD
1601  std::string
1602  toString() const;
1603 
1604  /// Compares encoded data
1605  ONIXS_B3_UMDF_MD_NODISCARD
1606  bool
1608  const TradeCondition& other) const
1610  {
1611  return !(*this == other);
1612  }
1613 
1614  /// Compares encoded data
1615  ONIXS_B3_UMDF_MD_NODISCARD
1616  bool
1618  const TradeCondition& other) const
1620  {
1621  return this->bits_ == other.bits_;
1622  }
1623 
1624 private:
1625  Bits bits_;
1626 };
1627 
1628 /// Set of indicators for the end of updates for a given event. It also indicates if this message is a retransmission..
1630 {
1631 public:
1632  /// Aliases integral type whose bits
1633  /// are used to indicate flag presence.
1634  typedef UInt8 Bits;
1635 
1636  enum
1637  {
1638  Size = sizeof(Bits)
1639  };
1640 
1641 
1642  /// \private
1643  /// Init traits.
1644  struct MemberTraits
1645  {
1646  enum { Count = 1 };
1647 
1648  typedef Bits FirstArgType;
1649  };
1650 
1651  /// Indicates whether LastTradeMsg bit is set.
1652  ONIXS_B3_UMDF_MD_NODISCARD
1653  bool lastTradeMsg() const
1655  {
1656  return 0 != (bits_ & 0x1);
1657  }
1658 
1659  /// Indicates whether LastVolumeMsg bit is set.
1660  ONIXS_B3_UMDF_MD_NODISCARD
1661  bool lastVolumeMsg() const
1663  {
1664  return 0 != (bits_ & 0x2);
1665  }
1666 
1667  /// Indicates whether LastQuoteMsg bit is set.
1668  ONIXS_B3_UMDF_MD_NODISCARD
1669  bool lastQuoteMsg() const
1671  {
1672  return 0 != (bits_ & 0x4);
1673  }
1674 
1675  /// Indicates whether LastStatsMsg bit is set.
1676  ONIXS_B3_UMDF_MD_NODISCARD
1677  bool lastStatsMsg() const
1679  {
1680  return 0 != (bits_ & 0x8);
1681  }
1682 
1683  /// Indicates whether LastImpliedMsg bit is set.
1684  ONIXS_B3_UMDF_MD_NODISCARD
1685  bool lastImpliedMsg() const
1687  {
1688  return 0 != (bits_ & 0x10);
1689  }
1690 
1691  /// Indicates whether RecoveryMsg bit is set.
1692  ONIXS_B3_UMDF_MD_NODISCARD
1693  bool recoveryMsg() const
1695  {
1696  return 0 != (bits_ & 0x20);
1697  }
1698 
1699  /// Indicates whether Reserved bit is set.
1700  ONIXS_B3_UMDF_MD_NODISCARD
1701  bool reserved() const
1703  {
1704  return 0 != (bits_ & 0x40);
1705  }
1706 
1707  /// Indicates whether EndOfEvent bit is set.
1708  ONIXS_B3_UMDF_MD_NODISCARD
1709  bool endOfEvent() const
1711  {
1712  return 0 != (bits_ & 0x80);
1713  }
1714 
1715  /// \return elements as they packed in the set.
1716  Bits bits() const
1718  {
1719  return bits_;
1720  }
1721 
1722  /// Constructs from a value.
1723  explicit
1724  MatchEventIndicator(Bits bits = 0)
1726  : bits_(bits)
1727  {
1728  }
1729 
1730  /// \return a human-readable presentation.
1731  ONIXS_B3_UMDF_MD_NODISCARD
1732  std::string
1733  toString() const;
1734 
1735  /// Compares encoded data
1736  ONIXS_B3_UMDF_MD_NODISCARD
1737  bool
1739  const MatchEventIndicator& other) const
1741  {
1742  return !(*this == other);
1743  }
1744 
1745  /// Compares encoded data
1746  ONIXS_B3_UMDF_MD_NODISCARD
1747  bool
1749  const MatchEventIndicator& other) const
1751  {
1752  return this->bits_ == other.bits_;
1753  }
1754 
1755 private:
1756  Bits bits_;
1757 };
1758 
1759 
1760 /// Null value for an optional Int8 field.
1761 typedef
1762 IntegralConstant<Int8, -128>
1764 
1765 
1766 /// Null value for an optional Int16 field.
1767 typedef
1768 IntegralConstant<Int16, -32768>
1770 
1771 
1772 /// Null value for an optional Int32 field.
1773 typedef
1774 IntegralConstant<Int32, -2147483647-1>
1776 
1777 
1778 /// Null value for an optional Int64 field.
1779 typedef
1780 IntegralConstant<Int64, -9223372036854775807LL-1>
1782 
1783 
1784 /// Null value for an optional UInt8 field.
1785 typedef
1788 
1789 
1790 /// Null value for an optional UInt16 field.
1791 typedef
1794 
1795 
1796 /// Null value for an optional UInt32 field.
1797 typedef
1800 
1801 
1802 /// Null value for an optional UInt64 field.
1803 typedef
1806 
1807 
1808 /// Null value for an optional Int8NULL field.
1809 typedef
1812 
1813 
1814 /// Null value for an optional Int16NULL field.
1815 typedef
1818 
1819 
1820 /// Null value for an optional Int32NULL field.
1821 typedef
1824 
1825 
1826 /// Null value for an optional Int64NULL field.
1827 typedef
1830 
1831 
1832 /// Null value for an optional CharNULL field.
1833 typedef
1836 
1837 
1838 /// Null value for an optional UInt8NULL field.
1839 typedef
1842 
1843 
1844 /// Null value for an optional UInt16NULL field.
1845 typedef
1848 
1849 
1850 /// Null value for an optional UInt32NULL field.
1851 typedef
1854 
1855 
1856 /// Null value for an optional UInt64NULL field.
1857 typedef
1860 
1861 
1862 /// Null value for an optional NumberOfTrades field.
1863 typedef
1866 
1867 
1868 /// Null value for an optional Quantity field.
1869 typedef
1870 IntegralConstant<Int64, -9223372036854775807LL-1>
1872 
1873 
1874 /// Null value for an optional QuantityOptional field.
1875 typedef
1876 IntegralConstant<Int64, -9223372036854775807LL-1>
1878 
1879 
1880 /// Null value for an optional QuantityVolume field.
1881 typedef
1882 IntegralConstant<Int64, -9223372036854775807LL-1>
1884 
1885 
1886 /// Null value for an optional QuantityVolumeOptional field.
1887 typedef
1888 IntegralConstant<Int64, -9223372036854775807LL-1>
1890 
1891 
1892 /// Null value for an optional FirmOptional field.
1893 typedef
1896 
1897 
1898 /// Null value for an optional OrderID field.
1899 typedef
1902 
1903 
1904 /// Null value for an optional TradeID field.
1905 typedef
1908 
1909 
1910 /// Null value for an optional SeqNum field.
1911 typedef
1914 
1915 
1916 /// Null value for an optional SeqNum1 field.
1917 typedef
1920 
1921 
1922 /// Null value for an optional SecurityID field.
1923 typedef
1926 
1927 
1928 /// Null value for an optional SecurityIDOptional field.
1929 typedef
1932 
1933 
1934 /// Null value for an optional RptSeq field.
1935 typedef
1938 
1939 
1940 /// Null value for an optional ClearingHouseID field.
1941 typedef
1944 
1945 
1946 /// Null value for an optional NewsID field.
1947 typedef
1950 
1951 
1952 /// Null value for an optional SettlType field.
1953 typedef
1956 
1957 
1958 /// Null value for an optional LocalMktDate field.
1959 typedef
1962 
1963 
1964 /// Null value for an optional LocalMktDateOptional field.
1965 typedef
1968 
1969 
1970 /// Null value for an optional LocalMktDate32 field.
1971 typedef
1972 IntegralConstant<Int32, -2147483647-1>
1974 
1975 
1976 /// Null value for an optional LocalMktDate32Optional field.
1977 typedef
1980 
1981 
1982 /// Null value for an optional EntryPositionNo field.
1983 typedef
1986 
1987 
1988 /// Null value for an optional MarketSegmentID field.
1989 typedef
1992 
1993 
1994 
1995 /// Converts days since epoch to Timestamp value.
1996 inline
1997 ONIXS_B3_UMDF_MD_NODISCARD
1998 Timestamp
2000 {
2001  return Timestamp(TimeSpan(days, 0, 0, 0, 0).ticks());
2002 }
2003 
Band Midpoint Type, used with Auction Price Banding.
Definition: Fields.h:932
Action used when updating the security..
Definition: Fields.h:371
Char Currency[3]
3-letter alphabetic ISO Currency Codes (ISO 4217).
Definition: Fields.h:204
IntegralConstant< UInt16, 65535 > NullLocalMktDate
Null value for an optional LocalMktDate field.
Definition: Fields.h:1961
ONIXS_B3_UMDF_MD_NODISCARD bool imbalanceMoreBuyers() const
Indicates whether ImbalanceMoreBuyers bit is set.
Definition: Fields.h:1447
Enum
Describes how the price limits are expressed.
Definition: Fields.h:909
Identifies class or source of the SecurityID value.
Definition: Fields.h:1354
IntegralConstant< Int16,-32768 > NullInt16
Null value for an optional Int16 field.
Definition: Fields.h:1769
Code to represent the type of instrument attributes..
Definition: Fields.h:1297
ONIXS_B3_UMDF_MD_NODISCARD bool lastVolumeMsg() const
Indicates whether LastVolumeMsg bit is set.
Definition: Fields.h:1661
UInt16 LocalMktDate
Local date (as opposed to UTC).
Definition: Fields.h:214
IntegralConstant< UInt64, 18446744073709551615ULL > NullOrderID
Null value for an optional OrderID field.
Definition: Fields.h:1901
ONIXS_B3_UMDF_MD_NODISCARD bool imbalanceMoreSellers() const
Indicates whether ImbalanceMoreSellers bit is set.
Definition: Fields.h:1455
Phase related to a SecurityGroup where the instrument belongs to.
Definition: Fields.h:786
Int64 QuantityVolumeOptional
Volume Quantity.
Definition: Fields.h:130
Int32 Int32NULL
4-byte signed integer, from -2147483648 (-2^31) to 2147483647 (2^31-1), NULL (optional) value = 0...
Definition: Fields.h:74
#define ONIXS_B3_UMDF_MD_NOTHROW
Definition: Compiler.h:114
IntegralConstant< UInt32, 1 > SeqNum1
Sequence Number, fixed to 1.
Definition: Fields.h:162
IntegralConstant< Int8,-128 > NullInt8
Null value for an optional Int8 field.
Definition: Fields.h:1763
UInt32 EntryPositionNo
Display position of a bid or offer, numbered from most competitive to least competitive, per market side, beginning with 1.
Definition: Fields.h:240
UInt16 SettlType
Indicates order settlement period in days. (e.g. 0, D1, D2, D3, D60, D120 etc.) If present...
Definition: Fields.h:208
Indicates the type of the security.
Definition: Fields.h:470
Represents time interval.
Definition: Time.h:122
IntegralConstant< Int64,-9223372036854775807LL-1 > NullQuantity
Null value for an optional Quantity field.
Definition: Fields.h:1871
UInt16 UInt16
2-byte unsigned integer, from 0 to 65535..
Definition: Fields.h:54
Int32 LocalMktDate32Optional
Optional local date (as opposed to UTC).
Definition: Fields.h:234
ONIXS_B3_UMDF_MD_NODISCARD bool endOfEvent() const
Indicates whether EndOfEvent bit is set.
Definition: Fields.h:1709
IntegralConstant< UInt32, 4294967295 > NullSeqNum
Null value for an optional SeqNum field.
Definition: Fields.h:1913
ONIXS_B3_UMDF_MD_NODISCARD bool crossed() const
Indicates whether Crossed bit is set.
Definition: Fields.h:1538
Code to represent how the multileg price is to be interpreted when applied to the legs...
Definition: Fields.h:1262
Specifies the type of multileg order. Defines whether the security is pre-defined or user-defined...
Definition: Fields.h:1239
Enum
Action used when updating the security.
Definition: Fields.h:376
Set of indicators for the end of updates for a given event. It also indicates if this message is a re...
Definition: Fields.h:1629
Set of conditions describing an imbalance..
Definition: Fields.h:1423
ONIXS_B3_UMDF_MD_NODISCARD bool operator==(const TradeCondition &other) const
Compares encoded data.
Definition: Fields.h:1617
ONIXS_B3_UMDF_MD_NODISCARD bool operator!=(const MatchEventIndicator &other) const
Compares encoded data.
Definition: Fields.h:1738
Enum
Describes the lot type for the instruments. Used for the Equities segment.
Definition: Fields.h:404
IntegralConstant< UInt16, 0 > NullLocalMktDateOptional
Null value for an optional LocalMktDateOptional field.
Definition: Fields.h:1967
ONIXS_B3_UMDF_MD_NODISCARD bool operator!=(const TradeCondition &other) const
Compares encoded data.
Definition: Fields.h:1607
Represents time point without time-zone information.
Definition: Time.h:482
UInt64 SecurityIDOptional
Security ID as defined by B3&#39;s Trading System.
Definition: Fields.h:174
Enum
Indicates the type of price banding (tunnel).
Definition: Fields.h:844
Indicates the type of price banding (tunnel).
Definition: Fields.h:839
ONIXS_B3_UMDF_MD_NODISCARD bool outOfSequence() const
Indicates whether OutOfSequence bit is set.
Definition: Fields.h:1554
UInt64 UInt64NULL
8-byte unsigned integer, from 1 to 18446744073709551615 (2^64-1), NULL (optional) value = 0...
Definition: Fields.h:98
Type of the Market Data Entry.
Definition: Fields.h:1050
Type of exercise of a derivatives security.
Definition: Fields.h:540
Indicates the Underlying Instrument price type reflected in Index value.
Definition: Fields.h:988
IntegralConstant< Int32, 0 > NullLocalMktDate32Optional
Null value for an optional LocalMktDate32Optional field.
Definition: Fields.h:1979
IntegralConstant< UInt16, 0 > NullUInt16NULL
Null value for an optional UInt16NULL field.
Definition: Fields.h:1847
IntegralConstant< Int8, 0 > NullInt8NULL
Null value for an optional Int8NULL field.
Definition: Fields.h:1811
Enum
Type of exercise of a derivatives security.
Definition: Fields.h:545
ONIXS_B3_UMDF_MD_NODISCARD bool openingPrice() const
Indicates whether OpeningPrice bit is set.
Definition: Fields.h:1530
Describes the lot type for the instruments.
Definition: Fields.h:399
Int16 Int16
2-byte signed integer, from -32768 to 32767; if optional, null value is -32768..
Definition: Fields.h:38
Enum
Type of the Market Data Entry.
Definition: Fields.h:1055
Int8 Int8
1-byte signed integer, from -128 to 127; if optional, null value is -128..
Definition: Fields.h:34
IntegralConstant< Int64,-9223372036854775807LL-1 > NullQuantityVolumeOptional
Null value for an optional QuantityVolumeOptional field.
Definition: Fields.h:1889
ONIXS_B3_UMDF_MD_NODISCARD bool operator!=(const ImbalanceCondition &other) const
Compares encoded data.
Definition: Fields.h:1484
UInt32 UInt32NULL
4-byte unsigned integer, from 1 to 4294967295 (2^32-1), NULL (optional) value = 0..
Definition: Fields.h:94
Enum
Indicates whether an option contract is a put or call.
Definition: Fields.h:568
IntegralConstant< Int32,-2147483647-1 > NullInt32
Null value for an optional Int32 field.
Definition: Fields.h:1775
Flag that identifies if the opening/closing/settlement price is related to theoretical, daily, previous business day or just an updated value.
Definition: Fields.h:870
Status related to a given Instrument or phase related to a SecurityGroup where the instrument belongs...
Definition: Fields.h:656
Set of conditions describing a trade..
Definition: Fields.h:1506
Enum
Status related to a given Instrument or phase related to a SecurityGroup where the instrument belongs...
Definition: Fields.h:621
Enum
Indicates the Underlying Instrument price type reflected in Index value. Used for Composite Underlyin...
Definition: Fields.h:993
Indicates whether an option contract is a put or call..
Definition: Fields.h:563
IntegralConstant< Int16, 0 > NullInt16NULL
Null value for an optional Int16NULL field.
Definition: Fields.h:1817
char Char
Character type alias.
Definition: String.h:30
Which side is aggressor of this trade.
Definition: Fields.h:758
UInt8 UInt8
1-byte unsigned integer, from 0 to 255..
Definition: Fields.h:50
ONIXS_B3_UMDF_MD_NODISCARD bool reserved() const
Indicates whether Reserved bit is set.
Definition: Fields.h:1701
Enum
Sub type of trade assigned to a trade.
Definition: Fields.h:1384
IntegralConstant< UInt16, 65535 > NullUInt16
Null value for an optional UInt16 field.
Definition: Fields.h:1793
IntegralConstant< UInt64, 0ULL > NullClearingHouseID
Null value for an optional ClearingHouseID field.
Definition: Fields.h:1943
#define ONIXS_B3_UMDF_MD_MESSAGING_NAMESPACE_END
Definition: ABI.h:151
UInt64 ClearingHouseID
ClearingHouseID (SecurityAltID).
Definition: Fields.h:192
ONIXS_B3_UMDF_MD_NODISCARD bool operator==(const ImbalanceCondition &other) const
Compares encoded data.
Definition: Fields.h:1494
Enum
Code to represent the price type. If absent (zero), the default value is DECIMALS.
Definition: Fields.h:593
UInt32 TradeID
Contains the unique identifier for this trade per instrument + trading date, as assigned by the excha...
Definition: Fields.h:148
UInt32 SeqNum
Sequence number inside the given channel.
Definition: Fields.h:154
Int32 Int32
4-byte signed integer, from -2147483648 to 2147483647; if optional, null value is -2147483648...
Definition: Fields.h:42
UInt32 FirmOptional
Identifies the broker firm.
Definition: Fields.h:136
IntegralConstant< UInt32, 4294967295 > NullTradeID
Null value for an optional TradeID field.
Definition: Fields.h:1907
UInt64 UInt64
8-byte unsigned integer, from 0 to 18446744073709551615 (2^64-1)..
Definition: Fields.h:62
ONIXS_B3_UMDF_MD_NODISCARD Timestamp localMktDateToTimestamp(LocalMktDate days)
Converts days since epoch to Timestamp value.
Definition: Fields.h:1999
UInt64 OrderID
Unique identifier for Order as assigned by the exchange.
Definition: Fields.h:142
UInt32 UInt32
4-byte unsigned integer, from 0 to 4294967295 (2^32-1)..
Definition: Fields.h:58
Enum
Phase related to a SecurityGroup where the instrument belongs to.
Definition: Fields.h:791
MatchEventIndicator(Bits bits=0)
Constructs from a value.
Definition: Fields.h:1724
IntegralConstant< Int64, 0LL > NullInt64NULL
Null value for an optional Int64NULL field.
Definition: Fields.h:1829
IntegralConstant< Int64,-9223372036854775807LL-1 > NullQuantityVolume
Null value for an optional QuantityVolume field.
Definition: Fields.h:1883
Sub type of trade assigned to a trade.
Definition: Fields.h:1379
Int8 Int8NULL
1-byte signed integer, from -128 to 127, NULL (optional) value = 0..
Definition: Fields.h:66
Enum
Identifies class or source of the SecurityID value.
Definition: Fields.h:1359
Enum
Band Midpoint Type, used with Auction Price Banding.
Definition: Fields.h:937
IntegralConstant< Int32,-2147483647-1 > NullLocalMktDate32
Null value for an optional LocalMktDate32 field.
Definition: Fields.h:1973
IntegralConstant< UInt64, 18446744073709551615ULL > NullUInt64
Null value for an optional UInt64 field.
Definition: Fields.h:1805
IntegralConstant< UInt16, 65535 > NullSettlType
Null value for an optional SettlType field.
Definition: Fields.h:1955
Enum
Indicates the type of product the security is associated with.
Definition: Fields.h:432
Int64 Quantity
Quantity in order/trade.
Definition: Fields.h:110
Identifies an event related to a Trade.
Definition: Fields.h:811
Enum
Types of Market Data update action.
Definition: Fields.h:1018
IntegralConstant< Int64,-9223372036854775807LL-1 > NullQuantityOptional
Null value for an optional QuantityOptional field.
Definition: Fields.h:1877
IntegralConstant< UInt32, 0 > NullRptSeq
Null value for an optional RptSeq field.
Definition: Fields.h:1937
IntegralConstant< UInt32, 4294967295 > NullUInt32
Null value for an optional UInt32 field.
Definition: Fields.h:1799
Enum
Corporative governance level indicator. Required for cash equities.
Definition: Fields.h:701
Specifies the service pack release being applied at message level..
Definition: Fields.h:1192
ImbalanceCondition(Bits bits=0)
Constructs from a value.
Definition: Fields.h:1470
Enum
Indicates the type of the security.
Definition: Fields.h:475
IntegralConstant< UInt8, 0 > NullMarketSegmentID
Null value for an optional MarketSegmentID field.
Definition: Fields.h:1991
Enum
Specifies the type of multileg order. Defines whether the security is pre-defined or user-defined...
Definition: Fields.h:1244
ONIXS_B3_UMDF_MD_NODISCARD bool recoveryMsg() const
Indicates whether RecoveryMsg bit is set.
Definition: Fields.h:1693
Types of Market Data update action.
Definition: Fields.h:1013
#define ONIXS_B3_UMDF_MD_MESSAGING_NAMESPACE_BEGIN
Definition: ABI.h:146
IntegralConstant< UInt32, 0 > NullFirmOptional
Null value for an optional FirmOptional field.
Definition: Fields.h:1895
Enum
Type of matching that occurred. Required for Special Auctions.
Definition: Fields.h:741
Enum
Flag that identifies if the opening/closing/settlement price is related to theoretical, daily, previous business day or just an updated value.
Definition: Fields.h:875
IntegralConstant< UInt64, 18446744073709551615ULL > NullSecurityID
Null value for an optional SecurityID field.
Definition: Fields.h:1925
Code to represent the type of instrument attributes..
Definition: Fields.h:1320
Enum
Identifies an event related to a Trade. This tag is also used to mark when an instrument state is kep...
Definition: Fields.h:816
IntegralConstant< Int32, 0 > NullInt32NULL
Null value for an optional Int32NULL field.
Definition: Fields.h:1823
Enum
Status related to a given Instrument or phase related to a SecurityGroup where the instrument belongs...
Definition: Fields.h:661
Int64 Int64NULL
8-byte signed integer, from -9223372036854775808 (-2^63) to 9223372036854775807 (2^63-1), NULL (optional) value = 0..
Definition: Fields.h:78
IntegralConstant< UInt8, 0 > NullUInt8NULL
Null value for an optional UInt8NULL field.
Definition: Fields.h:1841
ONIXS_B3_UMDF_MD_NODISCARD bool lastStatsMsg() const
Indicates whether LastStatsMsg bit is set.
Definition: Fields.h:1677
Enum
Code to represent how the multileg price is to be interpreted when applied to the legs...
Definition: Fields.h:1267
Enum
Code to represent the type of instrument attributes.
Definition: Fields.h:1325
ONIXS_B3_UMDF_MD_NODISCARD bool blockTrade() const
Indicates whether BlockTrade bit is set.
Definition: Fields.h:1578
Int16 Int16NULL
2-byte unsigned integer, from -32768 to 32767, NULL (optional) value = 0..
Definition: Fields.h:70
IntegralConstant< UInt64, 0ULL > NullSecurityIDOptional
Null value for an optional SecurityIDOptional field.
Definition: Fields.h:1931
TradeCondition(Bits bits=0)
Constructs from a value.
Definition: Fields.h:1593
Enum
Which side is aggressor of this trade.
Definition: Fields.h:763
IntegralConstant< UInt64, 0ULL > NullUInt64NULL
Null value for an optional UInt64NULL field.
Definition: Fields.h:1859
ONIXS_B3_UMDF_MD_NODISCARD bool regularTrade() const
Indicates whether RegularTrade bit is set.
Definition: Fields.h:1570
ONIXS_B3_UMDF_MD_NODISCARD bool lastImpliedMsg() const
Indicates whether LastImpliedMsg bit is set.
Definition: Fields.h:1685
IntegralConstant< UInt64, 0ULL > NullNewsID
Null value for an optional NewsID field.
Definition: Fields.h:1949
IntegralConstant< UInt32, 4294967295 > NullNumberOfTrades
Null value for an optional NumberOfTrades field.
Definition: Fields.h:1865
Enum
Specifies the service pack release being applied at message level.
Definition: Fields.h:1197
Code to represent the price type.
Definition: Fields.h:588
Char CharNULL
1 ASCII character, NULL (optional) value is &#39;\0&#39;..
Definition: Fields.h:82
IntegralConstant< UInt8, 255 > NullUInt8
Null value for an optional UInt8 field.
Definition: Fields.h:1787
UInt8 UInt8NULL
1-byte unsigned integer, from 1 to 255, NULL (optional) value = 0..
Definition: Fields.h:86
Corporative governance level indicator.
Definition: Fields.h:696
Int64 Int64
8-byte signed integer, from -9223372036854775808 (-2^63) to 9223372036854775807 (2^63-1)..
Definition: Fields.h:46
ONIXS_B3_UMDF_MD_NODISCARD bool tradeOnBehalf() const
Indicates whether TradeOnBehalf bit is set.
Definition: Fields.h:1562
Char SecurityExchange[4]
Security Exchange Code.
Definition: Fields.h:180
IntegralConstant< Char, 0 > NullCharNULL
Null value for an optional CharNULL field.
Definition: Fields.h:1835
ONIXS_B3_UMDF_MD_NODISCARD bool lastQuoteMsg() const
Indicates whether LastQuoteMsg bit is set.
Definition: Fields.h:1669
#define ONIXS_B3_UMDF_MD_LTWT_STRUCT
Definition: ABI.h:94
Status related to a given Instrument or phase related to a SecurityGroup where the instrument belongs...
Definition: Fields.h:616
ONIXS_B3_UMDF_MD_NODISCARD bool lastTradeAtTheSamePrice() const
Indicates whether LastTradeAtTheSamePrice bit is set.
Definition: Fields.h:1546
UInt64 SecurityID
Security ID as defined by B3&#39;s Trading System.
Definition: Fields.h:168
Describes how the price limits are expressed.
Definition: Fields.h:904
Indicates the type of product the security is associated with.
Definition: Fields.h:427
UInt32 NumberOfTrades
Contains the number of trades executed in the session.
Definition: Fields.h:104
UInt16 Bits
Aliases integral type whose bits are used to indicate flag presence.
Definition: Fields.h:1428
Int64 QuantityVolume
Volume Quantity.
Definition: Fields.h:122
UInt16 Bits
Aliases integral type whose bits are used to indicate flag presence.
Definition: Fields.h:1511
IntegralConstant< UInt32, 4294967295 > NullSeqNum1
Null value for an optional SeqNum1 field.
Definition: Fields.h:1919
Int64 QuantityOptional
Quantity in order/trade.
Definition: Fields.h:116
UInt32 RptSeq
Sequence number per instrument update.
Definition: Fields.h:186
Enum
Code to represent the type of instrument attributes.
Definition: Fields.h:1302
IntegralConstant< UInt32, 4294967295 > NullEntryPositionNo
Null value for an optional EntryPositionNo field.
Definition: Fields.h:1985
ONIXS_B3_UMDF_MD_NODISCARD bool operator==(const MatchEventIndicator &other) const
Compares encoded data.
Definition: Fields.h:1748
UInt8 Bits
Aliases integral type whose bits are used to indicate flag presence.
Definition: Fields.h:1634
IntegralConstant< UInt32, 0 > NullUInt32NULL
Null value for an optional UInt32NULL field.
Definition: Fields.h:1853
UInt16 LocalMktDateOptional
Optional local date (as opposed to UTC).
Definition: Fields.h:220
IntegralConstant< Int64,-9223372036854775807LL-1 > NullInt64
Null value for an optional Int64 field.
Definition: Fields.h:1781
Int32 LocalMktDate32
Local date (as opposed to UTC).
Definition: Fields.h:226
UInt8 MarketSegmentID
Identifies the market segment.
Definition: Fields.h:246
ONIXS_B3_UMDF_MD_NODISCARD bool lastTradeMsg() const
Indicates whether LastTradeMsg bit is set.
Definition: Fields.h:1653
UInt16 UInt16NULL
2-byte unsigned integer, from 1 to 65535, NULL (optional) value = 0..
Definition: Fields.h:90