Skip to content

Commit 6ce35cb

Browse files
ADD: Add XNAS.BASIC publishers
1 parent b8f80d1 commit 6ce35cb

File tree

3 files changed

+58
-4
lines changed

3 files changed

+58
-4
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44

55
### Enhancements
66
- Added new `UncrossingPrice` `StatType` variant
7+
- Added new publisher values for `XNAS.BASIC`
8+
9+
### Bug fixes
10+
- Fix descriptions for `FINN` and `FINY` publishers.
711

812
## 0.18.1 - 2024-05-22
913

include/databento/publishers.hpp

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,8 @@ enum class Dataset : std::uint16_t {
155155
NdexImpact = 29,
156156
// Databento Equities Max
157157
DbeqMax = 30,
158+
// Nasdaq Basic (NLS+QBBO)
159+
XnasBasic = 31,
158160
};
159161

160162
// A specific Venue from a specific data source.
@@ -265,9 +267,9 @@ enum class Publisher : std::uint16_t {
265267
DbeqPlusXnas = 52,
266268
// DBEQ Plus - NYSE
267269
DbeqPlusXnys = 53,
268-
// DBEQ Plus - FINRA/NYSE TRF
269-
DbeqPlusFinn = 54,
270270
// DBEQ Plus - FINRA/Nasdaq TRF Carteret
271+
DbeqPlusFinn = 54,
272+
// DBEQ Plus - FINRA/NYSE TRF
271273
DbeqPlusFiny = 55,
272274
// DBEQ Plus - FINRA/Nasdaq TRF Chicago
273275
DbeqPlusFinc = 56,
@@ -293,9 +295,9 @@ enum class Publisher : std::uint16_t {
293295
DbeqMaxXnas = 66,
294296
// DBEQ Max - NYSE
295297
DbeqMaxXnys = 67,
296-
// DBEQ Max - FINRA/NYSE TRF
297-
DbeqMaxFinn = 68,
298298
// DBEQ Max - FINRA/Nasdaq TRF Carteret
299+
DbeqMaxFinn = 68,
300+
// DBEQ Max - FINRA/NYSE TRF
299301
DbeqMaxFiny = 69,
300302
// DBEQ Max - FINRA/Nasdaq TRF Chicago
301303
DbeqMaxFinc = 70,
@@ -319,6 +321,12 @@ enum class Publisher : std::uint16_t {
319321
DbeqMaxArcx = 79,
320322
// DBEQ Max - Long-Term Stock Exchange
321323
DbeqMaxLtse = 80,
324+
// Nasdaq Basic - Nasdaq
325+
XnasBasicXnas = 81,
326+
// Nasdaq Basic - FINRA/Nasdaq TRF Carteret
327+
XnasBasicFinn = 82,
328+
// Nasdaq Basic - FINRA/Nasdaq TRF Chicago
329+
XnasBasicFinc = 83,
322330
};
323331

324332
// Get a Publisher's Venue.

src/publishers.cpp

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,9 @@ const char* ToString(Dataset dataset) {
372372
case Dataset::DbeqMax: {
373373
return "DBEQ.MAX";
374374
}
375+
case Dataset::XnasBasic: {
376+
return "XNAS.BASIC";
377+
}
375378
default: {
376379
return "Unknown";
377380
}
@@ -475,6 +478,9 @@ Dataset FromString(const std::string& str) {
475478
if (str == "DBEQ.MAX") {
476479
return Dataset::DbeqMax;
477480
}
481+
if (str == "XNAS.BASIC") {
482+
return Dataset::XnasBasic;
483+
}
478484
throw InvalidArgumentError{"FromString<Dataset>", "str",
479485
"unknown value '" + str + '\''};
480486
}
@@ -721,6 +727,15 @@ Venue PublisherVenue(Publisher publisher) {
721727
case Publisher::DbeqMaxLtse: {
722728
return Venue::Ltse;
723729
}
730+
case Publisher::XnasBasicXnas: {
731+
return Venue::Xnas;
732+
}
733+
case Publisher::XnasBasicFinn: {
734+
return Venue::Finn;
735+
}
736+
case Publisher::XnasBasicFinc: {
737+
return Venue::Finc;
738+
}
724739
default: {
725740
throw InvalidArgumentError{
726741
"PublisherVenue", "publisher",
@@ -971,6 +986,15 @@ Dataset PublisherDataset(Publisher publisher) {
971986
case Publisher::DbeqMaxLtse: {
972987
return Dataset::DbeqMax;
973988
}
989+
case Publisher::XnasBasicXnas: {
990+
return Dataset::XnasBasic;
991+
}
992+
case Publisher::XnasBasicFinn: {
993+
return Dataset::XnasBasic;
994+
}
995+
case Publisher::XnasBasicFinc: {
996+
return Dataset::XnasBasic;
997+
}
974998
default: {
975999
throw InvalidArgumentError{
9761000
"PublisherDataset", "publisher",
@@ -1222,6 +1246,15 @@ const char* ToString(Publisher publisher) {
12221246
case Publisher::DbeqMaxLtse: {
12231247
return "DBEQ.MAX.LTSE";
12241248
}
1249+
case Publisher::XnasBasicXnas: {
1250+
return "XNAS.BASIC.XNAS";
1251+
}
1252+
case Publisher::XnasBasicFinn: {
1253+
return "XNAS.BASIC.FINN";
1254+
}
1255+
case Publisher::XnasBasicFinc: {
1256+
return "XNAS.BASIC.FINC";
1257+
}
12251258
default: {
12261259
return "Unknown";
12271260
}
@@ -1475,6 +1508,15 @@ Publisher FromString(const std::string& str) {
14751508
if (str == "DBEQ.MAX.LTSE") {
14761509
return Publisher::DbeqMaxLtse;
14771510
}
1511+
if (str == "XNAS.BASIC.XNAS") {
1512+
return Publisher::XnasBasicXnas;
1513+
}
1514+
if (str == "XNAS.BASIC.FINN") {
1515+
return Publisher::XnasBasicFinn;
1516+
}
1517+
if (str == "XNAS.BASIC.FINC") {
1518+
return Publisher::XnasBasicFinc;
1519+
}
14781520
throw InvalidArgumentError{"FromString<Publisher>", "str",
14791521
"unknown value '" + str + '\''};
14801522
}

0 commit comments

Comments
 (0)