NautilusTrader
ConceptsData

Bar

Bar represents OHLCV price and volume data for a specific BarType. A venue or data provider can supply bars, or NautilusTrader can aggregate them from quote ticks, trade ticks, or 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