OnixS C++ B3 Binary UMDF Market Data Handler  1.4.2
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 /// Indicates that an implied order can be created for the instrument..
1423 ///
1424 /// FIX type: Int.
1426 {
1427  typedef UInt8 Base;
1428 
1429  /// Indicates that an implied order can be created for the instrument.
1430  enum Enum
1431  {
1432  /// Not implied..
1433  NOT_IMPLIED = 0,
1434 
1435  /// Implied enabled..
1436  IMPLIED = 1
1437  };
1438 
1439  /// \return a human-readable presentation.
1440  ONIXS_B3_UMDF_MD_NODISCARD
1441  static
1442  std::string
1443  toString(
1444  Enum);
1445 };
1446 
1447 /// Set of conditions describing an imbalance..
1449 {
1450 public:
1451  /// Aliases integral type whose bits
1452  /// are used to indicate flag presence.
1453  typedef UInt16 Bits;
1454 
1455  enum
1456  {
1457  Size = sizeof(Bits)
1458  };
1459 
1460 
1461  /// \private
1462  /// Init traits.
1463  struct MemberTraits
1464  {
1465  enum { Count = 1 };
1466 
1467  typedef Bits FirstArgType;
1468  };
1469 
1470  /// Indicates whether ImbalanceMoreBuyers bit is set.
1471  ONIXS_B3_UMDF_MD_NODISCARD
1472  bool imbalanceMoreBuyers() const
1474  {
1475  return 0 != (bits_ & 0x100);
1476  }
1477 
1478  /// Indicates whether ImbalanceMoreSellers bit is set.
1479  ONIXS_B3_UMDF_MD_NODISCARD
1482  {
1483  return 0 != (bits_ & 0x200);
1484  }
1485 
1486  /// \return elements as they packed in the set.
1487  Bits bits() const
1489  {
1490  return bits_;
1491  }
1492 
1493  /// Constructs from a value.
1494  explicit
1495  ImbalanceCondition(Bits bits = 0)
1497  : bits_(bits)
1498  {
1499  }
1500 
1501  /// \return a human-readable presentation.
1502  ONIXS_B3_UMDF_MD_NODISCARD
1503  std::string
1504  toString() const;
1505 
1506  /// Compares encoded data
1507  ONIXS_B3_UMDF_MD_NODISCARD
1508  bool
1510  const ImbalanceCondition& other) const
1512  {
1513  return !(*this == other);
1514  }
1515 
1516  /// Compares encoded data
1517  ONIXS_B3_UMDF_MD_NODISCARD
1518  bool
1520  const ImbalanceCondition& other) const
1522  {
1523  return this->bits_ == other.bits_;
1524  }
1525 
1526 private:
1527  Bits bits_;
1528 };
1529 
1530 /// Set of conditions describing a trade..
1532 {
1533 public:
1534  /// Aliases integral type whose bits
1535  /// are used to indicate flag presence.
1536  typedef UInt16 Bits;
1537 
1538  enum
1539  {
1540  Size = sizeof(Bits)
1541  };
1542 
1543 
1544  /// \private
1545  /// Init traits.
1546  struct MemberTraits
1547  {
1548  enum { Count = 1 };
1549 
1550  typedef Bits FirstArgType;
1551  };
1552 
1553  /// Indicates whether OpeningPrice bit is set.
1554  ONIXS_B3_UMDF_MD_NODISCARD
1555  bool openingPrice() const
1557  {
1558  return 0 != (bits_ & 0x1);
1559  }
1560 
1561  /// Indicates whether Crossed bit is set.
1562  ONIXS_B3_UMDF_MD_NODISCARD
1563  bool crossed() const
1565  {
1566  return 0 != (bits_ & 0x2);
1567  }
1568 
1569  /// Indicates whether LastTradeAtTheSamePrice bit is set.
1570  ONIXS_B3_UMDF_MD_NODISCARD
1573  {
1574  return 0 != (bits_ & 0x4);
1575  }
1576 
1577  /// Indicates whether OutOfSequence bit is set.
1578  ONIXS_B3_UMDF_MD_NODISCARD
1579  bool outOfSequence() const
1581  {
1582  return 0 != (bits_ & 0x8);
1583  }
1584 
1585  /// Indicates whether TradeOnBehalf bit is set.
1586  ONIXS_B3_UMDF_MD_NODISCARD
1587  bool tradeOnBehalf() const
1589  {
1590  return 0 != (bits_ & 0x40);
1591  }
1592 
1593  /// Indicates whether RegularTrade bit is set.
1594  ONIXS_B3_UMDF_MD_NODISCARD
1595  bool regularTrade() const
1597  {
1598  return 0 != (bits_ & 0x2000);
1599  }
1600 
1601  /// Indicates whether BlockTrade bit is set.
1602  ONIXS_B3_UMDF_MD_NODISCARD
1603  bool blockTrade() const
1605  {
1606  return 0 != (bits_ & 0x4000);
1607  }
1608 
1609  /// \return elements as they packed in the set.
1610  Bits bits() const
1612  {
1613  return bits_;
1614  }
1615 
1616  /// Constructs from a value.
1617  explicit
1618  TradeCondition(Bits bits = 0)
1620  : bits_(bits)
1621  {
1622  }
1623 
1624  /// \return a human-readable presentation.
1625  ONIXS_B3_UMDF_MD_NODISCARD
1626  std::string
1627  toString() const;
1628 
1629  /// Compares encoded data
1630  ONIXS_B3_UMDF_MD_NODISCARD
1631  bool
1633  const TradeCondition& other) const
1635  {
1636  return !(*this == other);
1637  }
1638 
1639  /// Compares encoded data
1640  ONIXS_B3_UMDF_MD_NODISCARD
1641  bool
1643  const TradeCondition& other) const
1645  {
1646  return this->bits_ == other.bits_;
1647  }
1648 
1649 private:
1650  Bits bits_;
1651 };
1652 
1653 /// Set of indicators for the end of updates for a given event. It also indicates if this message is a retransmission..
1655 {
1656 public:
1657  /// Aliases integral type whose bits
1658  /// are used to indicate flag presence.
1659  typedef UInt8 Bits;
1660 
1661  enum
1662  {
1663  Size = sizeof(Bits)
1664  };
1665 
1666 
1667  /// \private
1668  /// Init traits.
1669  struct MemberTraits
1670  {
1671  enum { Count = 1 };
1672 
1673  typedef Bits FirstArgType;
1674  };
1675 
1676  /// Indicates whether Implied bit is set.
1677  ONIXS_B3_UMDF_MD_NODISCARD
1678  bool implied() const
1680  {
1681  return 0 != (bits_ & 0x10);
1682  }
1683 
1684  /// Indicates whether RecoveryMsg bit is set.
1685  ONIXS_B3_UMDF_MD_NODISCARD
1686  bool recoveryMsg() const
1688  {
1689  return 0 != (bits_ & 0x20);
1690  }
1691 
1692  /// Indicates whether EndOfEvent bit is set.
1693  ONIXS_B3_UMDF_MD_NODISCARD
1694  bool endOfEvent() const
1696  {
1697  return 0 != (bits_ & 0x80);
1698  }
1699 
1700  /// \return elements as they packed in the set.
1701  Bits bits() const
1703  {
1704  return bits_;
1705  }
1706 
1707  /// Constructs from a value.
1708  explicit
1709  MatchEventIndicator(Bits bits = 0)
1711  : bits_(bits)
1712  {
1713  }
1714 
1715  /// \return a human-readable presentation.
1716  ONIXS_B3_UMDF_MD_NODISCARD
1717  std::string
1718  toString() const;
1719 
1720  /// Compares encoded data
1721  ONIXS_B3_UMDF_MD_NODISCARD
1722  bool
1724  const MatchEventIndicator& other) const
1726  {
1727  return !(*this == other);
1728  }
1729 
1730  /// Compares encoded data
1731  ONIXS_B3_UMDF_MD_NODISCARD
1732  bool
1734  const MatchEventIndicator& other) const
1736  {
1737  return this->bits_ == other.bits_;
1738  }
1739 
1740 private:
1741  Bits bits_;
1742 };
1743 
1744 
1745 /// Null value for an optional Int8 field.
1746 typedef
1747 IntegralConstant<Int8, -128>
1749 
1750 
1751 /// Null value for an optional Int16 field.
1752 typedef
1753 IntegralConstant<Int16, -32768>
1755 
1756 
1757 /// Null value for an optional Int32 field.
1758 typedef
1759 IntegralConstant<Int32, -2147483647-1>
1761 
1762 
1763 /// Null value for an optional Int64 field.
1764 typedef
1765 IntegralConstant<Int64, -9223372036854775807LL-1>
1767 
1768 
1769 /// Null value for an optional UInt8 field.
1770 typedef
1773 
1774 
1775 /// Null value for an optional UInt16 field.
1776 typedef
1779 
1780 
1781 /// Null value for an optional UInt32 field.
1782 typedef
1785 
1786 
1787 /// Null value for an optional UInt64 field.
1788 typedef
1791 
1792 
1793 /// Null value for an optional Int8NULL field.
1794 typedef
1797 
1798 
1799 /// Null value for an optional Int16NULL field.
1800 typedef
1803 
1804 
1805 /// Null value for an optional Int32NULL field.
1806 typedef
1809 
1810 
1811 /// Null value for an optional Int64NULL field.
1812 typedef
1815 
1816 
1817 /// Null value for an optional CharNULL field.
1818 typedef
1821 
1822 
1823 /// Null value for an optional UInt8NULL field.
1824 typedef
1827 
1828 
1829 /// Null value for an optional UInt16NULL field.
1830 typedef
1833 
1834 
1835 /// Null value for an optional UInt32NULL field.
1836 typedef
1839 
1840 
1841 /// Null value for an optional UInt64NULL field.
1842 typedef
1845 
1846 
1847 /// Null value for an optional NumberOfTrades field.
1848 typedef
1851 
1852 
1853 /// Null value for an optional Quantity field.
1854 typedef
1855 IntegralConstant<Int64, -9223372036854775807LL-1>
1857 
1858 
1859 /// Null value for an optional QuantityOptional field.
1860 typedef
1861 IntegralConstant<Int64, -9223372036854775807LL-1>
1863 
1864 
1865 /// Null value for an optional QuantityVolume field.
1866 typedef
1867 IntegralConstant<Int64, -9223372036854775807LL-1>
1869 
1870 
1871 /// Null value for an optional QuantityVolumeOptional field.
1872 typedef
1873 IntegralConstant<Int64, -9223372036854775807LL-1>
1875 
1876 
1877 /// Null value for an optional FirmOptional field.
1878 typedef
1881 
1882 
1883 /// Null value for an optional OrderID field.
1884 typedef
1887 
1888 
1889 /// Null value for an optional TradeID field.
1890 typedef
1893 
1894 
1895 /// Null value for an optional SeqNum field.
1896 typedef
1899 
1900 
1901 /// Null value for an optional SeqNum1 field.
1902 typedef
1905 
1906 
1907 /// Null value for an optional SecurityID field.
1908 typedef
1911 
1912 
1913 /// Null value for an optional SecurityIDOptional field.
1914 typedef
1917 
1918 
1919 /// Null value for an optional RptSeq field.
1920 typedef
1923 
1924 
1925 /// Null value for an optional ClearingHouseID field.
1926 typedef
1929 
1930 
1931 /// Null value for an optional NewsID field.
1932 typedef
1935 
1936 
1937 /// Null value for an optional SettlType field.
1938 typedef
1941 
1942 
1943 /// Null value for an optional LocalMktDate field.
1944 typedef
1947 
1948 
1949 /// Null value for an optional LocalMktDateOptional field.
1950 typedef
1953 
1954 
1955 /// Null value for an optional LocalMktDate32 field.
1956 typedef
1957 IntegralConstant<Int32, -2147483647-1>
1959 
1960 
1961 /// Null value for an optional LocalMktDate32Optional field.
1962 typedef
1965 
1966 
1967 /// Null value for an optional EntryPositionNo field.
1968 typedef
1971 
1972 
1973 /// Null value for an optional MarketSegmentID field.
1974 typedef
1977 
1978 
1979 
1980 /// Converts days since epoch to Timestamp value.
1981 inline
1982 ONIXS_B3_UMDF_MD_NODISCARD
1983 Timestamp
1985 {
1986  return Timestamp(TimeSpan(days, 0, 0, 0, 0).ticks());
1987 }
1988 
Indicates that an implied order can be created for the instrument.
Definition: Fields.h:1425
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:1946
ONIXS_B3_UMDF_MD_NODISCARD bool imbalanceMoreBuyers() const
Indicates whether ImbalanceMoreBuyers bit is set.
Definition: Fields.h:1472
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:1754
Code to represent the type of instrument attributes..
Definition: Fields.h:1297
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:1886
ONIXS_B3_UMDF_MD_NODISCARD bool imbalanceMoreSellers() const
Indicates whether ImbalanceMoreSellers bit is set.
Definition: Fields.h:1480
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:1748
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:1856
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:1694
IntegralConstant< UInt32, 4294967295 > NullSeqNum
Null value for an optional SeqNum field.
Definition: Fields.h:1898
ONIXS_B3_UMDF_MD_NODISCARD bool crossed() const
Indicates whether Crossed bit is set.
Definition: Fields.h:1563
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:1654
Set of conditions describing an imbalance..
Definition: Fields.h:1448
ONIXS_B3_UMDF_MD_NODISCARD bool operator==(const TradeCondition &other) const
Compares encoded data.
Definition: Fields.h:1642
ONIXS_B3_UMDF_MD_NODISCARD bool operator!=(const MatchEventIndicator &other) const
Compares encoded data.
Definition: Fields.h:1723
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:1952
ONIXS_B3_UMDF_MD_NODISCARD bool operator!=(const TradeCondition &other) const
Compares encoded data.
Definition: Fields.h:1632
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:1579
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:1964
IntegralConstant< UInt16, 0 > NullUInt16NULL
Null value for an optional UInt16NULL field.
Definition: Fields.h:1832
IntegralConstant< Int8, 0 > NullInt8NULL
Null value for an optional Int8NULL field.
Definition: Fields.h:1796
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:1555
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:1874
ONIXS_B3_UMDF_MD_NODISCARD bool operator!=(const ImbalanceCondition &other) const
Compares encoded data.
Definition: Fields.h:1509
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:1760
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:1531
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:1802
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
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:1778
IntegralConstant< UInt64, 0ULL > NullClearingHouseID
Null value for an optional ClearingHouseID field.
Definition: Fields.h:1928
#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:1519
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:1892
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:1984
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:1709
IntegralConstant< Int64, 0LL > NullInt64NULL
Null value for an optional Int64NULL field.
Definition: Fields.h:1814
IntegralConstant< Int64,-9223372036854775807LL-1 > NullQuantityVolume
Null value for an optional QuantityVolume field.
Definition: Fields.h:1868
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:1958
IntegralConstant< UInt64, 18446744073709551615ULL > NullUInt64
Null value for an optional UInt64 field.
Definition: Fields.h:1790
IntegralConstant< UInt16, 65535 > NullSettlType
Null value for an optional SettlType field.
Definition: Fields.h:1940
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
ONIXS_B3_UMDF_MD_NODISCARD bool implied() const
Indicates whether Implied bit is set.
Definition: Fields.h:1678
IntegralConstant< Int64,-9223372036854775807LL-1 > NullQuantityOptional
Null value for an optional QuantityOptional field.
Definition: Fields.h:1862
IntegralConstant< UInt32, 0 > NullRptSeq
Null value for an optional RptSeq field.
Definition: Fields.h:1922
IntegralConstant< UInt32, 4294967295 > NullUInt32
Null value for an optional UInt32 field.
Definition: Fields.h:1784
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:1495
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:1976
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:1686
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:1880
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:1910
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:1808
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:1826
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:1603
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:1916
TradeCondition(Bits bits=0)
Constructs from a value.
Definition: Fields.h:1618
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:1844
ONIXS_B3_UMDF_MD_NODISCARD bool regularTrade() const
Indicates whether RegularTrade bit is set.
Definition: Fields.h:1595
IntegralConstant< UInt64, 0ULL > NullNewsID
Null value for an optional NewsID field.
Definition: Fields.h:1934
IntegralConstant< UInt32, 4294967295 > NullNumberOfTrades
Null value for an optional NumberOfTrades field.
Definition: Fields.h:1850
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:1772
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:1587
Char SecurityExchange[4]
Security Exchange Code.
Definition: Fields.h:180
IntegralConstant< Char, 0 > NullCharNULL
Null value for an optional CharNULL field.
Definition: Fields.h:1820
#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:1571
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:1453
Int64 QuantityVolume
Volume Quantity.
Definition: Fields.h:122
UInt16 Bits
Aliases integral type whose bits are used to indicate flag presence.
Definition: Fields.h:1536
IntegralConstant< UInt32, 4294967295 > NullSeqNum1
Null value for an optional SeqNum1 field.
Definition: Fields.h:1904
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:1970
ONIXS_B3_UMDF_MD_NODISCARD bool operator==(const MatchEventIndicator &other) const
Compares encoded data.
Definition: Fields.h:1733
UInt8 Bits
Aliases integral type whose bits are used to indicate flag presence.
Definition: Fields.h:1659
IntegralConstant< UInt32, 0 > NullUInt32NULL
Null value for an optional UInt32NULL field.
Definition: Fields.h:1838
UInt16 LocalMktDateOptional
Optional local date (as opposed to UTC).
Definition: Fields.h:220
Enum
Indicates that an implied order can be created for the instrument.
Definition: Fields.h:1430
IntegralConstant< Int64,-9223372036854775807LL-1 > NullInt64
Null value for an optional Int64 field.
Definition: Fields.h:1766
Int32 LocalMktDate32
Local date (as opposed to UTC).
Definition: Fields.h:226
UInt8 MarketSegmentID
Identifies the market segment.
Definition: Fields.h:246
UInt16 UInt16NULL
2-byte unsigned integer, from 1 to 65535, NULL (optional) value = 0..
Definition: Fields.h:90