Equity
Equity represents a listed share, ETF, or similar cash-market security. Nautilus uses
this type for instruments that trade in whole units, quote in one currency, and have no
contract expiry.
Examples include AAPL.XNAS, MSFT.XNAS, and venue-specific ETF symbols.
Fields
<Tabs items={["Rust", "Python"]}>
| Field | Type | Required/default | Notes |
|---|---|---|---|
instrument_id | InstrumentId | Required | Stored as id in Rust. |
raw_symbol | Symbol | Required | Native venue symbol. |
currency | Currency | Required | Quote and settlement currency. |
price_precision | u8 | Required | Decimal places allowed for prices. |
price_increment | Price | Required | Smallest valid price step. |
lot_size | Option<Quantity> | None | Board lot or whole‑share lot size. |
ts_event | UnixNanos | Required | Event timestamp in nanoseconds. |
ts_init | UnixNanos | Required | Initialization timestamp in nanoseconds. |
isin | Option<Ustr> | None | International Securities ID when known. |
max_quantity | Option<Quantity> | None | Maximum order quantity. |
min_quantity | Option<Quantity> | None | Minimum order quantity. |
max_price | Option<Price> | None | Maximum valid quote or order price. |
min_price | Option<Price> | None | Minimum valid quote or order price. |
margin_init | Option<Decimal> | 0 | Initial margin rate. |
margin_maint | Option<Decimal> | 0 | Maintenance margin rate. |
maker_fee | Option<Decimal> | 0 | Maker fee rate. Negative values rebate. |
taker_fee | Option<Decimal> | 0 | Taker fee rate. Negative values rebate. |
tick_scheme | Option<Ustr> | None | Registered variable tick scheme name. |
info | Option<Params> | None | Adapter metadata. |
| Field | Type | Required/default | Notes |
|---|---|---|---|
instrument_id | InstrumentId | Required | |
raw_symbol | Symbol | Required | Native venue symbol. |
currency | Currency | Required | Quote and settlement currency. |
price_precision | int | Required | Decimal places allowed for prices. |
price_increment | Price | Required | Smallest valid price step. |
lot_size | Quantity | None | None | Board lot or whole‑share lot size. |
ts_event | int | Required | Event timestamp in nanoseconds. |
ts_init | int | Required | Initialization timestamp in nanoseconds. |
isin | str | None | None | International Securities ID when known. |
max_quantity | Quantity | None | None | Maximum order quantity. |
min_quantity | Quantity | None | None | Minimum order quantity. |
max_price | Price | None | None | Maximum valid quote or order price. |
min_price | Price | None | None | Minimum valid quote or order price. |
margin_init | Decimal | None | 0 | Initial margin rate. |
margin_maint | Decimal | None | 0 | Maintenance margin rate. |
maker_fee | Decimal | None | 0 | Maker fee rate. Negative values rebate. |
taker_fee | Decimal | None | 0 | Taker fee rate. Negative values rebate. |
tick_scheme | str | None | None | Registered variable tick scheme name. |
info | dict | None | None | Adapter metadata. |
Note: Python constructors use instrument_id; Rust stores the same value as id.
Behavior
Equityhas asset classEquityand instrument classSpot.- Quantity precision is always zero, so orders use whole-share quantities.
- The multiplier and size increment are one.
- It has no base currency, expiry, strike, option kind, or inverse costing flag.
- Use price limits only when the venue publishes them.
Example
use nautilus_core::UnixNanos;
use nautilus_model::{
identifiers::{InstrumentId, Symbol},
instruments::Equity,
types::{Currency, Price, Quantity},
};
use ustr::Ustr;
let aapl = Equity::builder()
.instrument_id(InstrumentId::from("AAPL.XNAS"))
.raw_symbol(Symbol::from("AAPL"))
.isin(Ustr::from("US0378331005"))
.currency(Currency::from("USD"))
.price_precision(2)
.price_increment(Price::from("0.01"))
.lot_size(Quantity::from("100"))
.ts_event(UnixNanos::default())
.ts_init(UnixNanos::default())
.build()
.unwrap();Adapters
Representative adapters that create or consume Equity instruments include:
- Databento for listed US equities and ETFs.
- Interactive Brokers for listed equity contracts.
Related guides
- Data explains market data that references instruments.
- Value types explains
Price,Quantity, andMoney.
Instruments
An instrument represents the specification for a tradable asset, contract, or local synthetic market. Market data, orders, positions, accounting, portfolio...
Currency Pair
CurrencyPair represents a spot or cash market quoted as BASE/QUOTE. The base currency is the asset being bought or sold, and the quote currency prices one...