Reference
Data formats, Instruments, and canonical shapes
Look up local source adapters, Instrument economics and identity, Bar/Trade/Quote/MBP/MBO fields, UTC timestamp conversion, deterministic ordering, sessions, quality, and fidelity limits.
App path
- Data Manager -> Import Local -> Inspect -> Mapping -> Instrument Resolution
- Data Manager -> Catalog -> Dataset Inspector
Start with meaning, not file extension
Arizmic imports heterogeneous source files and provider responses into immutable canonical Datasets. A supported extension means the source can be inspected by an adapter; it does not prove the selected schema, Instrument, timestamps, ordering, or event semantics are correct.
The safe chain is:
source bytes + adapter
-> explicit mapping and Instrument/session resolution
-> bounded typed normalization
-> canonical partitions + quality/coverage evidence + checksums
-> candidate Dataset version
-> operator review and activationSource bytes are never edited in place by import. Correct a bad conversion or mapping by producing a new reviewed source or Dataset version.
Supported local source families
| Source family | Typical input | Mapping behavior | Important boundary |
|---|---|---|---|
| CSV / compatible text | Delimited rows with headers or configured columns | Flexible field mapping | Column names do not establish units, timestamp meaning, side/action vocabulary, or deterministic ordering |
| Parquet / Arrow-compatible columnar | Typed columnar files or folders | Flexible mapping where adapter permits | Arrow type helps parsing but does not establish business semantics |
| SCID | Sierra Chart intraday records plus applicable companion definition context | Source-specific adapter; some semantics fixed | Confirm record version, price scale, Instrument/economics, timezone and file completeness |
| Databento files | Provider-native delivered schemas/metadata | Source-specific fixed/derived mapping | Dataset/schema/Instrument definition and provider version remain part of lineage |
| Massive files | Provider-native historical bundle | Source-specific mapping | Exact provider contract, asset/schema and entitlement still apply |
| CME DataMine | Exchange/vendor delivery layout | Source-specific mapping | Contract/reference, timestamp, corrections and bundle completeness must resolve |
| Custom adapter | A registered trusted source contract | Adapter-owned inspection, mapping and decode | Generic column mapping cannot replace a missing source-specific action/order contract |
The capability registry lists these source families for the Local Import platform. Actual support is adapter-version and schema specific. A folder is a collection of source files, not proof that coverage is non-overlapping or that every file belongs to the same Instrument.
Canonical shape summary
| Shape | One row/event represents | Core time | Minimum semantic evidence |
|---|---|---|---|
| Instrument | One governed reference-data identity/version | No market-event time required | Asset, canonical Instrument ID, venue, price increment, contract size, tick value, timezone and calendar |
| Bar | One bounded OHLC interval | ts_start, ts_end | Instrument, bar type/interval, open/high/low/close; volume/trade count only when truly supplied |
| Trade / Tick | One executed market trade | ts_event | Instrument, price, size and source; optional trade ID, receive time, aggressor/classification |
| Quote | One top-of-book observation/update | ts_event | Instrument, bid/ask prices and corresponding sizes, including explicit nullable one-sided rules |
| Order Book Delta / Depth Delta | One price-level mutation or snapshot row | ts_event | Instrument, action, side, price, size, snapshot/reset meaning, source and ordering/level evidence |
| Order Book Event | One richer feed/order-level event | ts_event | Event/action/side plus price/size where applicable, genuine order/sequence/channel/publisher/depth/snapshot/reset semantics |
Choose the shape that describes the source record—not the downstream fidelity you want. A bar file cannot become trades because it has volume. A price-level depth file cannot become MBO because it has a sequence column.
Instrument contract
Every market Dataset resolves these governed fields:
| Field | Meaning | Why it matters |
|---|---|---|
| Asset class | Actual product family | Eligibility, Instrument normalization, costs, settlement and execution assumptions |
| Instrument ID | Canonical governed identity | Prevents symbol/venue/contract ambiguity |
| Venue | Market/exchange, not vendor or broker | Calendar/rule context and symbol disambiguation |
| Price increment / Tick Size | Minimum legal price step | Tick-grid validation, price ticks, stops/limits and slippage |
| Contract size | Underlying units per contract/trading unit | Monetary notional, P&L, exposure and risk |
| Tick value | Monetary value of one tick | Per-contract monetary calculations |
| Source timezone | Zone used to localize naive timestamps | Correct UTC conversion and DST handling |
| Trading calendar | Versioned session/holiday definition | Coverage, grouping, resets, sessions, rolls and Study windows |
The exact invariant is:
tick value = price increment × contract sizeIf all three are supplied and disagree, resolution blocks. Do not tune economics until a backtest looks familiar.
Keep source, contract, and root identity separate
| Identity | Purpose |
|---|---|
| Provider/source symbol or numeric ID | Locate and trace the record in the producer's namespace |
| Contract Instrument | Identify the exact tradable/expiring contract whose history is stored |
| Root/research Instrument | Organize related contracts and support an explicit roll/view decision |
A vendor is not a venue. A venue symbol is not globally unique. A continuous futures label is not an exchange-traded contract. Multi-contract import keeps each contract unchanged; roll policy belongs to a research view or Study and does not rewrite canonical rows.
Bar shape
Required canonical meaning:
ts_start: inclusive interval start;ts_end: interval completion boundary;instrument_id;bar_typeand interval;open,high,low,close;source_id; and- volume/trade count only when the producer truly supplies those measures.
ts_start must precede ts_end, and the interval label must agree with the
bounds. A single field named timestamp is ambiguous until the producer says
whether it means bar open, close, or another label. Mapping close time as start
time shifts the interval and can introduce look-ahead.
OHLC is not execution detail. Bar fidelity uses an authored fill model to reason within/around completed bars; the bar does not reveal individual trades, top-of-book state, queue position, or depth.
Trade / Tick shape
Required canonical fields:
ts_event;instrument_id;- executed
price; - executed
size; and source_id.
Optional evidence can include ts_recv, exchange trade ID, aggressor side,
classified bid/ask/unknown volume, sequence/channel facts, and source file/row.
Trade size is not quote size, order size, cumulative bar volume, or contract multiplier. Aggressor side is not book side. Multiple legitimate trades can share a timestamp and price; deduplication requires stronger event identity.
A trade stream can support trade/tick replay when ordering, continuity, Instrument, source roles, corrections and the selected execution contract all pass readiness. It does not provide contemporaneous spread or queue state.
Quote shape
Canonical quote observations carry:
ts_eventand optionallyts_recv;instrument_id;- bid price and bid size;
- ask price and ask size;
- source identity; and
- genuine ordering/source fields where available.
One-sided quotes can be represented only under an explicit nullable-field and consumer contract. Crossed or locked states are quality facts; do not silently swap sides or widen the market.
L1/Quote fidelity needs a Prepared quote-replay contract, not merely a table with bid and ask columns. At the reviewed revision, the dedicated L1 replay and state-anchor contract remains planned/internal.
Depth Delta / MBP shape
A price-level delta describes a change to aggregated book state. Core fields include:
ts_event,instrument_id,source_id;actionand bid/askside;- price and size;
is_snapshotor equivalent snapshot/reset boundary; and- level, sequence, channel/publisher and receive time when required by the feed.
The adapter must define add/modify/delete/clear/reset semantics, zero-size behavior, level meaning, snapshot completeness, and ordering. Generic mapping selects a column; it does not translate arbitrary vendor integer codes into a safe action vocabulary.
MBP/L2 aggregates quantity at price levels. It cannot prove individual order identity or true FIFO queue position.
Order Book Event / MBO shape
The richer event contract can retain:
- event type, action and side;
- price, size and level;
- genuine order ID;
- sequence, channel ID and publisher ID;
- depth and source symbol/source Instrument;
- snapshot, reset, trade, fill and bad-book flags; and
- bounded source-specific context.
MBO/L3 requires actual order-level identity and lifecycle semantics. A price- level update does not become MBO because an adapter generates synthetic IDs. Current complete L3 Prepared/runtime/queue-evidence support remains planned and must fail closed.
Timestamp contract
All canonical market timestamps are stored at nanosecond precision in UTC.
| Source representation | Canonicalization |
|---|---|
| Offset-bearing string/timestamp | Convert using the row's explicit offset |
| Naive string/date/timestamp | Localize with the selected named source timezone and DST rules, then convert to UTC |
| Generic integer column | Interpret directly as Unix epoch nanoseconds |
| Adapter-owned binary/provider field | Use the adapter's documented unit and conversion |
The current flexible Local Import mapping has no integer unit selector. Convert epoch seconds, milliseconds, or microseconds in a new source before import:
| Unit | Multiply by |
|---|---|
| Seconds | 1,000,000,000 |
| Milliseconds | 1,000,000 |
| Microseconds | 1,000 |
| Nanoseconds | 1 |
Retain the original and conversion provenance. Check overflow and known earliest and latest UTC examples. A timestamp near 1970 or far in the future usually signals a unit problem before a timezone problem.
Time fields are not interchangeable
ts_event: when the market/provider event occurred; primary event ordering.ts_recv: when the collection/feed system received it; latency and feed-order evidence, not market time.ts_start: inclusive Bar interval start.ts_end: Bar completion boundary.
Mapping receive time as event time adds transport latency to the market timeline. Mapping a bar close label to its start can make a Strategy consume future interval information.
Negative receive latency, out-of-order timestamps, and event/receive inversions are quality evidence. They are not repaired by relabeling fields.
Deterministic ordering and duplicates
Canonical event replay needs a total or sufficiently defined order. Use the strongest genuine evidence available:
event time -> provider sequence -> channel/publisher -> receive time
-> source file -> source rowThe exact precedence is adapter/Prepared-contract specific. Source row is provenance; it is not automatically exchange order. Do not invent a sequence, order ID, or tie-breaker.
A non_monotonic_timestamp Dataset warning can become a blocker for Tick,
Quote, Depth or other deterministic consumers. If a derived sort is justified,
create and audit it while retaining the original source/checksum.
Duplicates are semantic:
- trades: exchange trade/event ID where available;
- MBO: order ID plus event/action identity;
- feed events: provider sequence/channel/publisher/event identity;
- repeated input: exact source file and row provenance.
Never deduplicate by timestamp or matching price/size alone.
Side, size, price, and action rules
| Concept | Keep distinct from |
|---|---|
| Trade aggressor side | Bid/ask book side |
| Executed trade size | Displayed quote size, resting order size, bar volume, contract size |
| Price | Price ticks; they must agree under the governed price increment |
| Classified volume | Total trade size; components must be nonnegative and not exceed the total |
| Depth action | Arbitrary vendor op-code without an adapter-owned translation |
| Snapshot/reset | Ordinary update; false or missing boundaries corrupt later book state |
Required price/size fields must be positive where the shape demands it. A systematic price-versus-ticks disagreement usually indicates wrong scale, tick size, or Instrument identity.
Timezone, calendar, and session identity
Timezone answers how to localize source timestamps. Calendar answers which market session owns a correct UTC instant. They are separate.
Session-aligned workflows retain windows with:
- session ID/name;
- UTC start and end nanoseconds;
- calendar ID and definition version;
- session-profile ID and definition version; and
- a deterministic session-window fingerprint.
Sessions are sorted and non-overlapping. Changing a calendar/profile definition can make prior session-aligned Prepared Data stale even when the display label is unchanged. Epoch-aligned data cannot claim a session fingerprint, and session-aligned data cannot proceed without one.
Calendars affect missing-session checks, intraday grouping/resets, opening ranges, session VWAP, overnight rules, Study windows and futures roll timing. Do not change timezone to imitate session open or choose a nearby calendar to make validation pass.
Import validation and canonical quality
Sample validation checks a bounded subset for mapping/type/schema readiness. Full import accumulates wider evidence including:
- null required fields and invalid casts;
- timestamp bounds, monotonicity and ordering breaks;
- duplicate source-row keys;
- nonpositive price/size;
- OHLC and Bar interval contradictions;
- price/tick disagreement;
- classified-volume inconsistencies;
- negative receive latency and feed-order inversions;
- crossed/invalid book state and snapshot/reset problems; and
- source coverage/file overlap where supported.
Warnings remain evidence. Activation is an explicit review step and does not erase them. Downstream Study validation rechecks whether the exact Dataset can support the selected topology and fidelity.
Format-to-fidelity decision guide
| Available canonical evidence | Maximum question before request validation | Do not infer |
|---|---|---|
| Bars | Bar-oriented calculations and supported Bar execution | Intrabar trade/quote/depth order |
| Trades with deterministic ordering | Trade/tick calculations and eligible Tick replay | Spread, displayed depth, queue position |
| Trades + top-of-book quotes under exact source roles | Eligible L1/Quote research after Prepared/runtime support | L2 depth or individual orders |
| Reconstructable MBP snapshots/deltas | Eligible L2/Depth research after exact continuity/runtime validation | MBO/FIFO order queue |
| Genuine MBO order events | Potential L3 question only when Prepared/runtime/evidence capability ships | Automatic current L3 availability |
Use the minimum fidelity that answers the question. More columns do not create better evidence when their source semantics or runtime are incomplete.
Technical normalization workflow
adapter discovers source units and fixed/flexible schema
-> mapping binds canonical fields and source roles
-> Instrument resolver joins manual, embedded, definition and confirmed-profile evidence
-> timestamps normalize to UTC ns
-> records validate and normalize in bounded batches
-> deterministic partitions and quality accumulators publish atomically
-> manifest/checksums/catalog candidate retain lineage
-> activation makes the immutable version selectableThe mapping fingerprint, Instrument/profile fingerprint, source checksums, adapter/version, canonical schema, partitions, quality report, coverage and activation event are all needed for reproduction. A Parquet output alone is not the Dataset contract.
Next
Use Map Columns and Timestamps for step-by-step mapping, Resolve Instruments and Sessions for identity/economics/calendars, and Prepared Fidelity Layers and Blockers for the source roles required by each execution cell.