Skip to content

Commit 89660d3

Browse files
committed
ADD: Add publishers for Eurex and EEX
1 parent 5f1afa7 commit 89660d3

File tree

3 files changed

+62
-2
lines changed

3 files changed

+62
-2
lines changed

CHANGELOG.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
## 0.31.0 - TBD
44

55
### Enhancements
6-
- Added new venues, datasets, and publishers for ICE Futures US and for ICE Futures
7-
Europe (Financial products)
6+
- Added new venues, datasets, and publishers for ICE Futures US, ICE Futures Europe
7+
(Financial products), Eurex, and European Energy Exchange (EEX)
88

99
## 0.30.0 - 2025-02-11
1010

include/databento/publishers.hpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,10 @@ enum class Venue : std::uint16_t {
105105
Ifus = 48,
106106
// ICE Futures Europe (Financials)
107107
Ifll = 49,
108+
// Eurex Exchange
109+
Xeur = 50,
110+
// European Energy Exchange
111+
Xeer = 51,
108112
};
109113

110114
// A source of data.
@@ -183,6 +187,10 @@ enum class Dataset : std::uint16_t {
183187
IfusImpact = 36,
184188
// ICE Futures Europe (Financials) iMpact
185189
IfllImpact = 37,
190+
// Eurex EOBI
191+
XeurEobi = 38,
192+
// European Energy Exchange EOBI
193+
XeerEobi = 39,
186194
};
187195

188196
// A specific Venue from a specific data source.
@@ -387,6 +395,10 @@ enum class Publisher : std::uint16_t {
387395
IfllImpactIfll = 99,
388396
// ICE Futures Europe (Financials) - Off-Market Trades
389397
IfllImpactXoff = 100,
398+
// Eurex EOBI
399+
XeurEobiXeur = 101,
400+
// European Energy Exchange EOBI
401+
XeerEobiXeer = 102,
390402
};
391403

392404
// Get a Publisher's Venue.

src/publishers.cpp

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,12 @@ const char* ToString(Venue venue) {
158158
case Venue::Ifll: {
159159
return "IFLL";
160160
}
161+
case Venue::Xeur: {
162+
return "XEUR";
163+
}
164+
case Venue::Xeer: {
165+
return "XEER";
166+
}
161167
default: {
162168
return "Unknown";
163169
}
@@ -318,6 +324,12 @@ Venue FromString(const std::string& str) {
318324
if (str == "IFLL") {
319325
return Venue::Ifll;
320326
}
327+
if (str == "XEUR") {
328+
return Venue::Xeur;
329+
}
330+
if (str == "XEER") {
331+
return Venue::Xeer;
332+
}
321333
throw InvalidArgumentError{"FromString<Venue>", "str",
322334
"unknown value '" + str + '\''};
323335
}
@@ -435,6 +447,12 @@ const char* ToString(Dataset dataset) {
435447
case Dataset::IfllImpact: {
436448
return "IFLL.IMPACT";
437449
}
450+
case Dataset::XeurEobi: {
451+
return "XEUR.EOBI";
452+
}
453+
case Dataset::XeerEobi: {
454+
return "XEER.EOBI";
455+
}
438456
default: {
439457
return "Unknown";
440458
}
@@ -559,6 +577,12 @@ Dataset FromString(const std::string& str) {
559577
if (str == "IFLL.IMPACT") {
560578
return Dataset::IfllImpact;
561579
}
580+
if (str == "XEUR.EOBI") {
581+
return Dataset::XeurEobi;
582+
}
583+
if (str == "XEER.EOBI") {
584+
return Dataset::XeerEobi;
585+
}
562586
throw InvalidArgumentError{"FromString<Dataset>", "str",
563587
"unknown value '" + str + '\''};
564588
}
@@ -865,6 +889,12 @@ Venue PublisherVenue(Publisher publisher) {
865889
case Publisher::IfllImpactXoff: {
866890
return Venue::Xoff;
867891
}
892+
case Publisher::XeurEobiXeur: {
893+
return Venue::Xeur;
894+
}
895+
case Publisher::XeerEobiXeer: {
896+
return Venue::Xeer;
897+
}
868898
default: {
869899
throw InvalidArgumentError{
870900
"PublisherVenue", "publisher",
@@ -1175,6 +1205,12 @@ Dataset PublisherDataset(Publisher publisher) {
11751205
case Publisher::IfllImpactXoff: {
11761206
return Dataset::IfllImpact;
11771207
}
1208+
case Publisher::XeurEobiXeur: {
1209+
return Dataset::XeurEobi;
1210+
}
1211+
case Publisher::XeerEobiXeer: {
1212+
return Dataset::XeerEobi;
1213+
}
11781214
default: {
11791215
throw InvalidArgumentError{
11801216
"PublisherDataset", "publisher",
@@ -1486,6 +1522,12 @@ const char* ToString(Publisher publisher) {
14861522
case Publisher::IfllImpactXoff: {
14871523
return "IFLL.IMPACT.XOFF";
14881524
}
1525+
case Publisher::XeurEobiXeur: {
1526+
return "XEUR.EOBI.XEUR";
1527+
}
1528+
case Publisher::XeerEobiXeer: {
1529+
return "XEER.EOBI.XEER";
1530+
}
14891531
default: {
14901532
return "Unknown";
14911533
}
@@ -1799,6 +1841,12 @@ Publisher FromString(const std::string& str) {
17991841
if (str == "IFLL.IMPACT.XOFF") {
18001842
return Publisher::IfllImpactXoff;
18011843
}
1844+
if (str == "XEUR.EOBI.XEUR") {
1845+
return Publisher::XeurEobiXeur;
1846+
}
1847+
if (str == "XEER.EOBI.XEER") {
1848+
return Publisher::XeerEobiXeer;
1849+
}
18021850
throw InvalidArgumentError{"FromString<Publisher>", "str",
18031851
"unknown value '" + str + '\''};
18041852
}

0 commit comments

Comments
 (0)