Skip to main content

DatabentoDataLoader

Struct DatabentoDataLoader 

Source
pub struct DatabentoDataLoader { /* private fields */ }
Expand description

A Nautilus data loader for Databento Binary Encoding (DBN) format data.

§Supported Schemas

  • MBO -> OrderBookDelta
  • MBP_1 -> (QuoteTick, Option<TradeTick>)
  • MBP_10 -> OrderBookDepth10
  • BBO_1S -> QuoteTick
  • BBO_1M -> QuoteTick
  • CMBP_1 -> (QuoteTick, Option<TradeTick>)
  • CBBO_1S -> QuoteTick
  • CBBO_1M -> QuoteTick
  • TCBBO -> (QuoteTick, TradeTick)
  • TBBO -> (QuoteTick, TradeTick)
  • TRADES -> TradeTick
  • OHLCV_1S -> Bar
  • OHLCV_1M -> Bar
  • OHLCV_1H -> Bar
  • OHLCV_1D -> Bar
  • OHLCV_EOD -> Bar
  • DEFINITION -> Instrument
  • IMBALANCE -> DatabentoImbalance
  • STATISTICS -> DatabentoStatistics
  • STATUS -> InstrumentStatus

§References

https://databento.com/docs/schemas-and-data-formats

Implementations§

Source§

impl DatabentoDataLoader

Source

pub fn new(publishers_filepath: Option<PathBuf>) -> Result<Self>

Creates a new DatabentoDataLoader instance.

§Errors

Returns an error if locating or loading publishers data fails.

Source

pub fn load_publishers(&mut self, filepath: PathBuf) -> Result<()>

Load the publishers data from the file at the given filepath.

§Errors

Returns an error if the file cannot be read or parsed as JSON.

Source

pub const fn get_publishers(&self) -> &IndexMap<u16, DatabentoPublisher>

Returns the internal Databento publishers currently held by the loader.

Source

pub fn set_dataset_for_venue(&mut self, dataset: Dataset, venue: Venue)

Sets the venue to map to the given dataset.

Source

pub fn get_dataset_for_venue(&self, venue: &Venue) -> Option<&Dataset>

Returns the dataset which matches the given venue (if found).

Source

pub fn get_venue_for_publisher( &self, publisher_id: PublisherId, ) -> Option<&Venue>

Returns the venue which matches the given publisher_id (if found).

Source

pub fn set_price_precision(&mut self, symbol: Symbol, price_precision: u8)

Caches a price_precision for the given symbol.

When market data is read without an explicit price_precision argument, the loader resolves precision per record from this cache. Definitions loaded via Self::load_instruments are inserted automatically.

Source

pub const fn get_price_precisions(&self) -> &AHashMap<Symbol, u8>

Returns the cached price precisions keyed by symbol.

Source

pub fn schema_from_file(&self, filepath: &Path) -> Result<Option<String>>

Returns the schema for the given filepath.

§Errors

Returns an error if the file cannot be decoded or metadata retrieval fails.

Source

pub fn read_definition_records<'a>( &'a mut self, filepath: &Path, use_exchange_as_venue: bool, decode_config: Option<&'a DatabentoDecodeConfig>, ) -> Result<impl Iterator<Item = Result<InstrumentAny>> + 'a>

Reads instrument definition records from a DBN file.

§Errors

Returns an error if decoding the definition records fails.

Source

pub fn read_records<T>( &self, filepath: &Path, instrument_id: Option<InstrumentId>, price_precision: Option<u8>, include_trades: bool, bars_timestamp_on_close: Option<bool>, ) -> Result<impl Iterator<Item = Result<(Option<Data>, Option<Data>)>> + '_>
where T: Record + HasRType + 'static,

Reads and decodes market data records from a DBN file.

§Errors

Returns an error if reading records fails.

Source

pub fn load_instruments( &mut self, filepath: &Path, use_exchange_as_venue: bool, skip_on_error: bool, decode_config: Option<&DatabentoDecodeConfig>, ) -> Result<Vec<InstrumentAny>>

Loads all instrument definitions from a DBN file.

When skip_on_error is true, instruments that fail to decode are logged as warnings and skipped. When false (default), any decode error is propagated.

§Errors

Returns an error if loading instruments fails.

Source

pub fn load_order_book_deltas( &self, filepath: &Path, instrument_id: Option<InstrumentId>, price_precision: Option<u8>, ) -> Result<Vec<OrderBookDelta>>

Loads order book delta messages from a DBN MBO schema file.

Cannot include trades.

§Errors

Returns an error if loading order book deltas fails.

Source

pub fn read_order_book_deltas( &self, filepath: &Path, instrument_id: Option<InstrumentId>, price_precision: Option<u8>, ) -> Result<impl Iterator<Item = Result<OrderBookDelta>> + '_>

Reads order book delta messages from a DBN MBO schema file without collecting them.

Cannot include trades.

§Errors

Returns an error if opening or decoding order book deltas fails.

Source

pub fn load_order_book_depth10( &self, filepath: &Path, instrument_id: Option<InstrumentId>, price_precision: Option<u8>, ) -> Result<Vec<OrderBookDepth10>>

Loads order book depth10 snapshots from a DBN MBP-10 schema file.

§Errors

Returns an error if loading order book depth10 fails.

Source

pub fn load_quotes( &self, filepath: &Path, instrument_id: Option<InstrumentId>, price_precision: Option<u8>, ) -> Result<Vec<QuoteTick>>

Loads quote tick messages from a DBN MBP-1 or TBBO schema file.

§Errors

Returns an error if loading quotes fails.

Source

pub fn load_bbo_quotes( &self, filepath: &Path, instrument_id: Option<InstrumentId>, price_precision: Option<u8>, ) -> Result<Vec<QuoteTick>>

Loads best bid/offer quote messages from a DBN BBO schema file.

§Errors

Returns an error if loading BBO quotes fails.

Source

pub fn load_cmbp_quotes( &self, filepath: &Path, instrument_id: Option<InstrumentId>, price_precision: Option<u8>, ) -> Result<Vec<QuoteTick>>

Loads consolidated MBP-1 quote messages from a DBN CMBP-1 schema file.

§Errors

Returns an error if loading consolidated MBP-1 quotes fails.

Source

pub fn load_cbbo_quotes( &self, filepath: &Path, instrument_id: Option<InstrumentId>, price_precision: Option<u8>, ) -> Result<Vec<QuoteTick>>

Loads consolidated best bid/offer quote messages from a DBN CBBO schema file.

§Errors

Returns an error if loading consolidated BBO quotes fails.

Source

pub fn load_tbbo_trades( &self, filepath: &Path, instrument_id: Option<InstrumentId>, price_precision: Option<u8>, ) -> Result<Vec<TradeTick>>

Loads trade messages from a DBN TBBO schema file.

§Errors

Returns an error if loading TBBO trades fails.

Source

pub fn load_tcbbo_trades( &self, filepath: &Path, instrument_id: Option<InstrumentId>, price_precision: Option<u8>, ) -> Result<Vec<TradeTick>>

Loads trade messages from a DBN TCBBO schema file.

§Errors

Returns an error if loading TCBBO trades fails.

Source

pub fn load_trades( &self, filepath: &Path, instrument_id: Option<InstrumentId>, price_precision: Option<u8>, ) -> Result<Vec<TradeTick>>

Loads trade messages from a DBN TRADES schema file.

§Errors

Returns an error if loading trades fails.

Source

pub fn load_bars( &self, filepath: &Path, instrument_id: Option<InstrumentId>, price_precision: Option<u8>, timestamp_on_close: Option<bool>, ) -> Result<Vec<Bar>>

Loads OHLCV bar messages from a DBN OHLCV schema file.

§Errors

Returns an error if loading bars fails.

Source

pub fn load_status_records<T>( &self, filepath: &Path, instrument_id: Option<InstrumentId>, ) -> Result<impl Iterator<Item = Result<InstrumentStatus>> + '_>
where T: Record + HasRType + 'static,

Loads instrument status messages from a DBN STATUS schema file.

§Errors

Returns an error if loading status records fails.

Source

pub fn read_imbalance_records<T>( &self, filepath: &Path, instrument_id: Option<InstrumentId>, price_precision: Option<u8>, ) -> Result<impl Iterator<Item = Result<DatabentoImbalance>> + '_>
where T: Record + HasRType + 'static,

Reads imbalance messages from a DBN IMBALANCE schema file.

§Errors

Returns an error if reading imbalance records fails.

Source

pub fn read_statistics_records<T>( &self, filepath: &Path, instrument_id: Option<InstrumentId>, price_precision: Option<u8>, ) -> Result<impl Iterator<Item = Result<DatabentoStatistics>> + '_>
where T: Record + HasRType + 'static,

Reads statistics messages from a DBN STATISTICS schema file.

§Errors

Returns an error if reading statistics records fails.

Trait Implementations§

Source§

impl Debug for DatabentoDataLoader

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more