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}