OnixS ICE iMpact Multicast Price Feed Handler C++ library  8.18.0
API documentation
Enumerations.h
Go to the documentation of this file.
1 /**
2  * \file
3  * \brief Declare ICE iMpact enumerations
4  */
5 /*
6  * Copyright (c) Onix Solutions Limited. All rights reserved.
7  *
8  * This software owned by Onix Solutions Limited and is protected by copyright law
9  * and international copyright treaties.
10  *
11  * Access to and use of the software is governed by the terms of the applicable ONIXS Software
12  * Services Agreement (the Agreement) and Customer end user license agreements granting
13  * a non-assignable, non-transferable and non-exclusive license to use the software
14  * for it's own data processing purposes under the terms defined in the Agreement.
15  *
16  * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
17  * of this source code or associated reference material to any other location for further reproduction
18  * or redistribution, and any amendments to this copyright notice, are expressly prohibited.
19  *
20  * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
21  * the terms of the Agreement is a violation of copyright law.
22  */
23 
24 #pragma once
25 
26 #include "Export.h"
27 #include "Types.h"
28 
29 #include <ostream>
30 #include <string>
31 
32 namespace OnixS { namespace ICE { namespace iMpact { namespace MarketData {
33 
34 /// Trading side constants.
35 struct ONIXS_ICEMDH_EXPORT Side
36 {
37  /// \copydoc Side
38  enum Enum
39  {
40  /// Undefined.
41  Undefined = ' ',
42  /// Bid side.
43  Bid = '1',
44  /// Offer side.
45  Offer = '2'
46  };
47 
48  /// Deserializes constant from string representation.
49  static Enum deserialize(const char*);
50 
51  /// Returns string representation.
52  static const char* toString(Enum);
53 };
54 
55 /// Aggressor side constants.
56 struct ONIXS_ICEMDH_EXPORT AggressorSide
57 {
58  /// \copydoc AggressorSide
59  enum Enum
60  {
61  /// No aggressor.
62  NoAggressor = ' ',
63  /// Buy side.
64  Buy = '1',
65  /// Sell side.
66  Sell = '2'
67  };
68 
69  /// Deserializes constant from string representation.
70  static Enum deserialize(const char*);
71 
72  /// Returns string representation.
73  static const char* toString(Enum);
74 };
75 
76 /// Security type constants.
77 struct ONIXS_ICEMDH_EXPORT SecurityType
78 {
79  /// \copydoc SecurityType
80  enum Enum
81  {
82  /// Undefined.
83  Undefined = ' ',
84  /// Futures/OTC.
85  Futures = 'F',
86  /// Options.
87  Options = 'O',
88  /// UDS Options markets.
89  UdsOptionsMarkets = 'U',
90  /// UDS Futures markets.
91  UdsFuturesMarkets = 'D'
92  };
93 
94  /// Deserializes constant from string representation.
95  static Enum deserialize(const char*);
96 
97  /// Returns string representation.
98  static const char* toString(Enum);
99 };
100 
101 /// Depth of order book constants.
102 struct ONIXS_ICEMDH_EXPORT BookDepth
103 {
104  /// \copydoc BookDepth
105  enum Enum
106  {
107  /// Full Order Depth.
108  FOD = 0,
109  /// Top 5 Price Level.
110  TOP5PL = 1,
111  /// Top 10 Price Level.
112  TOP10PL = 2,
113  /// Top Of Book (Options Only).
114  TOB = 3
115  };
116 
117  /// Deserializes constant from string representation.
118  static Enum deserialize(const char*);
119 
120  /// Returns string representation.
121  static const char* toString(Enum);
122 };
123 
124 /// Market sub-type constants.
125 struct ONIXS_ICEMDH_EXPORT MarketSubType
126 {
127  /// \copydoc MarketSubType
128  enum Enum
129  {
130  /// The enhanced implication technology is disabled.
131  NonImplied = 0,
132  /// The enhanced implication technology is activated.
133  FullImplied = 1
134  };
135 
136  /// Deserializes constant from string representation.
137  static Enum deserialize(const char*);
138 
139  /// Returns string representation.
140  static const char* toString(Enum);
141 };
142 
143 /// Settlement type constants.
144 struct ONIXS_ICEMDH_EXPORT SettlementType
145 {
146  /// \copydoc SettlementType
147  enum Enum
148  {
149  /// Undefined.
150  Undefined = ' ',
151  /// Financial.
152  Financial = '0',
153  /// Physical.
154  Physical = '1'
155  };
156 
157  /// Deserializes constant from string representation.
158  static Enum deserialize(const char*);
159 
160  /// Returns string representation.
161  static const char* toString(Enum);
162 };
163 
164 /// Option type constants.
165 struct ONIXS_ICEMDH_EXPORT OptionType
166 {
167  /// \copydoc OptionType
168  enum Enum
169  {
170  /// Undefined.
171  Undefined = ' ',
172  /// Call.
173  Call = 'C',
174  /// Put.
175  Put = 'P'
176  };
177 
178  /// Deserializes constant from string representation.
179  static Enum deserialize(const char*);
180 
181  /// Returns string representation.
182  static const char* toString(Enum);
183 };
184 
185 /// Option settlement type constants.
186 struct ONIXS_ICEMDH_EXPORT OptionsStyle
187 {
188  /// \copydoc OptionsStyle
189  enum Enum
190  {
191  /// Undefined.
192  Undefined = ' ',
193  /// American.
194  American = 'A',
195  /// European.
196  European = 'E',
197  /// None.
198  None = '0',
199  /// Asian.
200  Asian = '3',
201  /// One time.
202  OneTime = '4'
203  };
204 
205  /// Deserializes constant from string representation.
206  static Enum deserialize(const char*);
207 
208  /// Returns string representation.
209  static const char* toString(Enum);
210 };
211 
212 /// Option expiration type constants.
213 struct ONIXS_ICEMDH_EXPORT OptionsExpirationType
214 {
215  /// \copydoc OptionsExpirationType
216  enum Enum
217  {
218  /// Undefined.
219  Undefined = ' ',
220  /// Monthly.
221  Monthly = 'M',
222  /// Daily.
223  Daily = 'D'
224  };
225 
226  /// Deserializes constant from string representation.
227  static Enum deserialize(const char*);
228 
229  /// Returns string representation.
230  static const char* toString(Enum);
231 };
232 
233 /// Defines known trade investigation statuses.
234 struct ONIXS_ICEMDH_EXPORT TradeInvestigationStatus
235 {
236  /// \copydoc TradeInvestigationStatus
237  enum Enum
238  {
239  /// Investigation status is not defined yet.
240  Undefined = ' ',
241  /// Trade is under investigation.
242  UnderInvestigation = '1',
243  /// Trade investigation is completed.
244  InvestigationCompleted = '2'
245  };
246 
247  /// Deserializes constant from string representation.
248  static Enum deserialize(const char*);
249 
250  /// Returns string representation.
251  static const char* toString(Enum);
252 };
253 
254 /// Known types of block trade.
255 struct ONIXS_ICEMDH_EXPORT OffMarketTradeType
256 {
257  /// \copydoc OffMarketTradeType
258  enum Enum
259  {
260  /// Regular trade is an order book trade. When someone sends a buy order
261  /// and a sell order with a matching price, that is a regular trade.
262  Regular = ' ',
263  /// ICE EFRP.
264  IceEfrp = '2',
265  /// ICE BLK.
266  IceBlk = '3',
267  /// Basis Trade.
268  Basis = '4',
269  /// Guaranteed Cross.
270  GuaranteedCross = '5',
271  /// Volatility Contingent Trade.
272  VolatilityContingent = '6',
273  /// Stock Contingent Trade.
274  StockContingent = '7',
275  /// CCX EFP Trade.
276  CxcEfp = '9',
277  /// Other Clearing Venue.
278  OtherClearingVenue = 'A',
279  /// N2EX Trade.
280  N2ex = 'D',
281  /// EFP Trade.
282  Efp = 'E',
283  /// EEX Trade.
284  Eex = 'G',
285  /// EFP/EFS Contra Trade.
286  EfpEfsContra = 'F',
287  /// EFM Trade.
288  Efm = 'I',
289  /// EFR Trade.
290  Efr = 'J',
291  /// Block Trade.
292  Block = 'K',
293  /// NG EFP/EFS Trade.
294  NgEfpEfs = 'O',
295  /// EOO Trade (for US Futures Options only).
296  Eoo = 'Q',
297  /// EFS Trade.
298  Efs = 'S',
299  /// Contra Trade.
300  Contra = 'T',
301  /// CPBLK Trade.
302  Cpblk = 'U',
303  /// Bilateral Off-Exchange Trade.
304  BilateralOffExchange = 'V',
305  /// Bilateral Cross Contra Trade.
306  BilateralCrossContra = 'Y',
307  /// Asset Allocation.
308  AssetAllocation = 16705,
309  /// Trade at Market (TAM/SBK).
310  TradeAtMarket = 21314
311  };
312 
313  /// Deserializes constant from string representation.
314  static Enum deserialize(const char*);
315 
316  /// Returns string representation.
317  static const char* toString(Enum);
318 };
319 
320 /// Extra flags for trade message.
321 struct ONIXS_ICEMDH_EXPORT TradeExtraFlags
322 {
323  /// \copydoc TradeExtraFlags
324  enum Enum
325  {
326  /// No special flags.
327  None = 0,
328  /// Indicates this is a RFC Crossing Deal.
329  isRfcCrossing = 1,
330  /// Indicates the deal is outside of IPL (when IPL is enabled) if set to
331  /// 1. When set to 1, such deal should not be included in market stats.
332  /// This could only happen in leg markets due to implied orders.
333  isLegDealOutsideIPL = 2,
334  /// This trade has no outright originator order in the same market. The
335  /// originator side is either implied or from a different market. This
336  /// field should not be used to determine how market statistics are
337  /// calculated.
338  hasNoDirectOutrightOriginator = 4,
339  /// Indicates if the trade is a system priced leg from a composite
340  /// strategy.
341  isVerticalSplit = 8,
342  /// Indicates that this trade has no outright taker order in the same
343  /// market. The taker side is either implied or from a different market.
344  hasNoDirectOutrightTaker = 16,
345  /// Indicates that this future trade is part of an option strategy
346  /// (hedged).
347  isOptionStrategyHedge = 32
348  };
349 
350  /// Deserializes constant from string representation.
351  static Enum deserialize(const char*);
352 
353  /// Returns string representation.
354  static const char* toString(Enum);
355 };
356 
357 /// Extra flags for Add/Modify Order message.
358 struct ONIXS_ICEMDH_EXPORT AddModifyOrderExtraFlags
359 {
360  /// \copydoc AddModifyOrderExtraFlags
361  enum Enum
362  {
363  /// No special flags.
364  None = 0,
365  /// Indicate this is to Modify existing order.
366  isModifyOrder = 1
367  };
368 
369  /// Deserializes constant from string representation.
370  static Enum deserialize(const char*);
371 
372  /// Returns string representation.
373  static const char* toString(Enum);
374 };
375 
376 /// Known trading statuses.
377 struct ONIXS_ICEMDH_EXPORT TradingStatus
378 {
379  /// \copydoc TradingStatus
380  enum Enum
381  {
382  /// Trading status is not defined.
383  Undefined = ' ',
384  /// Trading is open.
385  Open = 'O',
386  /// Trading is closed.
387  Close = 'C',
388  /// Trading is expired (only used for product/market definition messages).
389  Expired = 'E',
390  /// Trading is about to be opened.
391  PreOpen = '1',
392  /// Trading is about to be closed.
393  PreClose = '2',
394  /// Trading is suspended.
395  Suspended = 'S'
396  };
397 
398  /// Deserializes constant from string representation.
399  static Enum deserialize(const char*);
400 
401  /// Returns string representation.
402  static const char* toString(Enum);
403 };
404 
405 /// Known market event types.
406 struct ONIXS_ICEMDH_EXPORT MarketEventType
407 {
408  /// \copydoc MarketEventType
409  enum Enum
410  {
411  /// Market event type is not defined.
412  Undefined = ' ',
413  /// Implication Disabled for the Market.
414  ImplicationDisabled = 'A',
415  /// TRF Market Update.
416  TRFMarketUpdate = 'B',
417  /// TPL Hold Exit.
418  TPLHoldExit = 'C'
419  };
420 
421  /// Deserializes constant from string representation.
422  static Enum deserialize(const char*);
423 
424  /// Returns string representation.
425  static const char* toString(Enum);
426 };
427 
428 /// Known marker index prices statuses.
429 struct ONIXS_ICEMDH_EXPORT MarkerIndexPricesStatus
430 {
431  /// \copydoc MarkerIndexPricesStatus
432  enum Enum
433  {
434  /// For non-Endex Spot markets.
435  Undefined = ' ',
436  /// Current.
437  Current = 'C',
438  /// Default.
439  Default = 'D',
440  /// Final.
441  Final = 'F'
442  };
443 
444  /// Deserializes constant from string representation.
445  static Enum deserialize(const char*);
446 
447  /// Returns string representation.
448  static const char* toString(Enum);
449 };
450 
451 /// Known message bundle markers.
452 struct ONIXS_ICEMDH_EXPORT StartOrEnd
453 {
454  /// \copydoc StartOrEnd
455  enum Enum
456  {
457  /// Undefined.
458  Undefined = ' ',
459  /// Start of a message bundle.
460  Start = 'S',
461  /// End of a message bundle.
462  End = 'E'
463  };
464 
465  /// Deserializes constant from string representation.
466  static Enum deserialize(const char*);
467 
468  /// Returns string representation.
469  static const char* toString(Enum);
470 };
471 
472 /// Known event codes.
473 struct ONIXS_ICEMDH_EXPORT EventCode
474 {
475  /// \copydoc EventCode
476  enum Enum
477  {
478  /// Undefined.
479  Undefined = ' ',
480  /// Normal trade.
481  NormalTrade = '0',
482  /// Cancelled trade.
484  /// Adjusted trade.
485  AdjustedTrade = '2'
486  };
487 
488  /// Deserializes constant from string representation.
489  static Enum deserialize(const char*);
490 
491  /// Returns string representation.
492  static const char* toString(Enum);
493 };
494 
495 /// Known IPL bound violation types.
496 struct ONIXS_ICEMDH_EXPORT IPLBoundViolation
497 {
498  /// \copydoc IPLBoundViolation
499  enum Enum
500  {
501  /// N/A when end of hold.
502  Undefined = ' ',
503  /// IPL Upper bound violation (Bidding too high).
504  BiddingTooHigh = 'Y',
505  /// IPL Lower bound violation (Asking too low).
506  AskingTooLow = 'N'
507  };
508 
509  /// Deserializes constant from string representation.
510  static Enum deserialize(const char*);
511 
512  /// Returns string representation.
513  static const char* toString(Enum);
514 };
515 
516 /// Known types of system priced legs.
517 struct ONIXS_ICEMDH_EXPORT SystemPricedLegType
518 {
519  /// \copydoc SystemPricedLegType
520  enum Enum
521  {
522  /// Undefined type.
523  Undefined = ' ',
524  /// Identifies system priced crack spread leg.
525  SpreadLeg = 'C',
526  /// Identifies system priced leg.
527  Leg = 'S'
528  };
529 
530  /// Deserializes constant from string representation.
531  static Enum deserialize(const char*);
532 
533  /// Returns string representation.
534  static const char* toString(Enum);
535 };
536 
537 /// Known security sub types.
538 struct ONIXS_ICEMDH_EXPORT SecuritySubType
539 {
540  /// \copydoc SecuritySubType
541  enum Enum
542  {
543  /// None.
544  NONE = 0,
545  /// Call.
546  CALL = 1,
547  /// Put.
548  PUT = 2,
549  /// Futures Butterfly.
550  FFLY = 3,
551  /// Call Butterfly.
552  CALLFLY = 4,
553  /// Put Butterfly.
554  PUTFLY = 5,
555  /// Call Spread.
556  CALLSPR = 6,
557  /// Put Spread.
558  PUTSPR = 7,
559  /// Diagonal Call Spread.
560  CALLDIAGSP = 9,
561  /// Diagonal Put Spread.
562  PUTDIAGSP = 10,
563  /// Gut Strangle.
564  GUT = 11,
565  /// 1x2 Call Spread (to the 2).
566  RATIOCSPR = 12,
567  /// 1x2 Put Spread (to the 2).
568  RATIOPSPR = 13,
569  /// Iron Butterfly.
570  IFLY = 14,
571  /// Cleared Combo.
572  COMBO = 15,
573  /// Strangle.
574  STRANGLE = 16,
575  /// Call Ladder (tree).
576  CALLLADR = 17,
577  /// Put Ladder (tree).
578  PUTLADR = 18,
579  /// Straddle Spread.
580  CALSTRD = 19,
581  /// Reversal/Conversion (to the Call).
582  REVCON = 21,
583  /// Straddle.
584  STRADDLE = 22,
585  /// Futures Condor.
586  FCONDR = 23,
587  /// Call Condor.
588  CALLCONDR = 24,
589  /// Put Condor.
590  PUTCONDR = 25,
591  /// Box.
592  BOX = 26,
593  /// Synthetic Underlying.
594  SYN = 33,
595  /// Call Spread vs Put : 3 way.
596  CALLSPRP = 34,
597  /// Put Spread vs Call : 3 way.
598  PUTSPRC = 35,
599  /// Straddle vs Call : 3 way.
600  CALL3WAY = 36,
601  /// Straddle vs Put : 3 way.
602  PUT3WAY = 37,
603  /// Call Calendar Spread.
604  CALLCALSPR = 38,
605  /// Put Calendar Spread.
606  PUTCALSPR = 39,
607  /// Iron Condor.
608  ICONDR = 40,
609  /// Jelly Roll.
610  JROLL = 41,
611  /// Hedged 1x2 Call Spread (to the 2).
612  RATIOCSPRX = 42,
613  /// Hedged 1x2 Put Spread (to the 2).
614  RATIOPSPRX = 43,
615  /// Call Spread versus Sell Put - Hedge.
616  SPRVSPX = 44,
617  /// Put Spread versus Sell Call + Hedge.
618  SPRVSCX = 45,
619  /// Hedged Call Calendar.
620  CALLCALX = 46,
621  /// Hedged Put Calendar.
622  PUTCALX = 47,
623  /// Hedged Call Ladder (tree).
624  CALLLADRX = 48,
625  /// Hedged Put Ladder (tree).
626  PUTLADRX = 49,
627  /// Hedged Call Spread.
628  CALLSPRX = 50,
629  /// Hedged Put Spread.
630  PUTSPRX = 51,
631  /// Hedged Straddle.
632  STRDX = 53,
633  /// Hedged Strangle.
634  STRGX = 54,
635  /// Hedged Call.
636  CALLX = 55,
637  /// Hedged Put.
638  PUTX = 56,
639  /// Custom.
640  CUST = 58,
641  /// Hedged Straddle Spread.
642  CALSTRDX = 59,
643  /// Hedged Call Condor.
644  CCONDRX = 60,
645  /// Hedged Put Condor.
646  PCONDRX = 61,
647  /// Hedged Diagonal Call Spread.
648  CDIAGX = 63,
649  /// Hedged Diagonal Put Spread.
650  PDIAGX = 64,
651  /// Hedged Call Butterfly.
652  CFLYX = 65,
653  /// Hedged Put Butterfly.
654  PFLYX = 66,
655  /// Hedged Guts Strangle.
656  GUTX = 67,
657  /// Hedged Iron Condor.
658  ICONDRX = 68,
659  /// Hedged Iron Butterfly.
660  IFLYX = 69,
661  /// Fence (to the call).
662  FENCECALL = 70,
663  /// Fence (to the put).
664  FENCEPUT = 71,
665  /// Hedged Fence (to the call).
666  FENCECALLX = 72,
667  /// Hedged Fence (to the put).
668  FENCEPUTX = 73,
669  /// 1x2 Call Spread (to the 1).
670  RATIOCSPR1 = 74,
671  /// 1x2 Put Spread (to the 1).
672  RATIOPSPR1 = 75,
673  /// Hedged 1x2 Call Spread (to the 1).
674  RATIOCSPR1X = 76,
675  /// Hedged 1x2 Put Spread (to the 1).
676  RATIOPSPR1X = 77,
677  /// Ratio.
678  RATIOSTRATEGY = 84,
679  /// Ratio Location.
680  RATIOLOCSTRATEGY = 85,
681  /// Inter-Exchange Location Strategy.
682  INTEREXLOCSTRATEGY = 86,
683  /// Discount Spreads.
684  DISCSPR = 88,
685  /// Location Spreads.
686  LOCSPR = 89,
687  /// Platts Diff Spread.
688  PLATDIFSPR = 90,
689  /// Platts Spread.
690  PLATTSPR = 91,
691  /// OTC Gas Oil Crack.
692  OILCRACK = 92,
693  /// Balmo over Month.
694  BALMOSPR = 93,
695  /// Ratio Spread.
696  RATIOSPR = 94,
697  /// Volumetric Spread.
698  VOLSPR = 95,
699  /// Heat Rate.
700  HEATRATE = 96,
701  /// CRACK Spread.
702  CRACK = 97,
703  /// Combo Spread.
704  COMBOSPR = 98,
705  /// Spread S.
706  SPR = 99,
707  /// Pack(no color).
708  PACK = 100,
709  /// Pack (White).
710  WHTPACK = 101,
711  /// Pack (Red).
712  REDPACK = 102,
713  /// Pack (Green).
714  GRNPACK = 103,
715  /// Pack (Blue).
716  BLUPACK = 104,
717  /// Pack (Gold).
718  GLDPACK = 105,
719  /// Pack (Purple).
720  PURPACK = 106,
721  /// Pack (Orange).
722  ORNPACK = 107,
723  /// Pack (Pink).
724  PNKPACK = 108,
725  /// Pack (Silver).
726  SILPACK = 109,
727  /// Pack (Copper).
728  COPPACK = 110,
729  /// Call Location Spread.
730  CALLLOCSPR = 138,
731  /// Put Location Spread.
732  PUTLOCSPR = 139,
733  /// Hedged Call Location Spread.
734  CALLLOCSPRX = 140,
735  /// Hedged Put Location Spread.
736  PUTLOCSPRX = 141,
737  /// Futures Box.
738  FUTBOX = 142,
739  /// Bundle (no color).
740  BNDL = 200,
741  /// Bundle (2yr).
742  BNDLY2 = 201,
743  /// Bundle (3yr).
744  BNDLY3 = 202,
745  /// Bundle (4yr).
746  BNDLY4 = 203,
747  /// Bundle (5yr).
748  BNDLY5 = 204,
749  /// Bundle (6yr).
750  BNDLY6 = 205,
751  /// Bundle (7yr).
752  BNDLY7 = 206,
753  /// Bundle (8yr).
754  BNDLY8 = 207,
755  /// Bundle (9yr).
756  BNDLY9 = 208,
757  /// Bundle (10yr).
758  BNDLY10 = 209,
759  /// Location basket - month.
760  LOCBMONTH = 300,
761  /// Location basket - quarter.
762  LOCBQUARTER = 301,
763  /// Location basket - period.
764  LOCBPERIOD = 302,
765  /// Location basket - year.
766  LOCBYEAR = 303,
767  /// Balmo.
768  BALMO = 400,
769  /// Next Day.
770  NEXTDAY = 410,
771  /// CFD.
772  CFD = 411,
773  /// Weekend.
774  WKND = 412,
775  /// Single Day.
776  SINGLEDAY = 413,
777  /// Custom Daily.
778  CUSTDAILY = 414,
779  /// Hourly.
780  HOURLY = 415,
781  /// Month.
782  MONTH = 416,
783  /// Balweek.
784  BALWK = 450,
785  /// Basket.
786  KYOTO = 500,
787  /// Custom Monthly.
788  CUSTMONTHLY = 550,
789  /// NextWeek.
790  NEXTWK = 600,
791  /// Period.
792  PERIOD = 700,
793  /// Custom Daily CFD.
794  CUSTDAILYCFD = 711,
795  /// Custom Daily 7X8.
796  CUSTDAILY7X8 = 712,
797  /// Custom Daily 7X16.
798  CUSTDAILY7X16 = 713,
799  /// Custom Daily Off-Peak X16.
800  CUSTDAILYOPX16 = 715,
801  /// Quarter.
802  QTR = 800,
803  /// Year.
804  YEAR = 900
805  };
806 
807  /// Deserializes constant from string representation.
808  static Enum deserialize(const char*);
809 
810  /// Returns string representation.
811  static const char* toString(Enum);
812 };
813 
814 /// Login result code.
815 struct ONIXS_ICEMDH_EXPORT LoginResult
816 {
817  /// \copydoc LoginResult
818  enum Enum
819  {
820  /// Success.
821  Success = '0',
822  /// Invalid Login.
823  InvalidLogin = '1',
824  /// Password Expired.
825  PasswordExpired = '3',
826  /// Other.
827  Other = 'X'
828  };
829 
830  /// Deserializes constant from string representation.
831  static Enum deserialize(const char*);
832 
833  /// Returns string representation.
834  static const char* toString(Enum);
835 };
836 
837 /// Exchange silo code for the market.
838 struct ONIXS_ICEMDH_EXPORT ExchangeSilo
839 {
840  /// \copydoc ExchangeSilo
841  enum Enum
842  {
843  /// Undefined.
844  Undefined = ' ',
845  /// ICE.
846  ICE = '0',
847  /// Endex.
848  Endex = '1',
849  /// Liffe.
850  LIFFE = '2'
851  };
852 
853  /// Deserializes constant from string representation.
854  static Enum deserialize(const char*);
855 
856  /// Returns string representation.
857  static const char* toString(Enum);
858 };
859 
860 /// Indicates Strategy Publication Preference.
861 struct ONIXS_ICEMDH_EXPORT StrategyPreference
862 {
863  /// \copydoc StrategyPreference
864  enum Enum
865  {
866  /// Legacy Strategy Information (Default if not sent).
867  Legacy = '0',
868  /// New Strategy Information.
869  New = '1'
870  };
871 
872  /// Deserializes constant from string representation.
873  static Enum deserialize(const char*);
874 
875  /// Returns string representation.
876  static const char* toString(Enum);
877 };
878 
879 /// Fixing Transition Status.
880 struct ONIXS_ICEMDH_EXPORT FixingTransitionStatus
881 {
882  /// \copydoc FixingTransitionStatus
883  enum Enum
884  {
885  /// Undefined.
886  Undefined = ' ',
887  /// Closed.
888  Closed = 'C',
889  /// Preopen.
890  Preopen = 'P',
891  /// Lockdown.
892  Lockdown = 'L'
893  };
894 
895  /// Deserializes constant from string representation.
896  static Enum deserialize(const char*);
897 
898  /// Returns string representation.
899  static const char* toString(Enum);
900 };
901 
902 /// Block Type.
903 struct ONIXS_ICEMDH_EXPORT BlockType
904 {
905  /// \copydoc BlockType
906  enum Enum
907  {
908  /// Undefined.
909  Undefined = ' ',
910  /// Regular.
911  Regular = '0',
912  /// Private and Confidential.
913  PrivateAndConfidential = '1',
914  /// Delayed Publication.
915  DelayedPublication = '2',
916  /// Large In Scale (LIS).
917  LargeInScale = '3'
918  };
919 
920  /// Deserializes constant from string representation.
921  static Enum deserialize(const char*);
922 
923  /// Returns string representation.
924  static const char* toString(Enum);
925 };
926 
927 /// Market Transparency Type.
928 struct ONIXS_ICEMDH_EXPORT MarketTransparencyType
929 {
930  /// \copydoc MarketTransparencyType
931  enum Enum
932  {
933  /// ICE market.
934  ICE = 0,
935  /// Platts market.
936  Platts = 1
937  };
938 
939  /// Deserializes constant from string representation.
940  static Enum deserialize(const char*);
941 
942  /// Returns string representation.
943  static const char* toString(Enum);
944 };
945 
946 /// Multicast Channel Group Type.
947 struct ONIXS_ICEMDH_EXPORT MulticastChannelGroupType
948 {
949  /// \copydoc MulticastChannelGroupType
950  enum Enum
951  {
952  /// Futures Regular.
953  FuturesRegular = '1',
954  /// Futures Full Implied.
955  FuturesFullImplied = '2',
956  /// Options TOB.
957  OptionsTOB = '3',
958  /// Options Top10PL.
959  OptionsTop10PL = '4'
960  };
961 
962  /// Deserializes constant from string representation.
963  static Enum deserialize(const char*);
964 
965  /// Returns string representation.
966  static const char* toString(Enum);
967 };
968 
969 /// IPL Hold Type.
970 struct ONIXS_ICEMDH_EXPORT IplTplHoldType
971 {
972  /// \copydoc IplTplHoldType
973  enum Enum
974  {
975  /// Undefined.
976  Undefined = ' ',
977  /// IPL/TPL Hold Start.
978  Start = 'S',
979  /// IPL/TPL Hold End.
980  End = 'E'
981  };
982 
983  /// Deserializes constant from string representation.
984  static Enum deserialize(const char*);
985 
986  /// Returns string representation.
987  static const char* toString(Enum);
988 };
989 
990 /// IPL/TPL Type.
991 struct ONIXS_ICEMDH_EXPORT IplTplType
992 {
993  /// \copydoc IplTplType
994  enum Enum
995  {
996  /// Undefined.
997  Undefined = ' ',
998  /// IPL.
999  IPL = 'I',
1000  /// TPL.
1001  TPL = 'T'
1002  };
1003 
1004  /// Deserializes constant from string representation.
1005  static Enum deserialize(const char*);
1006 
1007  /// Returns string representation.
1008  static const char* toString(Enum);
1009 };
1010 
1011 /// Known market types.
1012 struct ONIXS_ICEMDH_EXPORT KnownMarketTypes
1013 {
1014  /// \copydoc KnownMarketTypes
1015  enum Enum
1016  {
1017  /// Financial Gas.
1018  FinancialGas = 0,
1019  /// Financial Power.
1020  FinancialPower = 1,
1021  /// Oil.
1022  Oil = 2,
1023  /// IPE Natural Gas Futures.
1024  IpeNaturalGasFutures = 3,
1025  /// IPE Gas Oil Futures.
1026  IpeGasOilFutures = 4,
1027  /// IPE Brent Futures.
1028  IpeBrentFutures = 5,
1029  /// IPE UK Electricity Futures Peak.
1030  IpeUkElectricityFuturesPeak = 7,
1031  /// IPE UK Electricity Futures Base.
1032  IpeUkElectricityFuturesBase = 8,
1033  /// ICE WTI Crude Futures.
1034  IceWtiCrudeFutures = 9,
1035  /// gC Newcastle Coal Futures.
1036  GcNewcastleCoalFutures = 10,
1037  /// ICE Brent-WTI Futures Spread.
1038  IceBrentWtiFuturesSpread = 11,
1039  /// ICE Heating Oil Futures.
1040  IceHeatingOilFutures = 13,
1041  /// ICE Heating Oil/WTI Futures Crack.
1042  IceHeatingOilWtiFuturesCrack = 14,
1043  /// ICE NYH (RBOB) Gasoline Futures.
1044  IceNyhRbobGasolineFutures = 15,
1045  /// ICE NYH (RBOB) Gasoline/WTI Futures Crack.
1046  IceNyhRbobGasolineWtiFuturesCrack = 16,
1047  /// ICE Rotterdam Coal Futures.
1048  IceRotterdamCoalFutures = 17,
1049  /// ICE Richards Bay Coal Futures.
1050  IceRichardsBayCoalFutures = 18,
1051  /// ICE Rotterdam/Richards Bay Coal Futures Spread.
1052  IceRotterdamRichardsBayCoalFuturesSpread = 19,
1053  /// Cocoa.
1054  Cocoa = 20,
1055  /// Coffee C.
1056  CoffeeC = 21,
1057  /// Cotton No 2.
1058  CottonNo2 = 22,
1059  /// FCOJ A.
1060  FcojA = 23,
1061  /// Sugar No 11.
1062  SugarNo11 = 24,
1063  /// US Dollar Index.
1064  UsDollarIndex = 26,
1065  /// Canadian Oilseeds.
1066  CanadianOilseeds = 36,
1067  /// Foreign Exchange.
1068  ForeignExchange = 39,
1069  /// Financial Index Data.
1070  FinancialIndexData = 40,
1071  /// Sugar No 16.
1072  SugarNo16 = 41,
1073  /// Henry Hub.
1074  HenryHub = 44,
1075  /// Dutch TTF Gas Futures.
1076  DutchTtfGasFutures = 48,
1077  /// German Natural Gas Futures.
1078  GermanNaturalGasFutures = 50,
1079  /// European Gas Spreads.
1080  EuropeanGasSpreads = 51,
1081  /// Heating Oil/Brent Futures Crack.
1082  HeatingOilBrentFuturesCrack = 58,
1083  /// NYH (RBOB) Gasoline/Brent Futures Crack.
1084  NyhRbobGasolineBrentFuturesCrack = 59,
1085  /// Wet Freight.
1086  WetFreight = 60,
1087  /// Dry Freight.
1088  DryFreight = 61,
1089  /// NYH (RBOB) Gasoline/Heating Oil Spread.
1090  NyhRbobGasolineHeatingOilSpread = 66,
1091  /// Physical Environmental.
1092  PhysicalEnvironmental = 69,
1093  /// Heating Oil/LS Gasoil Futures Spread.
1094  HeatingOilLsGasoilFuturesSpread = 70,
1095  /// LS Gasoil/Brent Futures Crack.
1096  LsGasoilBrentFuturesCrack = 71,
1097  /// NYH (RBOB) Gasoline/LS Gasoil Futures Spread.
1098  NyhRbobGasolineLsGasoilFuturesSpread = 72,
1099  /// Financial LNG.
1100  FinancialLng = 93,
1101  /// Belgian Power Futures.
1102  BelgianPowerFutures = 98,
1103  /// Dutch Power Futures.
1104  DutchPowerFutures = 99,
1105  /// gC Newcastle/FOB Indo sub-bit Coal Futures.
1106  GcNewcastleFobIndoSubBitCoalFutures = 100,
1107  /// Richards Bay/gC Newcastle Coal Futures Spread.
1108  RichardsBayGcNewcastleCoalFuturesSpread = 101,
1109  /// FCOJ A Mini.
1110  FcojAMini = 102,
1111  /// European Power Spreads.
1112  EuropeanPowerSpreads = 111,
1113  /// Dutch TTF Gas Spot.
1114  DutchTtfGasSpot = 114,
1115  /// UK OCM Gas Spot.
1116  UkOcmGasSpot = 118,
1117  /// Financial Olefins.
1118  FinancialOlefins = 124,
1119  /// Financial Monomers.
1120  FinancialMonomers = 125,
1121  /// Endex Spot Market Indices.
1122  EndexSpotMarketIndices = 127,
1123  /// Interest Rate Futures.
1124  InterestRateFutures = 131,
1125  /// Singapore Energy.
1126  SingaporeEnergy = 133,
1127  /// Singapore Financials.
1128  SingaporeFinancials = 134,
1129  /// Italian Natural Gas Futures.
1130  ItalianNaturalGasFutures = 136,
1131  /// Gold Fixing.
1132  GoldFixing = 140,
1133  /// EU Financial Power Spreads.
1134  EuFinancialPowerSpreads = 142,
1135  /// EU Financial Power Futures.
1136  EuFinancialPowerFutures = 143,
1137  /// European Gas Futures.
1138  EuropeanGasFutures = 146,
1139  /// Silver Fixing.
1140  SilverFixing = 147,
1141  /// UK Spark Spread.
1142  UkSparkSpread = 149,
1143  /// Daily Metals.
1144  DailyMetals = 154,
1145  /// Financial US LNG.
1146  FinancialUsLng = 157,
1147  /// ICE Rotterdam/Newcastle Coal Futures Spread.
1148  IceRotterdamNewcastleCoalFuturesSpread = 160,
1149  /// Oil Americas.
1150  OilAmericas = 165,
1151  /// Permian WTI Futures.
1152  PermianWtiFutures = 168,
1153  /// Endex Equity Indices.
1154  EndexEquityIndices = 170,
1155  /// Endex Single Stock Options.
1156  EndexSingleStockOptions = 171,
1157  /// IFUS ICE Indices.
1158  IfusIceIndices = 172,
1159  /// SOFR Futures.
1160  SofrFutures = 177,
1161  /// Permian/Brent Futures Spread.
1162  PermianBrentFuturesSpread = 179,
1163  /// Permian/WTI Futures Spread.
1164  PermianWtiFuturesSpread = 180,
1165  /// Dubai Crude Futures.
1166  DubaiCrudeFutures = 184,
1167  /// LS Gasoil/Permian WTI Futures Crack.
1168  LsGasoilPermianWtiFuturesCrack = 188,
1169  /// Heating Oil/Permian WTI Futures Crack.
1170  HeatingOilPermianWtiFuturesCrack = 189,
1171  /// NYH (RBOB) Gasoline/Permian WTI Futures Crack.
1172  NyhRbobGasolinePermianWtiFuturesCrack = 190,
1173  /// LNG Freight.
1174  LngFreight = 193,
1175  /// Murban Crude.
1176  MurbanCrude = 194,
1177  /// Murban/Brent Spread.
1178  MurbanBrentSpread = 195,
1179  /// Oil Abu Dhabi.
1180  OilAbuDhabi = 196,
1181  /// Liffe STIRs.
1182  LiffeStirs = 200,
1183  /// Liffe Bonds.
1184  LiffeBonds = 202,
1185  /// Liffe Swapnotes.
1186  LiffeSwapnotes = 203,
1187  /// Liffe Commodities.
1188  LiffeCommodities = 205,
1189  /// IFUS Equity Indices.
1190  IfusEquityIndices = 207,
1191  /// Liffe Three Month Euro and EONIA.
1192  LiffeThreeMonthEuroAndEonia = 209,
1193  /// Liffe Equity Derivatives - Non-US Based.
1194  LiffeEquityDerivativesNonUsBased = 211,
1195  /// Liffe Index Options.
1196  LiffeIndexOptions = 213,
1197  /// Liffe Index Futures - US Restricted.
1198  LiffeIndexFuturesUsRestricted = 214,
1199  /// Liffe Index Futures - Non-US Restricted.
1200  LiffeIndexFuturesNonUsRestricted = 215,
1201  /// Murban/WTI Spread.
1202  MurbanWtiSpread = 216,
1203  /// Murban/Permian WTI Spread.
1204  MurbanPermianWtiSpread = 217,
1205  /// LS Gasoil/Murban Crack.
1206  LsGasoilMurbanCrack = 218,
1207  /// Oil Americas/WTI Spread.
1208  OilAmericasWtiSpread = 221,
1209  /// UK Emissions Allowances.
1210  UkEmissionsAllowances = 224,
1211  /// EU Emissions Allowances.
1212  EuEmissionsAllowances = 226,
1213  /// Oil Abu Dhabi/Brent Spread.
1214  OilAbuDhabiBrentSpread = 228,
1215  /// Murban/Dubai Spread.
1216  MurbanDubaiSpread = 230,
1217  /// Oil Abu Dhabi/Dubai Spread.
1218  OilAbuDhabiDubaiSpread = 231,
1219  /// Environmental Index Futures.
1220  EnvironmentalIndexFutures = 234,
1221  /// Carbon Offset Futures.
1222  CarbonOffsetFutures = 235,
1223  /// Murban/Oil Abu Dhabi Spread.
1224  MurbanOilAbuDhabiSpread = 236,
1225  /// IFUS SOFR Futures.
1226  IfusSofrFutures = 243,
1227  /// NGX Physical Gas.
1228  NgxPhysicalGas = 314,
1229  /// NGX Financial Power.
1230  NgxFinancialPower = 315,
1231  /// Financial NGL.
1232  FinancialNgl = 317,
1233  /// NGX Physical Environmental.
1234  NgxPhysicalEnvironmental = 323,
1235  /// TEST IPE.
1236  TestIpe = 600,
1237  /// TEST NYBOT.
1238  TestNybot = 601,
1239  /// TEST NDEX.
1240  TestNdex = 602,
1241  /// TEST LIFFEUK1.
1242  TestLiffeuk1 = 603,
1243  /// TEST LIFFEUK2.
1244  TestLiffeuk2 = 604
1245  };
1246 
1247  /// Deserializes constant from string representation.
1248  static Enum deserialize(const char*);
1249 
1250  /// Returns string representation.
1251  static const char* toString(Enum);
1252 };
1253 
1254 }}}} // namespace OnixS::ICE::iMpact::MarketData
Exchange silo code for the market.
Definition: Enumerations.h:838
Indicates Strategy Publication Preference.
Definition: Enumerations.h:861
Enum
Depth of order book constants.
Definition: Enumerations.h:105
Defines known trade investigation statuses.
Definition: Enumerations.h:234
Enum
Known message bundle markers.
Definition: Enumerations.h:455
Enum
Extra flags for Add/Modify Order message.
Definition: Enumerations.h:361
Enum
Known types of system priced legs.
Definition: Enumerations.h:520
Known IPL bound violation types.
Definition: Enumerations.h:496
Extra flags for Add/Modify Order message.
Definition: Enumerations.h:358
Enum
Exchange silo code for the market.
Definition: Enumerations.h:841
Known types of system priced legs.
Definition: Enumerations.h:517
Trading side constants.
Definition: Enumerations.h:35
Enum
Defines known trade investigation statuses.
Definition: Enumerations.h:237
Enum
Indicates Strategy Publication Preference.
Definition: Enumerations.h:864
Option settlement type constants.
Definition: Enumerations.h:186
Enum
Known IPL bound violation types.
Definition: Enumerations.h:499
This class represents the Cancelled Trade Message.
Enum
Trading side constants.
Definition: Enumerations.h:38
Enum
Option settlement type constants.
Definition: Enumerations.h:189
Known message bundle markers.
Definition: Enumerations.h:452
Depth of order book constants.
Definition: Enumerations.h:102