NautilusTrader
ConceptsData
These docs track the unreleased nightly build and may change without notice. Switch to the latest stable docs.

Bar

Bar represents OHLCV price and volume data for a specific BarType. Bars can be provided externally by a venue or data provider, aggregated internally from quote or trade ticks, or aggregated from smaller bars.

Fields

FieldRust typePython typeRequired/defaultNotes
bar_typeBarTypeBarTypeRequiredInstrument, aggregation, price type, and source.
openPricePriceRequiredFirst price in the bar interval.
highPricePriceRequiredHighest price in the bar interval.
lowPricePriceRequiredLowest price in the bar interval.
closePricePriceRequiredLast price in the bar interval.
volumeQuantityQuantityRequiredTraded volume or tick‑volume proxy.
ts_eventUnixNanosintRequiredBar event timestamp in nanoseconds.
ts_initUnixNanosintRequiredInitialization timestamp in nanoseconds.

Behavior

  • high must be greater than or equal to open, low, and close.
  • low must be less than or equal to open and close.
  • bar_type determines whether a bar is internal or external.
  • Composite bar types use @ syntax to identify the source bar type.

Example

use nautilus_core::UnixNanos;
use nautilus_model::{
    data::{Bar, BarType},
    types::{Price, Quantity},
};

let bar = Bar::new(
    BarType::from("AUD/USD.SIM-1-MINUTE-LAST-EXTERNAL"),
    Price::from("0.65000"),
    Price::from("0.65010"),
    Price::from("0.64990"),
    Price::from("0.65005"),
    Quantity::from("1000000"),
    UnixNanos::from(1_000_000_000),
    UnixNanos::from(1_000_000_100),
);

On this page