Skip to content

Commit 7aebff4

Browse files
author
Jack Culhane
committed
ADD: Add new OPRA participants IEX and MX2 Options
1 parent f45b25c commit 7aebff4

3 files changed

Lines changed: 49 additions & 0 deletions

File tree

CHANGELOG.md

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

3+
## 0.54.0 - TBD
4+
5+
### Enhancements
6+
- Added new publisher values for OPRA MEMX MX2 Options and IEX Options
7+
38
## 0.53.0 - 2026-04-08
49

510
### Enhancements

include/databento/publishers.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,10 @@ enum class Venue : std::uint16_t {
113113
Xcbf = 52,
114114
// Blue Ocean ATS
115115
Ocea = 53,
116+
// MX2 Options
117+
Mxto = 54,
118+
// IEX Options LLC
119+
Iexo = 55,
116120
};
117121

118122
// A source of data.
@@ -417,6 +421,10 @@ enum class Publisher : std::uint16_t {
417421
XcbfPitchXoff = 106,
418422
// Blue Ocean ATS MEMOIR
419423
OceaMemoirOcea = 107,
424+
// OPRA - MEMX MX2 Options
425+
OpraPillarMxto = 108,
426+
// OPRA - IEX Options LLC
427+
OpraPillarIexo = 109,
420428
};
421429

422430
// Get a Publisher's Venue.

src/publishers.cpp

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,12 @@ const char* ToString(Venue venue) {
170170
case Venue::Ocea: {
171171
return "OCEA";
172172
}
173+
case Venue::Mxto: {
174+
return "MXTO";
175+
}
176+
case Venue::Iexo: {
177+
return "IEXO";
178+
}
173179
default: {
174180
return "Unknown";
175181
}
@@ -342,6 +348,12 @@ Venue FromString(const std::string& str) {
342348
if (str == "OCEA") {
343349
return Venue::Ocea;
344350
}
351+
if (str == "MXTO") {
352+
return Venue::Mxto;
353+
}
354+
if (str == "IEXO") {
355+
return Venue::Iexo;
356+
}
345357
throw InvalidArgumentError{"FromString<Venue>", "str",
346358
"unknown value '" + str + '\''};
347359
}
@@ -934,6 +946,12 @@ Venue PublisherVenue(Publisher publisher) {
934946
case Publisher::OceaMemoirOcea: {
935947
return Venue::Ocea;
936948
}
949+
case Publisher::OpraPillarMxto: {
950+
return Venue::Mxto;
951+
}
952+
case Publisher::OpraPillarIexo: {
953+
return Venue::Iexo;
954+
}
937955
default: {
938956
throw InvalidArgumentError{
939957
"PublisherVenue", "publisher",
@@ -1265,6 +1283,12 @@ Dataset PublisherDataset(Publisher publisher) {
12651283
case Publisher::OceaMemoirOcea: {
12661284
return Dataset::OceaMemoir;
12671285
}
1286+
case Publisher::OpraPillarMxto: {
1287+
return Dataset::OpraPillar;
1288+
}
1289+
case Publisher::OpraPillarIexo: {
1290+
return Dataset::OpraPillar;
1291+
}
12681292
default: {
12691293
throw InvalidArgumentError{
12701294
"PublisherDataset", "publisher",
@@ -1597,6 +1621,12 @@ const char* ToString(Publisher publisher) {
15971621
case Publisher::OceaMemoirOcea: {
15981622
return "OCEA.MEMOIR.OCEA";
15991623
}
1624+
case Publisher::OpraPillarMxto: {
1625+
return "OPRA.PILLAR.MXTO";
1626+
}
1627+
case Publisher::OpraPillarIexo: {
1628+
return "OPRA.PILLAR.IEXO";
1629+
}
16001630
default: {
16011631
return "Unknown";
16021632
}
@@ -1931,6 +1961,12 @@ Publisher FromString(const std::string& str) {
19311961
if (str == "OCEA.MEMOIR.OCEA") {
19321962
return Publisher::OceaMemoirOcea;
19331963
}
1964+
if (str == "OPRA.PILLAR.MXTO") {
1965+
return Publisher::OpraPillarMxto;
1966+
}
1967+
if (str == "OPRA.PILLAR.IEXO") {
1968+
return Publisher::OpraPillarIexo;
1969+
}
19341970
throw InvalidArgumentError{"FromString<Publisher>", "str",
19351971
"unknown value '" + str + '\''};
19361972
}

0 commit comments

Comments
 (0)