finance_enums/exchange/
iso10383.rs

1use crate::CountryCode;
2use serde::{Deserialize, Serialize};
3
4#[derive(
5    Copy, Clone, Debug, Deserialize, Display, EnumIter, EnumString, Eq, PartialEq, Serialize,
6)]
7#[strum(serialize_all = "PascalCase")]
8pub enum MIC {
9    /*################# NYSE #################*/
10    XNYS, // NYSE
11    NYSD, // NYSE Dark
12    XCIS, // NYSE National
13    CISD, // NYSE National Dark
14    XCHI, // NYSE Chicago
15    ARCX, // ARCA
16    ARCD, // ARCA Dark
17    ARCO, // ARCA Options
18    XASE, // AMEX
19    AMXO, // AMEX Options
20    // XNLI, // NYSE LIFFE
21
22    /*################# NASDAQ #################*/
23    XNAS, // NASDAQ
24    XNGS, // NASDAQ Global Select
25    XNCM, // NASDAQ Capital Markets
26    XNMS, // NASDAQ Global Market
27    NASD, // NASDAQ Dark
28    XNDQ, // NASDAQ Options
29    XBOS, // NASDAQ Boston
30    BOSD, // NASDAQ Boston Dark
31    XBXO, // NASDAQ Boston Options
32    XPHL, // NASDAQ Philly
33    XPSX, // NASDAQ PSX (also philly?)
34    PSXD, // NASDAQ Philly Dark
35    XPHO, // NASDAQ Philly Options
36    XPBT, // PBOT
37    XPOR, // NASDAQ Portal
38    // XBRT, // BRUT ECN
39    XNFI, // NASDAQ Fixed Income
40    XISE, // ISE Equities (ISE)
41    GMNI, // ISE Gemini Options (GEMX)
42    MCRY, // ISE Mercury Options (MRX)
43    // XISA, // ISE Alternative Markets
44    // XISX, // ISE
45
46    /*################# CBOE #################*/
47    XCBO, // CBOE
48    EDGA, // EDGA
49    EDGD, // EDGA DARK
50    EDGX, // EDGX
51    EDDP, // EDGX DARK
52    EDGO, // EDGX Options
53    BATS, // BZX
54    BZXD, // BZX DARK
55    BATO, // BZX Options
56    BATY, // BYX
57    BYXD, // BYX DARK
58    C2OX, // CBOE C2 Options
59    // BHSF, // CBOE Swap Execution Facility
60    // HSFX, // CBOE Hotspot FX
61    // XCBF, // CBOE Futures
62    // XCBD, // CBOE Digital
63    // CFIM, // CBOE Fixed Income
64
65    /*################# CME #################*/
66    XCME, // CME
67    FCME, // CME Floor
68    // XIMM, // CME IMM (FX / IR)
69    GLBX, // Globex
70    // XIOM, // CME INDEX AND OPTIONS MARKET
71    // CMES, // CME SWAPS MARKETS (CME)
72    // CBTS, // CME SWAPS MARKETS (CBOT)
73    // NYMS, // CME SWAPS MARKETS (NYMEX)
74    // CECS, // CME SWAPS MARKETS (COMEX)
75    XCBT, // CBOT
76    FCBT, // CBOT Floor
77    XKBT, // KANSAS CITY BOARD OF TRADE
78    XNYM, // NYMEX
79    // XCEC, // NYMEX COMMODITIES EXCHANGE CENTER
80    // XNYE, // NYMEX - OTC MARKETS
81    // XNYL, // NYMEX - ENERGY MARKETS
82
83    /*################# MIAX #################*/
84    MIHI, // MIAX
85    MPRL, // MIAX Pearl
86    EPRL, // MIAX Pearl
87    EPRD, // MIAX Pearl Dark
88    XMIO, // MIAX Options
89    EMLD, // MIAX Emerald Options
90
91    /*################# OTC Markets #################*/
92    OTCM, // OTC Markets
93    CAVE, // OTC CAVEAT EMPTOR
94    OTCB, // OTCQB MARKETPLACE
95    OTCQ, // OTCQX MARKETPLACE
96    PINL, // OTC PINK LIMITED
97    PINI, // OTC PINK NO INFORMATION
98    PINX, // OTC PINK MARKETPLACE
99    PSGM, // OTC GREY MARKET
100    PINC, // OTC PINK CURRENT
101
102    /*################# FINRA #################*/
103    FINR, // FINRA
104    FINN, // FINRA NASDAQ TRF (NJ)
105    FINC, // FINRA NASDAQ TRF (Chicago)
106    FINY, // FINRA NYSE TRF
107    XADF, // FINRA ADF
108    FINO, // FINRA ORF
109    OOTC, // Other OTC
110
111    /*################# OTHER US #################*/
112    OPRA, // OPRA
113    MEMX, // MEMX
114    MEMD, // MEMX Dark
115    MXOP, // MEMX Options
116    // MEMM,MEMX,SGMT,MEMX LLC RETAIL MIDPOINT,MEMX LLC,254900ZJZM9RSYHE7D79,NSPD,,US
117    IEXG, // IEX
118    // IEXD, // IEX Dark
119    LTSE, // Long Term Stock Exchange
120
121    /*################# Canadian Securities Exchange CSE #################*/
122    XCNQ, // CSE
123    PURE, // CSE Pure
124    CSE2, // CSE CSE2
125
126    /*################# TMX Group  #################*/
127    XTSE, // TSE
128    XDRK, // TSX Dark
129    VDRK, // TSX Venture Dark
130    XTSX, // TSX Venture
131    XTNX, // TSX Venture Nex
132    XATS, // Alpha Exchange
133    XATX, // Alpha X
134    ADRK, // Alpha Dark
135    XMOD, // Montreal
136    XMOC, // Montreal Climate
137
138    /*################# CBOE NEO #################*/
139    NEOE, // NEO Exchange
140    NEOD, // NEO Exchange Dark
141    NEON, // NEO Exchange (MARKET BY PRICE),,549300MILSKTNBLQ1L12,NSPD,NEO-N,CA,TORONTO,WWW.NEOSTOCKEXCHANGE.COM,ACTIVE,20180723,20190624,,,
142    NEOC, // NEO Connect
143
144    /*################# Other Canada / Canada ATS #################*/
145    // XCX2,CHIC,SGMT,CX2,,,NSPD,,CA,TORONTO,WWW.CHI-X.COM/CA,ACTIVE
146    // CHIC,CHIC,OPRT,CHI-X CANADA ATS,,,ATSS,,CA,TORONTO,WWW.CHI-XCANADA.COM,ACTIVE
147    // EQCA,EQCA,OPRT,EQUILEND CANADA CORP.,EQUILEND CANADA CORP.,213800MJ9CY4JWO58S26,NSPD,,CA,TORONTO,WWW.EQUILEND.COM,ACTIVE
148    // BNSX,BNSX,OPRT,THE BANK OF NOVA SCOTIA,,L3I9ZG2KFGXZ61BMYR72,SINT,,CA,TORONTO,WWW.SCOTIABANK.COM,ACTIVE
149    // CAND,CAND,OPRT,CANDEAL.CA INC,,549300QSD4O4FEHPDA44,NSPD,CANDEAL,CA,TORONTO,WWW.CANDEAL.COM,ACTIVE
150    // CANX,CANX,OPRT,CANNEX FINANCIAL EXCHANGE LTS,,,NSPD,CANNEX,CA,TORONTO,WWW.CANNEX.COM,ACTIVE
151    // COTC,COTC,OPRT,BMO CAPITAL MARKETS - CAD OTC TRADES,,L64HM9LHPDOS1B9HJC68,NSPD,,CA,TORONTO,WWW.BMOCM.COM,ACTIVE
152    // IVZX,IVZX,OPRT,INVESCO CANADA PTF TRADES,,9F443AVI6KXI3MYCLS29,NSPD,,CA,TORONTO,WWW.INVESCO.CA,ACTIVE
153    // LICA,LICA,OPRT,LIQUIDNET CANADA ATS,,21380031335M4LHQJ436,ATSS,,CA,TORONTO,WWW.LIQUIDNET.COM,ACTIVE
154    // MATN,MATN,OPRT,MATCH NOW,,,NSPD,,CA,TORONTO,WWW.TRIACTCANADA.COM,ACTIVE
155    // NGXC,NGXC,OPRT,NATURAL GAS EXCHANGE,,549300MZWLT9C8T4VI12,NSPD,NGX,CA,CALGARY,WWW.NGX.COM,ACTIVE
156    // OMGA,OMGA,OPRT,OMEGA ATS,,,ATSS,,CA,TORONTO,WWW.OMEGAATS.COM,ACTIVE
157    // LYNX,OMGA,SGMT,LYNX ATS,,,ATSS,,CA,TORONTO,WWW.OMEGAATS.COM,ACTIVE
158    // XBBK,XBBK,OPRT,PERIMETER FINANCIAL CORP. - BLOCKBOOK ATS,,,ATSS,,CA,TORONTO,WWW.PFIN.CA,ACTIVE
159    // XCXD,XCXD,OPRT,NASDAQ CXD,,,NSPD,,CA,TORONTO,HTTP://BUSINESS.NASDAQ.COM/TRADE/CANADIAN-EQUITIES/OVERVIEW,ACTIVE
160    // XICX,XICX,OPRT,INSTINET CANADA CROSS,,549300SU730FTQOKTE75,NSPD,,CA,TORONTO,WWW.INSTINET.COM,ACTIVE
161
162    /*################# Other US based Equity ATS #################*/
163    // https://www.finra.org/filing-reporting/otc-transparency/ats-equity-firms
164    // https://www.sec.gov/foia/docs/atslist
165    // ABEX, // 303 Alternatives LLC
166    // BIDS, // Bids Trading LP
167    // BNPC, // BNP Paribas Cortex
168    // OCEA, // Blue Ocean ATS
169    // CCMX, // Carta
170    // ICBX, // Instinet
171    // ONEC, // Citigroup One ATS
172    // clearlist
173    // CODA, // Coda Markets
174    // CAES, // Credit Suisse Crossfinder
175    // XSTM, // Fidelity Crossstream
176    // dealerweb
177    // EQX LLC
178    // FNC AG STOCK
179    // GOTC, // Global OTC
180    // IATS, // Interactive Brokers ATS
181    // IEOS, // Interactive Brokers EOS ATS
182    // BAML, // BAML Instinct X ATS
183    // INCR, // Intelligentcross ATS
184    // INVESTX GEM
185    // INX SECURITIES, LLC
186    // JPBX, // JP Morgan Securities JPB-X
187    // JPMX, // JP Morgan Securities JPM-X
188    // LEVL, // Level ATS
189    // LIUH, // Liquidnet H2O
190    // LIQUIDNET NEGOTIATION ATS
191    // lodas
192    // LMNX, // Luminex ATS
193    // MS POOL (ATS-4)	MSPL	MORGAN STANLEY & CO. LLC
194    // MS RPOOL (ATS-6)	MSRP	MORGAN STANLEY & CO. LLC
195    // MS TRAJECTORY CROSS (ATS-1)	MSTX	MORGAN STANLEY & CO. LLC
196    // NFSTX, LLC	NFST	NFSTX, LLC
197    // NORTH CAPITAL PRIVATE SECURITIES CORPORATION
198    // OASIS PRO MARKETS LLC
199    // CGXS, // ONECHRONOS
200    // OTC Link
201    // OTCN, // OTC Link ECN
202    // OTCI, // OTC Link NQB IDQS
203    // ITGI, // Virtu Posit
204    // PROMETHEUM EMBER ATS INC.
205    // STRM, // Purestream
206    // SECURITIZE MARKETS ATS
207    // SHARENETT ATS
208    // SGMT, // Goldman Sigma X2
209    // STARTENGINE SECONDARY
210    // STFX, // Stifel, Nicolaus and Co STIFEL X ATS
211    // TEXTURE ATS
212    // BARX, // Barclays ATS
213    // TOR ATS
214    // UBSA, // UBS ATS
215    // VARIABLE INVESTMENT ADVISORS, INC. ATS (VIAATS)
216    // VCRS, // Virtu MATCHIT conditional room
217    // VFMI, // Virtu Matchit
218    // PJCX, // Piper Sandler and Co. ATS
219
220    /*################# Other US based Options/Futures ATS #################*/
221    // DASH, // DASH ATS
222    // FNFT, // BGC Fenics Futures
223    // BGCD, // BGC Derivatives
224    // XBOX, // BOX
225
226    /*################# Other US based Fixed Income ATS #################*/
227    // https://www.finra.org/filing-reporting/otc-transparency/finra-equity-ats-firms-list
228    // SCXA,SCXO,SGMT,SEED DIGITAL SECURITIES MARKET,,5493009JXYKN3NLOUE77,ATSS,,US
229    // BNDS, // Bonds.com Bondspro
230    // BTEQ, // BrokerTec
231    // cboe fixed income (above)
232    // CLARITY BIDRATE ALTERNATIVE TRADING SYSTEM
233    // clearlist
234    // CREDITMATCH
235    // DWFI, // Dealerweb
236    // FNCS, // BGCF Fenics
237    // GSEF, // GFI Swaps Exchange
238    // HTD-ATS
239    // interactive broker ats (above)
240    // ICSU, // ICAP SEF
241    // VABD, // ICE Bondpoint
242    // TMCC, // ICE TMC
243    // IDXM, // IDX Markets
244    // Kopen Tech Capital Markets
245    // LESI, // LedgerEdge
246    // LIFI, // Liquidnet Fixed Income ATS
247    // MKAA, // Marketaxess ATS
248    // LQED, // LIQUIDITYEDGE
249    // MBS Source eTrading, Inc.
250    // North Capital Private Securities Corporation
251    // OASIS PRO MARKETS LLC
252    // OTC Link (above)
253    // SECURITIZE MARKETS ATS
254    // SHARENETT ATS
255    // TEXTURE ATS
256    // TP ICAP Global Markets Americas LLC
257    // TPCD, // TULLETT PREBON PLC - TP CREDITDEAL
258    // BNDD, // TRADEWEB DIRECT
259    // TRWB, // TRADEWEB LLC
260    // TWSF,TRWB,SGMT,TW SEF LLC,,5493000G5QHJUY9ZWQ91,NSPD,TWSEF,US
261    // DWSF,TRWB,SGMT,DW SEF LLC,,5493000G5QHJUY9ZWQ91,NSPD,DWSEF,US
262    // TMID, // Trumid
263
264    /*################# Other US based ATS #################*/
265    // AATS, // Assent ATS
266    // BLUE, // tZero / PRO SECURITIES ATS
267    // CLST, // Clear Street
268    // FNXB, // BGCF Fenicx Invitations
269    // FNFX, // BGC Fenics FX
270    // GFAM, // GFI
271    // LATG, // GFI LATG
272    // PRSE, // Pragma ATS
273    // XAQS,XAQS,OPRT,AUTOMATED EQUITY FINANCE MARKETS,,,ATSS,AQS,US
274    // XTXD, // XTX Direct
275
276    /*################# US based options #################*/
277
278    /*################# US based futures #################*/
279    // SMFE, // Small Exchange
280
281    /*################# US based fx #################*/
282
283    /*################# US based crypto #################*/
284    // BKKT, // BAKKT
285    // FREX, // COINBASE DERIVATIVES
286    // SFOX, // SFOX
287    // XTRD, // XTRD
288
289    /*################# OTHER PARENT ORGS #################*/
290    // BGCF, // BGC Financial
291    // BTEC, // ICAP Electronic Broking
292    // GSCO, // Goldman Sachs
293    // IBKR, // Interactive Brokers
294    // JPMS, // JP Morgan Securities
295    // LIUS, // Liquidnet US
296    // MTXX, // Marketaxess
297    // PIPR, // Piper Sandler and Co.
298    // UBSS, // UBS Securities LLC
299    // VUSA, // Virtu Americas
300    // VFCM, // Virtu Financial Capital Markets
301    // XTXM, // XTX Markets
302
303    /*################# OTHER #################*/
304    XXXX,
305
306    /*################# NON ISO-10383 #################*/
307    PYPR,
308    SIMU,
309}
310
311impl MIC {
312    pub fn operating_mic(&self) -> MIC {
313        match self {
314            /*################# NYSE #################*/
315            MIC::XNYS => MIC::XNYS, // NYSE
316            MIC::XCIS => MIC::XNYS, // NYSE National
317            MIC::CISD => MIC::XNYS, // NYSE National Dark
318            MIC::XCHI => MIC::XNYS, // NYSE Chicago
319            MIC::ARCX => MIC::XNYS, // ARCA
320            MIC::ARCD => MIC::XNYS, // ARCA Dark
321            MIC::ARCO => MIC::XNYS, // ARCA Options
322            MIC::XASE => MIC::XNYS, // AMEX
323            MIC::AMXO => MIC::XNYS, // AMEX Options
324            MIC::NYSD => MIC::XNYS, // NYSE Dark
325            /*################# NASDAQ #################*/
326            MIC::XNAS => MIC::XNAS, // NASDAQ
327            MIC::XNGS => MIC::XNAS, // NASDAQ Global Select
328            MIC::XNCM => MIC::XNAS, // NASDAQ Capital Markets
329            MIC::XNMS => MIC::XNAS, // NASDAQ Global Market
330            MIC::NASD => MIC::XNAS, // NASDAQ Dark
331            MIC::XNDQ => MIC::XNAS, // NASDAQ Options
332            MIC::XBOS => MIC::XNAS, // NASDAQ Boston
333            MIC::BOSD => MIC::XNAS, // NASDAQ Boston Dark
334            MIC::XBXO => MIC::XNAS, // NASDAQ Boston Options
335            MIC::XPHL => MIC::XNAS, // NASDAQ Philly
336            MIC::XPSX => MIC::XNAS, // NASDAQ PSX (also philly?)
337            MIC::PSXD => MIC::XNAS, // NASDAQ Philly Dark
338            MIC::XPHO => MIC::XNAS, // NASDAQ Philly Options
339            MIC::XPBT => MIC::XNAS, // PBOT
340            MIC::XPOR => MIC::XNAS, // NASDAQ Portal
341            MIC::XNFI => MIC::XNAS, // NASDAQ Fixed Income
342            MIC::XISE => MIC::XNAS, // ISE Equities (ISE)
343            MIC::GMNI => MIC::XNAS, // ISE Gemini Options (GEMX)
344            MIC::MCRY => MIC::XNAS, // ISE Mercury Options (MRX)
345            // MIC::XISA => MIC::XNAS, // ISE Alternative Markets
346            // MIC::XISX => MIC::XNAS, // ISE
347            /*################# CBOE #################*/
348            MIC::XCBO => MIC::XCBO, // CBOE
349            MIC::EDGA => MIC::XCBO, // EDGA
350            MIC::EDGD => MIC::XCBO, // EDGA DARK
351            MIC::EDGX => MIC::XCBO, // EDGX
352            MIC::EDDP => MIC::XCBO, // EDGX DARK
353            MIC::EDGO => MIC::XCBO, // EDGX Options
354            MIC::BATS => MIC::XCBO, // BZX
355            MIC::BZXD => MIC::XCBO, // BZX DARK
356            MIC::BATO => MIC::XCBO, // BZX Options
357            MIC::BATY => MIC::XCBO, // BYX
358            MIC::BYXD => MIC::XCBO, // BYX DARK
359            MIC::C2OX => MIC::XCBO, // CBOE C2 Options
360            // MIC::BHSF => MIC::XCBO, // CBOE Swap Execution Facility
361            // MIC::HSFX => MIC::XCBO, // CBOE Hotspot FX
362            // MIC::XCBF => MIC::XCBO, // CBOE Futures
363            // MIC::XCBD => MIC::XCBO, // CBOE Digital
364            // MIC::CFIM => MIC::XCBO, // CBOE Fixed Income
365
366            /*################# CME #################*/
367            MIC::XCME => MIC::XCME, // CME
368            MIC::FCME => MIC::XCME, // CME Floor
369            // MIC::XIMM => MIC::XCME, // CME IMM (FX / IR)
370            MIC::GLBX => MIC::XCME, // Globex
371            // MIC::XIOM => MIC::XCME, // CME INDEX AND OPTIONS MARKET,,,NSPD,IOM,US
372            // MIC::CMES => MIC::XCME, // CME SWAPS MARKETS (CME)
373            // MIC::CBTS => MIC::XCME, // CME SWAPS MARKETS (CBOT)
374            // MIC::NYMS => MIC::XCME, // CME SWAPS MARKETS (NYMEX)
375            // MIC::CECS => MIC::XCME, // CME SWAPS MARKETS (COMEX)
376            MIC::XCBT => MIC::XCBT, // CBOT
377            MIC::FCBT => MIC::XCBT, // CBOT Floor
378            MIC::XKBT => MIC::XCBT, // KANSAS CITY BOARD OF TRADE
379            MIC::XNYM => MIC::XNYM, // NYMEX
380            // MIC::XCEC => MIC::XNYM, // NYMEX COMMODITIES EXCHANGE CENTER
381            // MIC::XNYE => MIC::XNYM, // NYMEX - OTC MARKETS
382            // MIC::XNYL => MIC::XNYM, // NYMEX - ENERGY MARKETS
383
384            /*################# MIAX #################*/
385            MIC::MIHI => MIC::MIHI, // MIAX
386            MIC::MPRL => MIC::MIHI, // MIAX Pearl
387            MIC::EPRL => MIC::MIHI, // MIAX Pearl
388            MIC::EPRD => MIC::MIHI, // MIAX Pearl Dark
389            MIC::XMIO => MIC::MIHI, // MIAX Options
390            MIC::EMLD => MIC::MIHI, // MIAX Emerald Options
391
392            /*################# OTC Markets #################*/
393            MIC::OTCM => MIC::OTCM, // OTC Markets
394            MIC::CAVE => MIC::OTCM, // OTC CAVEAT EMPTOR
395            MIC::OTCB => MIC::OTCM, // OTCQB MARKETPLACE
396            MIC::OTCQ => MIC::OTCM, // OTCQX MARKETPLACE
397            MIC::PINL => MIC::OTCM, // OTC PINK LIMITED
398            MIC::PINI => MIC::OTCM, // OTC PINK NO INFORMATION
399            MIC::PINX => MIC::OTCM, // OTC PINK MARKETPLACE
400            MIC::PSGM => MIC::OTCM, // OTC GREY MARKET
401            MIC::PINC => MIC::OTCM, // OTC PINK CURRENT
402
403            /*################# FINRA #################*/
404            MIC::FINR => MIC::FINR, // FINRA
405            MIC::FINN => MIC::FINR, // FINRA NASDAQ TRF (NJ)
406            MIC::FINC => MIC::FINR, // FINRA NASDAQ TRF (Chicago)
407            MIC::FINY => MIC::FINR, // FINRA NYSE TRF
408            MIC::XADF => MIC::FINR, // FINRA ADF
409            MIC::FINO => MIC::FINR, // FINRA ORF
410            MIC::OOTC => MIC::FINR, // Other OTC
411
412            /*################# OTHER US #################*/
413            MIC::OPRA => MIC::OPRA, // OPRA
414            MIC::MEMX => MIC::MEMX, // MEMX
415            MIC::MEMD => MIC::MEMX, // MEMX Dark
416            MIC::MXOP => MIC::MEMX, // MEMX Options
417            MIC::IEXG => MIC::IEXG, // IEX
418            MIC::LTSE => MIC::LTSE, // Long Term Stock Exchange
419
420            /*################# Canadian Securities Exchange CSE #################*/
421            MIC::XCNQ => MIC::XCNQ, // CSE
422            MIC::PURE => MIC::XCNQ, // CSE Pure
423            MIC::CSE2 => MIC::XCNQ, // CSE CSE2
424
425            /*################# TMX Group  #################*/
426            MIC::XTSE => MIC::XTSE, // TSE
427            MIC::XDRK => MIC::XTSE, // TSX Dark
428            MIC::XTSX => MIC::XTSX, // TSX Venture
429            MIC::VDRK => MIC::XTSX, // TSX Venture Dark
430            MIC::XTNX => MIC::XTSX, // TSX Venture Nex
431            MIC::XATS => MIC::XATS, // Alpha Exchange
432            MIC::XATX => MIC::XATS, // Alpha X
433            MIC::ADRK => MIC::XATS, // Alpha Dark
434            MIC::XMOD => MIC::XMOD, // Montreal
435            MIC::XMOC => MIC::XMOD, // Montreal Climate
436
437            /*################# CBOE NEO #################*/
438            MIC::NEOE => MIC::NEOE, // NEO Exchange
439            MIC::NEOD => MIC::NEOE, // NEO Exchange Dark
440            MIC::NEON => MIC::NEOE, // NEO Exchange (MARKET BY PRICE),,549300MILSKTNBLQ1L12,NSPD,NEO-N,CA,TORONTO,WWW.NEOSTOCKEXCHANGE.COM,ACTIVE,20180723,20190624,,,
441            MIC::NEOC => MIC::NEOE, // NEO Connect
442
443            /*################# OTHER #################*/
444            MIC::XXXX => MIC::XXXX,
445
446            /*################# NON ISO-10383 #################*/
447            MIC::PYPR => MIC::PYPR,
448            MIC::SIMU => MIC::SIMU,
449            // _ => MIC::XXXX, // Uncategorized
450        }
451    }
452
453    pub fn name(&self) -> &'static str {
454        match self {
455            /*################# NYSE #################*/
456            MIC::XNYS => "New York Stock Exchange",
457            MIC::NYSD => "NYSE Dark",
458            MIC::XCIS => "NYSE National",
459            MIC::CISD => "NYSE National Dark",
460            MIC::XCHI => "NYSE Chicago",
461            MIC::ARCX => "NYSE ARCA",
462            MIC::ARCD => "NYSE ARCA Dark",
463            MIC::ARCO => "NYSE ARCA Options",
464            MIC::XASE => "NYSE AMEX",
465            MIC::AMXO => "NYSE AMEX Options",
466
467            /*################# NASDAQ #################*/
468            MIC::XNAS => "Nasdaq",
469            MIC::XNGS => "Nasdaq Global Select",
470            MIC::XNCM => "Nasdaq Capital Markets",
471            MIC::XNMS => "Nasdaq Global Markets",
472            MIC::NASD => "Nasdaq Dark",
473            MIC::XNDQ => "Nasdaq Options",
474            MIC::XBOS => "Nasdaq BX",
475            MIC::BOSD => "Nasdaq BX Dark",
476            MIC::XBXO => "Nasdaq BX Options",
477            MIC::XPHL => "Nasdaq PHLX",
478            MIC::XPSX => "Nasdaq PSX",
479            MIC::PSXD => "Nasdaq PSX Dark",
480            MIC::XPHO => "Nasdaq PSX Options",
481            MIC::XPBT => "Philadelphia Board of Trade",
482            MIC::XPOR => "Nasdaq Portal",
483            MIC::XNFI => "Nasdaq Fixed Income",
484            MIC::XISE => "ISE Equities",
485            MIC::GMNI => "ISE Gemini Options",
486            MIC::MCRY => "ISE Mercury Options",
487
488            /*################# CBOE #################*/
489            MIC::XCBO => "CBOE Global Markets",
490            MIC::EDGA => "CBOE EDGA",
491            MIC::EDGD => "CBOE EDGA Dark",
492            MIC::EDGX => "CBOE EDGX",
493            MIC::EDDP => "CBOE EDGX Dark",
494            MIC::EDGO => "CBOE EDGX Options",
495            MIC::BATS => "CBOE BZX",
496            MIC::BZXD => "CBOE BZX Dark",
497            MIC::BATO => "CBOE BZX Options",
498            MIC::BATY => "CBOE BYX",
499            MIC::BYXD => "CBOE BYX Dark",
500            MIC::C2OX => "CBOE C2 Options",
501
502            /*################# CME #################*/
503            MIC::XCME => "Chicago Mercantile Exchange",
504            MIC::FCME => "CME Floor",
505            MIC::GLBX => "Globex",
506            MIC::XCBT => "Chicago Board of Trade",
507            MIC::FCBT => "CBOT Floor",
508            MIC::XKBT => "Kansas City Board of Trade",
509            MIC::XNYM => "New York Mercantile Exchange",
510
511            /*################# MIAX #################*/
512            MIC::MIHI => "MIAX",
513            MIC::MPRL => "MIAX Pearl",
514            MIC::EPRL => "MIAX Pearl",
515            MIC::EPRD => "MIAX Pearl Dark",
516            MIC::XMIO => "MIAX Options",
517            MIC::EMLD => "MIAX Emerald",
518
519            /*################# OTC Markets #################*/
520            MIC::OTCM => "OTC Markets",
521            MIC::CAVE => "OTC Caveat Emptor",
522            MIC::OTCB => "OTC QB Marketplace",
523            MIC::OTCQ => "OTC QX Marketplace",
524            MIC::PINL => "OTC Pink Limited",
525            MIC::PINI => "OTC Pink No Information",
526            MIC::PINX => "OTC Pink Marketplace",
527            MIC::PSGM => "OTC Grey Market",
528            MIC::PINC => "OTC Pink Current",
529
530            /*################# FINRA #################*/
531            MIC::FINR => "FINRA",
532            MIC::FINN => "FINRA NASDAQ TRF (NJ)",
533            MIC::FINC => "FINRA NASDAQ TRF (Chicago)",
534            MIC::FINY => "FINRA NYSE TRF",
535            MIC::XADF => "FINRA ADF",
536            MIC::FINO => "FINRA ORF",
537            MIC::OOTC => "FINRA Other OTC",
538
539            /*################# OTHER US #################*/
540            MIC::OPRA => "Options Price Reporting Authority",
541            MIC::MEMX => "Members Exchange",
542            MIC::MEMD => "MEMX Dark",
543            MIC::MXOP => "MEMX Options",
544            MIC::IEXG => "Investors Exchange",
545            MIC::LTSE => "Long-Term Stock Exchange",
546
547            /*################# Canadian Securities Exchange CSE #################*/
548            MIC::XCNQ => "Canadian Securities Exchange",
549            MIC::PURE => "CSE Pure",
550            MIC::CSE2 => "CSE CSE2",
551
552            /*################# TMX Group  #################*/
553            MIC::XTSE => "Toronto Stock Exchange",
554            MIC::XDRK => "TSE Dark",
555            MIC::XTSX => "TRX Venture Exchange",
556            MIC::VDRK => "TRX Venture Exchange Dark",
557            MIC::XTNX => "TRX Venture Nex",
558            MIC::XATS => "Alpha Exchange",
559            MIC::XATX => "Alpha Exchange X",
560            MIC::ADRK => "Alpha Exchange Dark",
561            MIC::XMOD => "Montréal Exchange",
562            MIC::XMOC => "Montréal Climate Exchange",
563
564            /*################# CBOE NEO #################*/
565            MIC::NEOE => "NEO Exchange",
566            MIC::NEOD => "NEO Exchange Dark",
567            MIC::NEON => "NEO Exchange",
568            MIC::NEOC => "NEO Connect",
569
570            /*################# OTHER #################*/
571            MIC::XXXX => "Uncategorized",
572
573            /*################# NON ISO-10383 #################*/
574            MIC::PYPR => "Paper",
575            MIC::SIMU => "Simulation",
576            // _ => "Uncategorized - Submit a Pull Request",
577        }
578    }
579
580    pub fn country(&self) -> CountryCode {
581        match self {
582            // NYSE
583            /*################# NYSE #################*/
584            MIC::XNYS => CountryCode::US,
585            MIC::NYSD => CountryCode::US,
586            MIC::XCIS => CountryCode::US,
587            MIC::CISD => CountryCode::US,
588            MIC::XCHI => CountryCode::US,
589            MIC::ARCX => CountryCode::US,
590            MIC::ARCD => CountryCode::US,
591            MIC::ARCO => CountryCode::US,
592            MIC::XASE => CountryCode::US,
593            MIC::AMXO => CountryCode::US,
594            /*################# NASDAQ #################*/
595            MIC::XNAS => CountryCode::US,
596            MIC::XNGS => CountryCode::US,
597            MIC::XNCM => CountryCode::US,
598            MIC::XNMS => CountryCode::US,
599            MIC::NASD => CountryCode::US,
600            MIC::XNDQ => CountryCode::US,
601            MIC::XBOS => CountryCode::US,
602            MIC::BOSD => CountryCode::US,
603            MIC::XBXO => CountryCode::US,
604            MIC::XPHL => CountryCode::US,
605            MIC::XPSX => CountryCode::US,
606            MIC::PSXD => CountryCode::US,
607            MIC::XPHO => CountryCode::US,
608            MIC::XPBT => CountryCode::US,
609            MIC::XPOR => CountryCode::US,
610            MIC::XNFI => CountryCode::US,
611            MIC::XISE => CountryCode::US,
612            MIC::GMNI => CountryCode::US,
613            MIC::MCRY => CountryCode::US,
614
615            /*################# CBOE #################*/
616            MIC::XCBO => CountryCode::US,
617            MIC::EDGA => CountryCode::US,
618            MIC::EDGD => CountryCode::US,
619            MIC::EDGX => CountryCode::US,
620            MIC::EDDP => CountryCode::US,
621            MIC::EDGO => CountryCode::US,
622            MIC::BATS => CountryCode::US,
623            MIC::BZXD => CountryCode::US,
624            MIC::BATO => CountryCode::US,
625            MIC::BATY => CountryCode::US,
626            MIC::BYXD => CountryCode::US,
627            MIC::C2OX => CountryCode::US,
628
629            /*################# CME #################*/
630            MIC::XCME => CountryCode::US,
631            MIC::FCME => CountryCode::US,
632            MIC::GLBX => CountryCode::US,
633            MIC::XCBT => CountryCode::US,
634            MIC::FCBT => CountryCode::US,
635            MIC::XKBT => CountryCode::US,
636            MIC::XNYM => CountryCode::US,
637
638            /*################# MIAX #################*/
639            MIC::MIHI => CountryCode::US,
640            MIC::MPRL => CountryCode::US,
641            MIC::EPRL => CountryCode::US,
642            MIC::EPRD => CountryCode::US,
643            MIC::XMIO => CountryCode::US,
644            MIC::EMLD => CountryCode::US,
645
646            /*################# OTC Markets #################*/
647            MIC::OTCM => CountryCode::US,
648            MIC::CAVE => CountryCode::US,
649            MIC::OTCB => CountryCode::US,
650            MIC::OTCQ => CountryCode::US,
651            MIC::PINL => CountryCode::US,
652            MIC::PINI => CountryCode::US,
653            MIC::PINX => CountryCode::US,
654            MIC::PSGM => CountryCode::US,
655            MIC::PINC => CountryCode::US,
656
657            /*################# FINRA #################*/
658            MIC::FINR => CountryCode::US,
659            MIC::FINN => CountryCode::US,
660            MIC::FINC => CountryCode::US,
661            MIC::FINY => CountryCode::US,
662            MIC::XADF => CountryCode::US,
663            MIC::FINO => CountryCode::US,
664            MIC::OOTC => CountryCode::US,
665
666            /*################# OTHER US #################*/
667            MIC::OPRA => CountryCode::US,
668            MIC::MEMX => CountryCode::US,
669            MIC::MEMD => CountryCode::US,
670            MIC::MXOP => CountryCode::US,
671            MIC::IEXG => CountryCode::US,
672            MIC::LTSE => CountryCode::US,
673
674            /*################# Canadian Securities Exchange CSE #################*/
675            MIC::XCNQ => CountryCode::CA,
676            MIC::PURE => CountryCode::CA,
677            MIC::CSE2 => CountryCode::CA,
678
679            /*################# TMX Group  #################*/
680            MIC::XTSE => CountryCode::CA,
681            MIC::XDRK => CountryCode::CA,
682            MIC::XTSX => CountryCode::CA,
683            MIC::VDRK => CountryCode::CA,
684            MIC::XTNX => CountryCode::CA,
685            MIC::XATS => CountryCode::CA,
686            MIC::XATX => CountryCode::CA,
687            MIC::ADRK => CountryCode::CA,
688            MIC::XMOD => CountryCode::CA,
689            MIC::XMOC => CountryCode::CA,
690
691            /*################# CBOE NEO #################*/
692            MIC::NEOE => CountryCode::CA,
693            MIC::NEOD => CountryCode::CA,
694            MIC::NEON => CountryCode::CA,
695            MIC::NEOC => CountryCode::CA,
696
697            /*################# OTHER #################*/
698            MIC::XXXX => CountryCode::XX,
699
700            /*################# NON ISO-10383 #################*/
701            MIC::PYPR => CountryCode::XX,
702            MIC::SIMU => CountryCode::XX,
703            // _ => CountryCode::XX,
704        }
705    }
706}