TT CORE SDK  0.1
TT CORE SDK documentation
enums.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <cstdint>
4 #include <string>
5 
6 namespace tt_core_sdk {
7 
8 enum class instr_state : uint8_t
9 {
10  DELETED = 1,
11  INACTIVE = 2,
12  ACTIVE = 4
13 };
14 
15 enum class rounding
16 {
17  NONE,
18  UP,
19  DOWN,
20  NEAREST
21 };
22 
23 enum class time_in_force
24 {
25  DAY = 1,
26  GOOD_TILL_CANCEL = 2,
27  AT_THE_OPENING = 3,
29  FILL_OR_KILL = 5,
31  GOOD_TILL_DATE = 7,
32  AT_THE_CLOSE = 8,
34  AT_CROSSING = 10,
35  GOOD_IN_SESSION = 14
36 };
37 
38 enum class order_type
39 {
40  MARKET = 1,
41  LIMIT = 2,
42  STOP = 3,
43  STOP_LIMIT = 4,
44  MLM = 21
45 };
46 
47 enum class order_side
48 {
49  BUY = 1,
50  SELL = 2
51 };
52 
53 enum class market : uint32_t
54 {
55  SYNTHETIC = 0,
56  XETRA = 1,
57  EUREX = 2,
58  NYSE_LIFFE = 3,
59  LSE = 4,
60  OM = 5,
61  CBOT = 6,
62  CME = 7,
63  CFFE = 8,
64  SEHK = 9,
65  ENXTFUT = 10,
66  ENXTOPT = 11,
67  SYCOM = 12,
68  NQLX = 13,
69  GARBAN = 15,
70  LIFFE_EO = 16,
71  ISE = 18,
72  INSTINET = 19,
73  NASDAQ = 20,
74  BTECFUTURES = 21,
75  BTEC = 22,
76  ISLAND = 23,
77  SFE = 24,
78  EUREXUS = 25,
79  CBOE = 26,
80  ASX = 27,
81  ARCHIPELAGO = 28,
82  IB = 29,
83  EURONEXT = 30,
84  ICE = 32,
85  COREEX = 43,
86  NYMEX = 61,
87  HOTSPOT = 62,
88  MONTREAL = 63,
89  SGX = 64,
90  IDEM = 65,
91  MEFF = 66,
92  TFX = 67,
93  TOCOM = 68,
94  TSE = 69,
95  HKEX = 70,
96  OSE = 71,
97  MEXDER = 72,
98  KRX = 73,
99  CCX = 74,
100  ECX = 75,
101  CCFE = 76,
102  NSE = 77,
103  LME = 79,
104  FXMS = 80,
105  USFE = 81,
106  DME = 82,
107  EBS = 83,
108  SSE = 85,
109  MCX = 86,
110  SIMEX = 87,
111  TMX = 89,
112  BVMF = 90,
113  MX = 91,
114  NYSE_LIFFE_US = 92,
115  CFE = 93,
116  ERIS_GOVEX = 94,
117  NASDAQ_OMX_EU = 95,
118  AGGREGATOR = 96,
119  TTEX = 97,
120  ESPEED = 98,
121  KCG = 99,
122  EEX = 100,
123  NFX = 102,
124  NLX = 103,
125  NORDIC = 104,
126  SYNTHETIC_INSTR = 1000,
127  ALGO_INSTR = 1001,
128  DEBESYS = 1002,
129  AGGREGATOR_INSTR = 1003,
130  BANK_ALGO = 1004,
131  ALGO_BACKTESTING = 2002,
132  INVALID = 134217726
133 };
134 
138 
163 enum class market_state
164 {
165  INVALID = 0,
166  UNKNOWN,
167  HALTED,
168  SUSPENDED,
169  RESERVED,
170  CLOSE,
171  OPEN,
172  LATE_OPEN,
173  AUCTION,
174  PRE_OPEN,
176  FAST_MARKET,
177  FILTER,
179  CROSSING,
180  PRE_CROSS,
181  NO_CANCEL,
182  POST_CLOSE,
183  OPENING_IOP,
186  IMPLIED_END,
187  PRE_TRADING,
188  POST_TRADING,
189  NON_TRADABLE,
190  FREEZE,
191  EXPIRED,
194  LEVEL,
196  FEED_DOWN,
198 };
199 
201 enum class product_type_id
202 {
203  NONE = 0,
205  AMENDED_RESTATED = 2,
207  BANKERS_ACCEPTANCE = 4,
208  BANK_NOTES = 5,
209  BILL_OF_EXCHANGES = 6,
210  BRADY_BOND = 7,
211  BRIDGE_LOAN = 8,
212  BUY_SELLBACK = 9,
213  CONVERTIBLE_BOND = 10,
215  CALL_LOANS = 12,
220  CORPORATE_BOND = 17,
221  COMMERCIAL_PAPER = 18,
223  COMMON_STOCK = 20,
224  DEFAULTED = 21,
226  DEPOSIT_NOTES = 23,
227  DUAL_CURRENCY = 24,
229  EURO_CORPORATE_BOND = 26,
231  EURO_SOVEREIGNS = 28,
236  FORWARD = 33,
237  FUTURE = 34,
239  IOETTE_MORTGAGE = 36,
240  LETTER_OF_CREDIT = 37,
241  LIQUIDITY_NOTE = 38,
242  MATURED = 39,
244  MUTUAL_FUND = 41,
246  MULTILEG_INSTRUMENT = 43,
250  MANDATORY_TENDER = 47,
251  MEDIUM_TERM_NOTES = 48,
252  NO_SECURITY_TYPE = 49,
253  OVERNIGHT = 50,
254  OPTION = 51,
256  PFANDBRIEFE = 53,
257  PROMISSORY_NOTE = 54,
258  PREFERRED_STOCK = 55,
259  PLAZOS_FIJOS = 56,
261  REPLACED = 58,
262  REPURCHASE = 59,
263  RETIRED = 60,
264  REVENUE_BONDS = 61,
265  REVOLVER_LOAN = 62,
266  REVOLVER_TERM_LOAN = 63,
267  SECURITIES_LOAN = 64,
268  SECURITIES_PLEDGE = 65,
269  SPECIAL_ASSESSMENT = 66,
270  SPECIAL_OBLIGATION = 67,
271  SPECIAL_TAX = 68,
273  STRUCTURED_NOTES = 70,
275  SWING_LINE_FACILITY = 72,
277  TAX_ALLOCATION = 74,
278  TO_BE_ANNOUNCED = 75,
280  US_TREASURY_BOND = 77,
282  TIME_DEPOSIT = 79,
284  TERM_LOAN = 81,
293  WARRANT = 90,
294  WITHDRAWN = 91,
296  EXTENDED_COMM_NOTE = 93,
297  INDEXED_LINKED = 94,
300  OPTIONS_ON_PHYSICAL = 97,
301  OPTIONS_ON_FUTURES = 98,
302  CASH = 99,
303  OPTIONS_ON_COMBO = 100,
304  INTEREST_RATE_SWAP = 101,
305  BANK_DEPOSITORY_NOTE = 102,
309  CREDIT_DEFAULT_SWAP = 106,
315  TREASURY_BILL = 112,
316  TERM_LIQUIDITY_NOTE = 113,
317  TAXABLE_MUNICIPAL_CP = 114,
319  FX_SPOT = 116,
320  FX_FORWARD = 117,
321  FX_SWAP = 118,
322  OPTION_STRATEGY = 200,
323  EMISSION = 201,
324  SPOT = 202,
325  INVALID = 134217726
326 };
327 
329 enum class currency_code
330 {
331  AED = 1, // UAE Dirham
332  AFN = 2, // Afghani
333  ALL = 3, // Lek
334  AMD = 4, // Armenian Dram
335  ANG = 5, // Netherlands Antillean Guilder
336  AOA = 6, // Kwanza
337  ARS = 7, // Argentine Peso
338  AUD = 8, // Australian Dollar
339  AWG = 9, // Aruban Florin
340  AZN = 10, // Azerbaijanian Manat
341  BAM = 11, // Convertible Mark
342  BBD = 12, // Barbados Dollar
343  BDT = 13, // Taka
344  BGN = 14, // Bulgarian Lev
345  BHD = 15, // Bahraini Dinar
346  BIF = 16, // Burundi Franc
347  BMD = 17, // Bermudian Dollar
348  BND = 18, // Brunei Dollar
349  BOB = 19, // Boliviano
350  BOV = 20, // Mvdol
351  BRL = 21, // Brazilian Real
352  BSD = 22, // Bahamian Dollar
353  BTN = 23, // Ngultrum
354  BWP = 24, // Pula
355  BYR = 25, // Belarussian Ruble
356  BZD = 26, // Belize Dollar
357  CAD = 27, // Canadian Dollar
358  CDF = 28, // Congolese Franc
359  CHE = 29, // WIR Euro
360  CHF = 30, // Swiss Franc
361  CHW = 31, // WIR Franc
362  CLF = 32, // Unidades de fomento
363  CLP = 33, // Chilean Peso
364  CNY = 34, // Yuan Renminbi
365  COP = 35, // Colombian Peso
366  COU = 36, // Unidad de Valor Real
367  CRC = 37, // Costa Rican Colon
368  CUC = 38, // Peso Convertible
369  CUP = 39, // Cuban Peso
370  CVE = 40, // Cape Verde Escudo
371  CZK = 41, // Czech Koruna
372  DJF = 42, // Djibouti Franc
373  DKK = 43, // Danish Krone
374  DOP = 44, // Dominican Peso
375  DZD = 45, // Algerian Dinar
376  EGP = 46, // Egyptian Pound
377  ERN = 47, // Nakfa
378  ETB = 48, // Ethiopian Birr
379  EUR = 49, // Euro
380  FJD = 50, // Fiji Dollar
381  FKP = 51, // Falkland Islands Pound
382  GBP = 52, // Pound Sterling
383  GEL = 53, // Lari
384  GHS = 54, // Ghana Cedi
385  GIP = 55, // Gibraltar Pound
386  GMD = 56, // Dalasi
387  GNF = 57, // Guinea Franc
388  GTQ = 58, // Quetzal
389  GYD = 59, // Guyana Dollar
390  HKD = 60, // Hong Kong Dollar
391  HNL = 61, // Lempira
392  HRK = 62, // Croatian Kuna
393  HTG = 63, // Gourde
394  HUF = 64, // Forint
395  IDR = 65, // Rupiah
396  ILS = 66, // New Israeli Sheqel
397  INR = 67, // Indian Rupee
398  IQD = 68, // Iraqi Dinar
399  IRR = 69, // Iranian Rial
400  ISK = 70, // Iceland Krona
401  JMD = 71, // Jamaican Dollar
402  JOD = 72, // Jordanian Dinar
403  JPY = 73, // Yen
404  KES = 74, // Kenyan Shilling
405  KGS = 75, // Som
406  KHR = 76, // Riel
407  KMF = 77, // Comoro Franc
408  KPW = 78, // North Korean Won
409  KRW = 79, // Won
410  KWD = 80, // Kuwaiti Dinar
411  KYD = 81, // Cayman Islands Dollar
412  KZT = 82, // Tenge
413  LAK = 83, // Kip
414  LBP = 84, // Lebanese Pound
415  LKR = 85, // Sri Lanka Rupee
416  LRD = 86, // Liberian Dollar
417  LSL = 87, // Loti
418  LTL = 88, // Lithuanian Litas
419  LVL = 89, // Latvian Lats
420  LYD = 90, // Libyan Dinar
421  MAD = 91, // Moroccan Dirham
422  MDL = 92, // Moldovan Leu
423  MGA = 93, // Malagasy Ariary
424  MKD = 94, // Denar
425  MMK = 95, // Kyat
426  MNT = 96, // Tugrik
427  MOP = 97, // Pataca
428  MRO = 98, // Ouguiya
429  MUR = 99, // Mauritius Rupee
430  MVR = 100, // Rufiyaa
431  MWK = 101, // Kwacha
432  MXN = 102, // Mexican Peso
433  MXV = 103, // Mexican Unidad de Inversion (UDI)
434  MYR = 104, // Malaysian Ringgit
435  MZN = 105, // Mozambique Metical
436  NAD = 106, // Namibia Dollar
437  NGN = 107, // Naira
438  NIO = 108, // Cordoba Oro
439  NOK = 109, // Norwegian Krone
440  NPR = 110, // Nepalese Rupee
441  NZD = 111, // New Zealand Dollar
442  OMR = 112, // Rial Omani
443  PAB = 113, // Balboa
444  PEN = 114, // Nuevo Sol
445  PGK = 115, // Kina
446  PHP = 116, // Philippine Peso
447  PKR = 117, // Pakistan Rupee
448  PLN = 118, // Zloty
449  PYG = 119, // Guarani
450  QAR = 120, // Qatari Rial
451  RON = 121, // New Romanian Leu
452  RSD = 122, // Serbian Dinar
453  RUB = 123, // Russian Ruble
454  RWF = 124, // Rwanda Franc
455  SAR = 125, // Saudi Riyal
456  SBD = 126, // Solomon Islands Dollar
457  SCR = 127, // Seychelles Rupee
458  SDG = 128, // Sudanese Pound
459  SEK = 129, // Swedish Krona
460  SGD = 130, // Singapore Dollar
461  SHP = 131, // Saint Helena Pound
462  SLL = 132, // Leone
463  SOS = 133, // Somali Shilling
464  SRD = 134, // Surinam Dollar
465  SSP = 135, // South Sudanese Pound
466  STD = 136, // Dobra
467  SVC = 137, // El Salvador Colon
468  SYP = 138, // Syrian Pound
469  SZL = 139, // Lilangeni
470  THB = 140, // Baht
471  TJS = 141, // Somoni
472  TMT = 142, // Turkmenistan New Manat
473  TND = 143, // Tunisian Dinar
474  TOP = 144, // Tongan Pa'anga
475  TRY = 145, // Turkish Lira
476  TTD = 146, // Trinidad and Tobago Dollar
477  TWD = 147, // New Taiwan Dollar
478  TZS = 148, // Tanzanian Shilling
479  UAH = 149, // Hryvnia
480  UGX = 150, // Uganda Shilling
481  USD = 151, // US Dollar
482  USN = 152, // US Dollar (Next day)
483  USS = 153, // US Dollar (Same day)
484  UYI = 154, // Uruguay Peso en Unidades Indexadas (URUIURUI)
485  UYU = 155, // Peso Uruguayo
486  UZS = 156, // Uzbekistan Sum
487  VEF = 157, // Bolivar
488  VND = 158, // Dong
489  VUV = 159, // Vatu
490  WST = 160, // Tala
491  XAF = 161, // CFA Franc BEAC
492  XAG = 162, // Silver
493  XAU = 163, // Gold
494  XBA = 164, // Bond Markets Unit European Composite Unit (EURCO)
495  XBB = 165, // Bond Markets Unit European Monetary Unit (E.M.U.-6)
496  XBC = 166, // Bond Markets Unit European Unit of Account 9 (E.U.A.-9)
497  XBD = 167, // Bond Markets Unit European Unit of Account 17 (E.U.A.-17)
498  XCD = 168, // East Caribbean Dollar
499  XDR = 169, // SDR (Special Drawing Right)
500  XOF = 170, // CFA Franc BCEAO
501  XPD = 171, // Palladium
502  XPF = 172, // CFP Franc
503  XPT = 173, // Platinum
504  XSU = 174, // Sucre
505  XTS = 175, // Codes specifically reserved for testing purposes
506  XUA = 176, // ADB Unit of Account
507  XXX = 177, // The codes assigned for transactions where no currency is involved
508  YER = 178, // Yemeni Rial
509  ZAR = 179, // Rand
510  ZMK = 180, // Zambian Kwacha
511  ZWL = 181, // Zimbabwe Dollar
512  RMB = 200, // Chinese Renminbi
513  CNH = 201, // Hongkong Renminbi
514 };
515 
516 enum class exec_type
517 {
518  NEW = 1,
519  DONE_FOR_DAY = 2,
520  CANCELED = 3,
521  REPLACED = 4,
522  PENDING_CANCEL = 5,
523  STOPPED = 6,
524  REJECTED = 7,
525  SUSPENDED = 8,
526  PENDING_NEW = 9,
527  CALCULATED = 10,
528  EXPIRED = 11,
529  RESTATED = 12,
530  PENDING_REPLACE = 13,
531  TRADE = 14,
532  TRADE_CORRECT = 15,
533  TRADE_CANCEL = 16,
534  ORDER_STATUS = 17,
540  ALGO_MESSAGE = 23,
541  EXPIRED_ORDERBOOK = 24,
542  SQUARE_OFF = 25
543 };
544 
545 enum class order_status
546 {
547  NEW = 1,
548  PARTIALLY_FILLED = 2,
549  FILLED = 3,
550  DONE_FOR_DAY = 4,
551  CANCELED = 5,
552  PENDING_CANCEL = 6,
553  STOPPED = 7,
554  REJECTED = 8,
555  SUSPENDED = 9,
556  PENDING_NEW = 10,
557  CALCULATED = 11,
558  EXPIRED = 12,
560  PENDING_REPLACE = 14,
561  UNKNOWN = 16
562 };
563 
564 enum class trade_status
565 {
566  REGULAR = 0,
567  BUST = 1,
568  CORRECTION = 12,
569  UNKNOWN = 255
570 };
571 
572 enum class trade_qualifier
573 {
574  REGULAR = 0,
575  IMPLIEDTRADE = 1,
576  LEGTRADE = 12,
577  AUCTION = 20,
578  UNKNOWN = 255
579 };
580 
581 enum class reject_source
582 {
583  EDGE = 0,
584  RISK = 1,
585  GATEWAY = 2,
586  EXCHANGE = 3,
587  ALGO = 4,
588  ASE = 5
589 };
590 
591 enum class ord_rej_reason
592 {
593  BROKER = 1,
594  UNKNOWN_SYMBOL = 2,
598  INCORRECT_QUANTITY = 6,
600  UNKNOWN_ACCOUNT = 8,
601  EXCHANGE_CLOSED = 9,
602  ORDER_EXCEEDS_LIMIT = 10,
603  TOO_LATE_TO_ENTER = 11,
604  UNKNOWN_ORDER = 12,
605  DUPLICATE_ORDER = 13,
607  STALE_ORDER = 15,
609  OTHER = 17,
612  MESSAGE_PENDING = 20,
613  ROUTING_ERROR = 21,
614  ORDER_RETRANSMITTED = 22,
615  TOO_LATE_TO_CANCEL = 23,
618  ORIGORDMODTIME = 26,
619  DUPLICATE_CLORDID = 27,
624 
625  // CME specific
626  MARKET_CLOSED = 32,
629  FIX_FIELD_INCORRECT = 35,
632  USER_NOT_AUTHORIZED = 38,
634  INVALID_EXPIRE_DATE = 40,
635  ORDER_NOT_IN_BOOK = 41,
636  ORDER_NOT_IN_BOOK2 = 42,
638  UNKNOWN_CONTRACT = 44,
642  DIFFERENT_SIDE = 48,
643  DIFFERENT_GROUP = 49,
645  DIFFERENT_ACCOUNT = 51,
646  DIFFERENT_QTY = 52,
652  DIFFERENT_PRODUCT = 58,
662  ORDER_QTY_TOO_LOW = 68,
663  ORDER_REJECTED = 69,
664  MARKET_IN_NO_CANCEL = 70,
679  DUPLICATE_QUOTE = 85
680 };
681 
682 enum class cxl_rej_reason
683 {
684  TOO_LATE_TO_CANCEL = 1,
685  UNKNOWN_ORDER = 2,
686  BROKER = 3,
689  ORIGORDMODTIME = 6,
690  DUPLICATE_CLORDID = 7,
691  OTHER = 8,
697  INCORRECT_QUANTITY = 14,
699  UNKNOWN_ACCOUNT = 16,
700  EXCHANGE_CLOSED = 17,
701  ORDER_EXCEEDS_LIMIT = 18,
702  STALE_ORDER = 19,
703  MESSAGE_PENDING = 20,
704  ROUTING_ERROR = 21,
705  ORDER_RETRANSMITTED = 22,
706  INVALID_INVESTOR_ID = 23,
707  SURVEILLENCE_OPTION = 24,
710 
711  // CME specific
712  MARKET_CLOSED = 27,
715  FIX_FIELD_INCORRECT = 30,
718  USER_NOT_AUTHORIZED = 33,
720  INVALID_EXPIRE_DATE = 35,
721  ORDER_NOT_IN_BOOK = 36,
722  ORDER_NOT_IN_BOOK2 = 37,
724  UNKNOWN_CONTRACT = 39,
728  DIFFERENT_SIDE = 43,
729  DIFFERENT_GROUP = 44,
731  DIFFERENT_ACCOUNT = 46,
732  DIFFERENT_QTY = 47,
738  DIFFERENT_PRODUCT = 53,
748  ORDER_QTY_TOO_LOW = 63,
749  ORDER_REJECTED = 64,
750  MARKET_IN_NO_CANCEL = 65,
765 
766  // Euronext specific
768  EURONEXT_OTHER = 81,
769  COMP_ID_PROBLEM = 82,
770  LOGON_PROBLEM = 83,
773  INVALID_PRICE = 86,
774  INVALID_ORDQTY = 87,
775  INVALID_ORDTYPE = 88,
776  INVALID_SIDE = 89
777 };
778 
779 enum class reject_code
780 {
781  INVALID = 0,
782  UNKNOWN_ORDER = 1,
783  UNKNOWN_PRODUCT = 2,
784  UNKNOWN_INSTRUMENT = 3,
785  INVALID_QTY = 4,
786  NOT_ALLOWED = 5,
787  NO_CONNECTION = 6,
788  DUPLICATE_ORDER = 7,
789  NO_LIMIT = 8,
795  EXCEEDS_LONG_SHORT = 14,
796  TIF_FORBIDDEN = 15,
797  DELETE_FORBIDDEN = 16,
798  SUBMIT_FORBIDDEN = 17,
799  GTC_GTD_FORBIDDEN = 18,
803  OUTRIGHT_FORBIDDEN = 22,
804  SPREAD_FORBIDDEN = 23,
805  TRADING_DISABLED = 24,
807  ASE_ORDER_FORBIDDEN = 26,
809  INVALID_PRICE = 28,
811  MALFORMED_REQUEST = 30,
812  MOBILE_FORBIDDEN = 31,
813  UNSUPPORTED_MARKET = 32,
814  CROSSED_ORDER = 33,
815  UNSUPPORTED_REQUEST = 34,
816  EXCEEDS_RESERVE_QTY = 35,
821  LBM_SEND_FAILURE = 40,
822  INCORRECT_BROKER_ID = 41,
829  RFQ_DISABLED = 48,
832  DUPLICATE_QUOTE = 51
833 };
834 
836 std::string to_string (instr_state);
837 std::string to_string (time_in_force);
838 std::string to_string (order_type);
839 std::string to_string (order_side);
840 std::string to_string (market);
841 std::string to_string (market_state);
842 std::string to_string (product_type_id);
843 std::string to_string (currency_code);
844 std::string to_string (exec_type);
845 std::string to_string (order_status);
846 std::string to_string (trade_status);
847 std::string to_string (trade_qualifier);
848 std::string to_string (reject_source);
849 std::string to_string (ord_rej_reason);
850 std::string to_string (cxl_rej_reason);
851 std::string to_string (reject_code);
853 
854 } // namespace tt_core_sdk
currency_code
ISO currency codes.
Definition: enums.hpp:329
product_type_id
Product Type identifiers.
Definition: enums.hpp:201
std::string to_string(instr_state)
TT Core SDK enum to_string conversions.
Round the price to the nearest tradable price, whether up or down.
Round the price up to the next tradable price.
Do not round the price.
market_state
Market State.
Definition: enums.hpp:163
Round the price down to the next tradable price.