Skip to content

Commit 5f1afa7

Browse files
committed
ADD: Add ICE US and financials publishers
1 parent 1a0b08e commit 5f1afa7

File tree

3 files changed

+94
-0
lines changed

3 files changed

+94
-0
lines changed

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## 0.31.0 - TBD
4+
5+
### Enhancements
6+
- Added new venues, datasets, and publishers for ICE Futures US and for ICE Futures
7+
Europe (Financial products)
8+
39
## 0.30.0 - 2025-02-11
410

511
### Enhancements

include/databento/publishers.hpp

+16
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,10 @@ enum class Venue : std::uint16_t {
101101
Aspi = 46,
102102
// Databento US Equities - Consolidated
103103
Equs = 47,
104+
// ICE Futures US
105+
Ifus = 48,
106+
// ICE Futures Europe (Financials)
107+
Ifll = 49,
104108
};
105109

106110
// A source of data.
@@ -175,6 +179,10 @@ enum class Dataset : std::uint16_t {
175179
XnysTradesbbo = 34,
176180
// Databento US Equities Mini
177181
EqusMini = 35,
182+
// ICE Futures US iMpact
183+
IfusImpact = 36,
184+
// ICE Futures Europe (Financials) iMpact
185+
IfllImpact = 37,
178186
};
179187

180188
// A specific Venue from a specific data source.
@@ -371,6 +379,14 @@ enum class Publisher : std::uint16_t {
371379
EqusMiniEqus = 95,
372380
// NYSE Trades - Consolidated
373381
XnysTradesEqus = 96,
382+
// ICE Futures US
383+
IfusImpactIfus = 97,
384+
// ICE Futures US - Off-Market Trades
385+
IfusImpactXoff = 98,
386+
// ICE Futures Europe (Financials)
387+
IfllImpactIfll = 99,
388+
// ICE Futures Europe (Financials) - Off-Market Trades
389+
IfllImpactXoff = 100,
374390
};
375391

376392
// Get a Publisher's Venue.

src/publishers.cpp

+72
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,12 @@ const char* ToString(Venue venue) {
152152
case Venue::Equs: {
153153
return "EQUS";
154154
}
155+
case Venue::Ifus: {
156+
return "IFUS";
157+
}
158+
case Venue::Ifll: {
159+
return "IFLL";
160+
}
155161
default: {
156162
return "Unknown";
157163
}
@@ -306,6 +312,12 @@ Venue FromString(const std::string& str) {
306312
if (str == "EQUS") {
307313
return Venue::Equs;
308314
}
315+
if (str == "IFUS") {
316+
return Venue::Ifus;
317+
}
318+
if (str == "IFLL") {
319+
return Venue::Ifll;
320+
}
309321
throw InvalidArgumentError{"FromString<Venue>", "str",
310322
"unknown value '" + str + '\''};
311323
}
@@ -417,6 +429,12 @@ const char* ToString(Dataset dataset) {
417429
case Dataset::EqusMini: {
418430
return "EQUS.MINI";
419431
}
432+
case Dataset::IfusImpact: {
433+
return "IFUS.IMPACT";
434+
}
435+
case Dataset::IfllImpact: {
436+
return "IFLL.IMPACT";
437+
}
420438
default: {
421439
return "Unknown";
422440
}
@@ -535,6 +553,12 @@ Dataset FromString(const std::string& str) {
535553
if (str == "EQUS.MINI") {
536554
return Dataset::EqusMini;
537555
}
556+
if (str == "IFUS.IMPACT") {
557+
return Dataset::IfusImpact;
558+
}
559+
if (str == "IFLL.IMPACT") {
560+
return Dataset::IfllImpact;
561+
}
538562
throw InvalidArgumentError{"FromString<Dataset>", "str",
539563
"unknown value '" + str + '\''};
540564
}
@@ -829,6 +853,18 @@ Venue PublisherVenue(Publisher publisher) {
829853
case Publisher::XnysTradesEqus: {
830854
return Venue::Equs;
831855
}
856+
case Publisher::IfusImpactIfus: {
857+
return Venue::Ifus;
858+
}
859+
case Publisher::IfusImpactXoff: {
860+
return Venue::Xoff;
861+
}
862+
case Publisher::IfllImpactIfll: {
863+
return Venue::Ifll;
864+
}
865+
case Publisher::IfllImpactXoff: {
866+
return Venue::Xoff;
867+
}
832868
default: {
833869
throw InvalidArgumentError{
834870
"PublisherVenue", "publisher",
@@ -1127,6 +1163,18 @@ Dataset PublisherDataset(Publisher publisher) {
11271163
case Publisher::XnysTradesEqus: {
11281164
return Dataset::XnysTrades;
11291165
}
1166+
case Publisher::IfusImpactIfus: {
1167+
return Dataset::IfusImpact;
1168+
}
1169+
case Publisher::IfusImpactXoff: {
1170+
return Dataset::IfusImpact;
1171+
}
1172+
case Publisher::IfllImpactIfll: {
1173+
return Dataset::IfllImpact;
1174+
}
1175+
case Publisher::IfllImpactXoff: {
1176+
return Dataset::IfllImpact;
1177+
}
11301178
default: {
11311179
throw InvalidArgumentError{
11321180
"PublisherDataset", "publisher",
@@ -1426,6 +1474,18 @@ const char* ToString(Publisher publisher) {
14261474
case Publisher::XnysTradesEqus: {
14271475
return "XNYS.TRADES.EQUS";
14281476
}
1477+
case Publisher::IfusImpactIfus: {
1478+
return "IFUS.IMPACT.IFUS";
1479+
}
1480+
case Publisher::IfusImpactXoff: {
1481+
return "IFUS.IMPACT.XOFF";
1482+
}
1483+
case Publisher::IfllImpactIfll: {
1484+
return "IFLL.IMPACT.IFLL";
1485+
}
1486+
case Publisher::IfllImpactXoff: {
1487+
return "IFLL.IMPACT.XOFF";
1488+
}
14291489
default: {
14301490
return "Unknown";
14311491
}
@@ -1727,6 +1787,18 @@ Publisher FromString(const std::string& str) {
17271787
if (str == "XNYS.TRADES.EQUS") {
17281788
return Publisher::XnysTradesEqus;
17291789
}
1790+
if (str == "IFUS.IMPACT.IFUS") {
1791+
return Publisher::IfusImpactIfus;
1792+
}
1793+
if (str == "IFUS.IMPACT.XOFF") {
1794+
return Publisher::IfusImpactXoff;
1795+
}
1796+
if (str == "IFLL.IMPACT.IFLL") {
1797+
return Publisher::IfllImpactIfll;
1798+
}
1799+
if (str == "IFLL.IMPACT.XOFF") {
1800+
return Publisher::IfllImpactXoff;
1801+
}
17301802
throw InvalidArgumentError{"FromString<Publisher>", "str",
17311803
"unknown value '" + str + '\''};
17321804
}

0 commit comments

Comments
 (0)