Skip to content

Commit b125ff4

Browse files
author
Siddha Kilaru
committed
MOD: Split CGIF channels into multiple datasets
1 parent 1c8da50 commit b125ff4

2 files changed

Lines changed: 134 additions & 16 deletions

File tree

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
# Changelog
22

3+
## 0.62.0 - TBD
4+
5+
### Enhancements
6+
- Added new publisher values for Cboe Titanium Cboe Global Indices Feed
7+
8+
### Breaking changes
9+
- Renamed the following Venue, Dataset, and Publisher:
10+
- `CGIF` to `MAIN`
11+
- `CGIF.TITANIUM` to `MAIN.CGIF`
12+
- `CGIF.TITANIUM.CGIF` to `MAIN.CGIF.MAIN`
13+
314
## 0.61.0 - 2026-06-16
415

516
### Enhancements

rust/dbn/src/publishers.rs

Lines changed: 123 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ pub enum Venue {
124124
/// IEX Options LLC
125125
Iexo = 55,
126126
/// Cboe Global Indices Feed
127-
Cgif = 56,
127+
Main = 56,
128128
/// Texas Stock Exchange, LLC
129129
Txse = 57,
130130
/// 24X National Exchange, LLC
@@ -135,10 +135,24 @@ pub enum Venue {
135135
Utp = 60,
136136
/// FINRA Alternative Display Facility
137137
Xadf = 61,
138+
/// CGIF Morgan Stanley Capital International
139+
Msci = 62,
140+
/// CGIF FTSE Russell
141+
Ftse = 63,
142+
/// CGIF Intraday Net Asset Values
143+
Inav = 64,
144+
/// CGIF Morning Star
145+
Mstar = 65,
146+
/// CGIF Crypto Currency
147+
Cccy = 66,
148+
/// CGIF CBOE Global Indices
149+
Cgi = 67,
150+
/// CGIF Definitions
151+
Def = 68,
138152
}
139153

140154
/// The number of [`Venue`] variants.
141-
pub const VENUE_COUNT: usize = 61;
155+
pub const VENUE_COUNT: usize = 68;
142156

143157
impl Venue {
144158
/// Converts the venue to its `str` representation.
@@ -199,12 +213,19 @@ impl Venue {
199213
Self::Ocea => "OCEA",
200214
Self::Mxto => "MXTO",
201215
Self::Iexo => "IEXO",
202-
Self::Cgif => "CGIF",
216+
Self::Main => "MAIN",
203217
Self::Txse => "TXSE",
204218
Self::_24Eq => "24EQ",
205219
Self::Cta => "CTA",
206220
Self::Utp => "UTP",
207221
Self::Xadf => "XADF",
222+
Self::Msci => "MSCI",
223+
Self::Ftse => "FTSE",
224+
Self::Inav => "INAV",
225+
Self::Mstar => "MSTAR",
226+
Self::Cccy => "CCCY",
227+
Self::Cgi => "CGI",
228+
Self::Def => "DEF",
208229
}
209230
}
210231
}
@@ -281,12 +302,19 @@ impl std::str::FromStr for Venue {
281302
"OCEA" => Ok(Self::Ocea),
282303
"MXTO" => Ok(Self::Mxto),
283304
"IEXO" => Ok(Self::Iexo),
284-
"CGIF" => Ok(Self::Cgif),
305+
"MAIN" => Ok(Self::Main),
285306
"TXSE" => Ok(Self::Txse),
286307
"24EQ" => Ok(Self::_24Eq),
287308
"CTA" => Ok(Self::Cta),
288309
"UTP" => Ok(Self::Utp),
289310
"XADF" => Ok(Self::Xadf),
311+
"MSCI" => Ok(Self::Msci),
312+
"FTSE" => Ok(Self::Ftse),
313+
"INAV" => Ok(Self::Inav),
314+
"MSTAR" => Ok(Self::Mstar),
315+
"CCCY" => Ok(Self::Cccy),
316+
"CGI" => Ok(Self::Cgi),
317+
"DEF" => Ok(Self::Def),
290318
_ => Err(Error::conversion::<Self>(s)),
291319
}
292320
}
@@ -384,13 +412,25 @@ pub enum Dataset {
384412
/// Blue Ocean ATS MEMOIR Depth
385413
OceaMemoir = 41,
386414
/// Cboe Titanium Cboe Global Indices Feed
387-
CgifTitanium = 42,
415+
MainCgif = 42,
388416
/// US Equities Security Information Processor
389417
EqusSip = 43,
418+
/// CGIF - Morgan Stanley Capital International
419+
MsciCgif = 44,
420+
/// CGIF - FTSE Russell
421+
FtseCgif = 45,
422+
/// CGIF - Intraday Net Asset Values
423+
InavCgif = 46,
424+
/// CGIF - Morning Star
425+
MstarCgif = 47,
426+
/// CGIF - Crypto Currency
427+
CccyCgif = 48,
428+
/// CGIF - CBOE Global Indices
429+
CgiCgif = 49,
390430
}
391431

392432
/// The number of [`Dataset`] variants.
393-
pub const DATASET_COUNT: usize = 43;
433+
pub const DATASET_COUNT: usize = 49;
394434

395435
impl Dataset {
396436
/// Converts the dataset to its `str` representation.
@@ -439,8 +479,14 @@ impl Dataset {
439479
Self::XeeeEobi => "XEEE.EOBI",
440480
Self::XcbfPitch => "XCBF.PITCH",
441481
Self::OceaMemoir => "OCEA.MEMOIR",
442-
Self::CgifTitanium => "CGIF.TITANIUM",
482+
Self::MainCgif => "MAIN.CGIF",
443483
Self::EqusSip => "EQUS.SIP",
484+
Self::MsciCgif => "MSCI.CGIF",
485+
Self::FtseCgif => "FTSE.CGIF",
486+
Self::InavCgif => "INAV.CGIF",
487+
Self::MstarCgif => "MSTAR.CGIF",
488+
Self::CccyCgif => "CCCY.CGIF",
489+
Self::CgiCgif => "CGI.CGIF",
444490
}
445491
}
446492

@@ -567,7 +613,7 @@ impl Dataset {
567613
Self::XeeeEobi => &[Publisher::XeeeEobiXeee, Publisher::XeeeEobiXoff],
568614
Self::XcbfPitch => &[Publisher::XcbfPitchXcbf, Publisher::XcbfPitchXoff],
569615
Self::OceaMemoir => &[Publisher::OceaMemoirOcea],
570-
Self::CgifTitanium => &[Publisher::CgifTitaniumCgif],
616+
Self::MainCgif => &[Publisher::MainCgifMain, Publisher::MainCgifDef],
571617
Self::EqusSip => &[
572618
Publisher::EqusSipXase,
573619
Publisher::EqusSipXbos,
@@ -595,6 +641,12 @@ impl Dataset {
595641
Publisher::EqusSipCta,
596642
Publisher::EqusSipUtp,
597643
],
644+
Self::MsciCgif => &[Publisher::MsciCgifMsci],
645+
Self::FtseCgif => &[Publisher::FtseCgifFtse],
646+
Self::InavCgif => &[Publisher::InavCgifInav],
647+
Self::MstarCgif => &[Publisher::MstarCgifMstar],
648+
Self::CccyCgif => &[Publisher::CccyCgifCccy],
649+
Self::CgiCgif => &[Publisher::CgiCgifCgi],
598650
}
599651
}
600652
}
@@ -659,8 +711,14 @@ impl std::str::FromStr for Dataset {
659711
"XEEE.EOBI" => Ok(Self::XeeeEobi),
660712
"XCBF.PITCH" => Ok(Self::XcbfPitch),
661713
"OCEA.MEMOIR" => Ok(Self::OceaMemoir),
662-
"CGIF.TITANIUM" => Ok(Self::CgifTitanium),
714+
"MAIN.CGIF" => Ok(Self::MainCgif),
663715
"EQUS.SIP" => Ok(Self::EqusSip),
716+
"MSCI.CGIF" => Ok(Self::MsciCgif),
717+
"FTSE.CGIF" => Ok(Self::FtseCgif),
718+
"INAV.CGIF" => Ok(Self::InavCgif),
719+
"MSTAR.CGIF" => Ok(Self::MstarCgif),
720+
"CCCY.CGIF" => Ok(Self::CccyCgif),
721+
"CGI.CGIF" => Ok(Self::CgiCgif),
664722
_ => Err(Error::conversion::<Self>(s)),
665723
}
666724
}
@@ -892,7 +950,7 @@ pub enum Publisher {
892950
/// OPRA - IEX Options LLC
893951
OpraPillarIexo = 109,
894952
/// Cboe Global Indices Feed
895-
CgifTitaniumCgif = 110,
953+
MainCgifMain = 110,
896954
/// US Equities SIP - NYSE American
897955
EqusSipXase = 111,
898956
/// US Equities SIP - Nasdaq Texas
@@ -943,10 +1001,24 @@ pub enum Publisher {
9431001
EqusSipCta = 134,
9441002
/// US Equities SIP - UTP
9451003
EqusSipUtp = 135,
1004+
/// CGIF - Morgan Stanley Capital International
1005+
MsciCgifMsci = 136,
1006+
/// CGIF - FTSE Russell
1007+
FtseCgifFtse = 137,
1008+
/// CGIF - Intraday Net Asset Values
1009+
InavCgifInav = 138,
1010+
/// CGIF - Morning Star
1011+
MstarCgifMstar = 139,
1012+
/// CGIF - Crypto Currency
1013+
CccyCgifCccy = 140,
1014+
/// CGIF - CBOE Global Indices
1015+
CgiCgifCgi = 141,
1016+
/// CGIF - Definitions
1017+
MainCgifDef = 142,
9461018
}
9471019

9481020
/// The number of [`Publisher`] variants.
949-
pub const PUBLISHER_COUNT: usize = 135;
1021+
pub const PUBLISHER_COUNT: usize = 142;
9501022

9511023
impl Publisher {
9521024
/// Converts the publisher to its `str` representation.
@@ -1061,7 +1133,7 @@ impl Publisher {
10611133
Self::OceaMemoirOcea => "OCEA.MEMOIR.OCEA",
10621134
Self::OpraPillarMxto => "OPRA.PILLAR.MXTO",
10631135
Self::OpraPillarIexo => "OPRA.PILLAR.IEXO",
1064-
Self::CgifTitaniumCgif => "CGIF.TITANIUM.CGIF",
1136+
Self::MainCgifMain => "MAIN.CGIF.MAIN",
10651137
Self::EqusSipXase => "EQUS.SIP.XASE",
10661138
Self::EqusSipXbos => "EQUS.SIP.XBOS",
10671139
Self::EqusSipXcis => "EQUS.SIP.XCIS",
@@ -1087,6 +1159,13 @@ impl Publisher {
10871159
Self::EqusSipXadf => "EQUS.SIP.XADF",
10881160
Self::EqusSipCta => "EQUS.SIP.CTA",
10891161
Self::EqusSipUtp => "EQUS.SIP.UTP",
1162+
Self::MsciCgifMsci => "MSCI.CGIF.MSCI",
1163+
Self::FtseCgifFtse => "FTSE.CGIF.FTSE",
1164+
Self::InavCgifInav => "INAV.CGIF.INAV",
1165+
Self::MstarCgifMstar => "MSTAR.CGIF.MSTAR",
1166+
Self::CccyCgifCccy => "CCCY.CGIF.CCCY",
1167+
Self::CgiCgifCgi => "CGI.CGIF.CGI",
1168+
Self::MainCgifDef => "MAIN.CGIF.DEF",
10901169
}
10911170
}
10921171

@@ -1202,7 +1281,7 @@ impl Publisher {
12021281
Self::OceaMemoirOcea => Venue::Ocea,
12031282
Self::OpraPillarMxto => Venue::Mxto,
12041283
Self::OpraPillarIexo => Venue::Iexo,
1205-
Self::CgifTitaniumCgif => Venue::Cgif,
1284+
Self::MainCgifMain => Venue::Main,
12061285
Self::EqusSipXase => Venue::Xase,
12071286
Self::EqusSipXbos => Venue::Xbos,
12081287
Self::EqusSipXcis => Venue::Xcis,
@@ -1228,6 +1307,13 @@ impl Publisher {
12281307
Self::EqusSipXadf => Venue::Xadf,
12291308
Self::EqusSipCta => Venue::Cta,
12301309
Self::EqusSipUtp => Venue::Utp,
1310+
Self::MsciCgifMsci => Venue::Msci,
1311+
Self::FtseCgifFtse => Venue::Ftse,
1312+
Self::InavCgifInav => Venue::Inav,
1313+
Self::MstarCgifMstar => Venue::Mstar,
1314+
Self::CccyCgifCccy => Venue::Cccy,
1315+
Self::CgiCgifCgi => Venue::Cgi,
1316+
Self::MainCgifDef => Venue::Def,
12311317
}
12321318
}
12331319

@@ -1343,7 +1429,7 @@ impl Publisher {
13431429
Self::OceaMemoirOcea => Dataset::OceaMemoir,
13441430
Self::OpraPillarMxto => Dataset::OpraPillar,
13451431
Self::OpraPillarIexo => Dataset::OpraPillar,
1346-
Self::CgifTitaniumCgif => Dataset::CgifTitanium,
1432+
Self::MainCgifMain => Dataset::MainCgif,
13471433
Self::EqusSipXase => Dataset::EqusSip,
13481434
Self::EqusSipXbos => Dataset::EqusSip,
13491435
Self::EqusSipXcis => Dataset::EqusSip,
@@ -1369,6 +1455,13 @@ impl Publisher {
13691455
Self::EqusSipXadf => Dataset::EqusSip,
13701456
Self::EqusSipCta => Dataset::EqusSip,
13711457
Self::EqusSipUtp => Dataset::EqusSip,
1458+
Self::MsciCgifMsci => Dataset::MsciCgif,
1459+
Self::FtseCgifFtse => Dataset::FtseCgif,
1460+
Self::InavCgifInav => Dataset::InavCgif,
1461+
Self::MstarCgifMstar => Dataset::MstarCgif,
1462+
Self::CccyCgifCccy => Dataset::CccyCgif,
1463+
Self::CgiCgifCgi => Dataset::CgiCgif,
1464+
Self::MainCgifDef => Dataset::MainCgif,
13721465
}
13731466
}
13741467

@@ -1487,7 +1580,7 @@ impl Publisher {
14871580
(Dataset::OceaMemoir, Venue::Ocea) => Ok(Self::OceaMemoirOcea),
14881581
(Dataset::OpraPillar, Venue::Mxto) => Ok(Self::OpraPillarMxto),
14891582
(Dataset::OpraPillar, Venue::Iexo) => Ok(Self::OpraPillarIexo),
1490-
(Dataset::CgifTitanium, Venue::Cgif) => Ok(Self::CgifTitaniumCgif),
1583+
(Dataset::MainCgif, Venue::Main) => Ok(Self::MainCgifMain),
14911584
(Dataset::EqusSip, Venue::Xase) => Ok(Self::EqusSipXase),
14921585
(Dataset::EqusSip, Venue::Xbos) => Ok(Self::EqusSipXbos),
14931586
(Dataset::EqusSip, Venue::Xcis) => Ok(Self::EqusSipXcis),
@@ -1513,6 +1606,13 @@ impl Publisher {
15131606
(Dataset::EqusSip, Venue::Xadf) => Ok(Self::EqusSipXadf),
15141607
(Dataset::EqusSip, Venue::Cta) => Ok(Self::EqusSipCta),
15151608
(Dataset::EqusSip, Venue::Utp) => Ok(Self::EqusSipUtp),
1609+
(Dataset::MsciCgif, Venue::Msci) => Ok(Self::MsciCgifMsci),
1610+
(Dataset::FtseCgif, Venue::Ftse) => Ok(Self::FtseCgifFtse),
1611+
(Dataset::InavCgif, Venue::Inav) => Ok(Self::InavCgifInav),
1612+
(Dataset::MstarCgif, Venue::Mstar) => Ok(Self::MstarCgifMstar),
1613+
(Dataset::CccyCgif, Venue::Cccy) => Ok(Self::CccyCgifCccy),
1614+
(Dataset::CgiCgif, Venue::Cgi) => Ok(Self::CgiCgifCgi),
1615+
(Dataset::MainCgif, Venue::Def) => Ok(Self::MainCgifDef),
15161616
_ => Err(Error::conversion::<Self>(format!("({dataset}, {venue})"))),
15171617
}
15181618
}
@@ -1644,7 +1744,7 @@ impl std::str::FromStr for Publisher {
16441744
"OCEA.MEMOIR.OCEA" => Ok(Self::OceaMemoirOcea),
16451745
"OPRA.PILLAR.MXTO" => Ok(Self::OpraPillarMxto),
16461746
"OPRA.PILLAR.IEXO" => Ok(Self::OpraPillarIexo),
1647-
"CGIF.TITANIUM.CGIF" => Ok(Self::CgifTitaniumCgif),
1747+
"MAIN.CGIF.MAIN" => Ok(Self::MainCgifMain),
16481748
"EQUS.SIP.XASE" => Ok(Self::EqusSipXase),
16491749
"EQUS.SIP.XBOS" => Ok(Self::EqusSipXbos),
16501750
"EQUS.SIP.XCIS" => Ok(Self::EqusSipXcis),
@@ -1670,6 +1770,13 @@ impl std::str::FromStr for Publisher {
16701770
"EQUS.SIP.XADF" => Ok(Self::EqusSipXadf),
16711771
"EQUS.SIP.CTA" => Ok(Self::EqusSipCta),
16721772
"EQUS.SIP.UTP" => Ok(Self::EqusSipUtp),
1773+
"MSCI.CGIF.MSCI" => Ok(Self::MsciCgifMsci),
1774+
"FTSE.CGIF.FTSE" => Ok(Self::FtseCgifFtse),
1775+
"INAV.CGIF.INAV" => Ok(Self::InavCgifInav),
1776+
"MSTAR.CGIF.MSTAR" => Ok(Self::MstarCgifMstar),
1777+
"CCCY.CGIF.CCCY" => Ok(Self::CccyCgifCccy),
1778+
"CGI.CGIF.CGI" => Ok(Self::CgiCgifCgi),
1779+
"MAIN.CGIF.DEF" => Ok(Self::MainCgifDef),
16731780
_ => Err(Error::conversion::<Self>(s)),
16741781
}
16751782
}

0 commit comments

Comments
 (0)