Versions in this module Expand all Collapse all v1 v1.0.0 Jun 16, 2026 Changes in this version + const AggregationSourceExternal + const AggregationSourceInternal + const BarAggregationTime + const BarPriceTypeLast + var ErrInstrumentNotFound = errors.New("instrument not found") + var ErrInvalidAccount = errors.New("invalid account") + var ErrInvalidExecutionEvent = errors.New("invalid execution event") + var ErrInvalidInstrument = errors.New("invalid instrument") + var ErrInvalidInstrumentID = errors.New("invalid instrument id") + var ErrInvalidMarketData = errors.New("invalid market data") + var ErrInvalidOrder = errors.New("invalid order") + var ErrNotSupported = errors.New("not supported") + type AccountID string + type AccountSnapshot struct + AccountID AccountID + Balances []Balance + BaseCurrency Currency + Margins []MarginBalance + Timestamp time.Time + Type AccountType + Venue Venue + func (a AccountSnapshot) Validate() error + type AccountType string + const AccountTypeCash + const AccountTypeMargin + type AggregationSource string + type AggressorSide string + const AggressorSideBuyer + const AggressorSideNoAggressor + const AggressorSideSeller + func (s AggressorSide) Validate() error + type Balance struct + Currency Currency + Free string + Locked string + Total string + func (b Balance) Amounts() (total decimal.Decimal, locked decimal.Decimal, free decimal.Decimal, err error) + func (b Balance) FreeAmount() (decimal.Decimal, error) + func (b Balance) LockedAmount() (decimal.Decimal, error) + func (b Balance) TotalAmount() (decimal.Decimal, error) + func (b Balance) Validate() error + type Bar struct + BarType BarType + Close decimal.Decimal + High decimal.Decimal + InitTime time.Time + IsRevision bool + Low decimal.Decimal + Open decimal.Decimal + Timestamp time.Time + Volume decimal.Decimal + func (b Bar) Validate() error + type BarAggregation string + type BarPriceType string + type BarType struct + Aggregation BarAggregation + AggregationSource AggregationSource + InstrumentID InstrumentID + PriceType BarPriceType + Step time.Duration + func NewTimeBarType(instrumentID InstrumentID, step time.Duration) BarType + func (t BarType) Canonical() BarType + func (t BarType) String() string + func (t BarType) Validate() error + type BatchCancelOrders struct + AccountID AccountID + Cancels []CancelOrder + InstrumentID InstrumentID + Metadata CommandMetadata + func (b BatchCancelOrders) Validate() error + type BracketOrderRequest struct + EntryPrice decimal.Decimal + InstrumentID InstrumentID + Quantity decimal.Decimal + Side OrderSide + StopLoss decimal.Decimal + TakeProfit decimal.Decimal + type CancelAllOrders struct + AccountID AccountID + InstrumentID InstrumentID + Metadata CommandMetadata + OrderSide OrderSide + func (c CancelAllOrders) MatchesOrder(order OrderStatusReport) bool + func (c CancelAllOrders) Validate() error + type CancelOrder struct + AccountID AccountID + ClientOrderID ClientOrderID + InstrumentID InstrumentID + Metadata CommandMetadata + OrderID OrderID + func (o CancelOrder) Validate() error + type ClientOrderID string + type CommandID string + type CommandMetadata struct + ClientID ExecutionClientID + CommandID CommandID + ComponentID ComponentID + CorrelationID CorrelationID + ExecAlgorithmID ExecAlgorithmID + ExecSpawnID ExecSpawnID + Params map[string]string + StrategyID StrategyID + TraderID TraderID + TsInit time.Time + func (m CommandMetadata) Clone() CommandMetadata + func (m CommandMetadata) WithDefaults(defaults CommandMetadata) CommandMetadata + type ComponentID string + type ContingencyType string + const ContingencyTypeOCO + const ContingencyTypeOTO + const ContingencyTypeOUO + func (c ContingencyType) Validate() error + type CorrelationID string + type Currency string + type CustomData struct + Fields map[string]string + InitTime time.Time + InstrumentID InstrumentID + Timestamp time.Time + Type string + func (d CustomData) Validate() error + type DataRequest struct + BarType BarType + CustomType string + Depth int + End time.Time + InstrumentID InstrumentID + Limit int + Metadata CommandMetadata + RequestID DataRequestID + Start time.Time + Type MarketDataType + func (r DataRequest) Validate() error + type DataRequestID string + type DataResponse struct + BarType BarType + Events []MarketEvent + InstrumentID InstrumentID + IsFinal bool + Metadata CommandMetadata + RequestID DataRequestID + Type MarketDataType + func (r DataResponse) Validate() error + type ExecAlgorithmID string + type ExecSpawnID string + type ExecutionClientID string + type ExecutionEvent struct + Account *AccountSnapshot + Fill *FillReport + Lifecycle *OrderLifecycleEvent + Order *OrderStatusReport + Position *PositionStatusReport + PositionLifecycle *PositionLifecycleEvent + func (e ExecutionEvent) Validate() error + type ExecutionMassStatus struct + AccountID AccountID + Accounts []AccountSnapshot + Fills []FillReport + Metadata CommandMetadata + Orders []OrderStatusReport + Positions []PositionStatusReport + Timestamp time.Time + Venue Venue + func (s ExecutionMassStatus) Validate() error + type FillReport struct + AccountID AccountID + ClientOrderID ClientOrderID + Fee decimal.Decimal + FeeCurrency Currency + InstrumentID InstrumentID + IsLeg bool + OrderID OrderID + PositionID PositionID + Price decimal.Decimal + Quantity decimal.Decimal + Side OrderSide + Timestamp time.Time + TradeID TradeID + VenueOrderID VenueOrderID + func (r FillReport) IsLegFill() bool + func (r FillReport) Validate() error + type FundingRate struct + FundingInterval time.Duration + IndexPrice decimal.Decimal + InitTime time.Time + InstrumentID InstrumentID + MarkPrice decimal.Decimal + NextFundingTime time.Time + Rate decimal.Decimal + Timestamp time.Time + func (f FundingRate) Validate() error + type GenerateExecutionMassStatus struct + AccountID AccountID + ClientOrderID ClientOrderID + InstrumentID InstrumentID + Metadata CommandMetadata + OrderID OrderID + PositionID PositionID + VenueOrderID VenueOrderID + VenuePositionID VenuePositionID + func (c GenerateExecutionMassStatus) Validate() error + type GenerateFillReports struct + AccountID AccountID + ClientOrderID ClientOrderID + InstrumentID InstrumentID + Metadata CommandMetadata + OrderID OrderID + StartTradeID TradeID + VenueOrderID VenueOrderID + func (c GenerateFillReports) Validate() error + type GenerateOrderStatusReports struct + AccountID AccountID + ClientOrderID ClientOrderID + InstrumentID InstrumentID + Metadata CommandMetadata + OrderID OrderID + VenueOrderID VenueOrderID + func (c GenerateOrderStatusReports) Validate() error + type GeneratePositionStatusReports struct + AccountID AccountID + InstrumentID InstrumentID + Metadata CommandMetadata + PositionID PositionID + VenuePositionID VenuePositionID + func (c GeneratePositionStatusReports) Validate() error + type Instrument struct + Base Currency + ID InstrumentID + MakerFee decimal.Decimal + MarginInit decimal.Decimal + MarginMaint decimal.Decimal + PriceTick decimal.Decimal + Quote Currency + RawSymbol string + Settle Currency + SizeTick decimal.Decimal + Status InstrumentStatus + TakerFee decimal.Decimal + Type InstrumentType + func (i Instrument) Validate() error + func (i Instrument) ValidatePrice(price decimal.Decimal) error + func (i Instrument) ValidateSize(size decimal.Decimal) error + type InstrumentID struct + Symbol string + Venue Venue + func MustInstrumentID(raw string) InstrumentID + func ParseInstrumentID(raw string) (InstrumentID, error) + func (id InstrumentID) IsSynthetic() bool + func (id InstrumentID) String() string + func (id InstrumentID) Validate() error + type InstrumentStatus string + const InstrumentStatusHalted + const InstrumentStatusTrading + type InstrumentType string + const InstrumentTypeBetting + const InstrumentTypeEquity + const InstrumentTypeFuture + const InstrumentTypeIndex + const InstrumentTypeOption + const InstrumentTypePerp + const InstrumentTypeSpot + const InstrumentTypeSpread + const InstrumentTypeSynthetic + func (t InstrumentType) Validate() error + type MarginBalance struct + Currency Currency + Initial string + InstrumentID InstrumentID + Maintenance string + func (m MarginBalance) Amounts() (initial decimal.Decimal, maintenance decimal.Decimal, err error) + func (m MarginBalance) Validate() error + type MarketDataType string + const MarketDataTypeBar + const MarketDataTypeCustom + const MarketDataTypeFundingRate + const MarketDataTypeOrderBook + const MarketDataTypeQuoteTick + const MarketDataTypeTicker + const MarketDataTypeTradeTick + func (t MarketDataType) String() string + func (t MarketDataType) Validate() error + type MarketEvent struct + Bar *Bar + Custom *CustomData + FundingRate *FundingRate + OrderBook *OrderBook + Quote *QuoteTick + Ticker *Ticker + Trade *TradeTick + func (e MarketEvent) InstrumentID() InstrumentID + func (e MarketEvent) Validate() error + type ModifyOrder struct + AccountID AccountID + ActivationPrice decimal.Decimal + ClientOrderID ClientOrderID + InstrumentID InstrumentID + Metadata CommandMetadata + OrderID OrderID + Price decimal.Decimal + Quantity decimal.Decimal + TimeInForce TimeInForce + TrailingOffset decimal.Decimal + TrailingOffsetType TrailingOffsetType + TriggerPrice decimal.Decimal + VenueOrderID VenueOrderID + func (o ModifyOrder) Validate() error + type OrderBook struct + Asks []OrderBookLevel + Bids []OrderBookLevel + InstrumentID InstrumentID + Timestamp time.Time + func (b OrderBook) Validate() error + type OrderBookLevel struct + Price decimal.Decimal + Size decimal.Decimal + type OrderEventKind string + const OrderEventAccepted + const OrderEventCancelRejected + const OrderEventCanceled + const OrderEventDenied + const OrderEventEmulated + const OrderEventExpired + const OrderEventFilled + const OrderEventInitialized + const OrderEventModifyRejected + const OrderEventPartiallyFilled + const OrderEventPendingCancel + const OrderEventPendingUpdate + const OrderEventRejected + const OrderEventReleased + const OrderEventSubmitted + const OrderEventTriggered + const OrderEventUpdated + func (k OrderEventKind) TargetStatus() (OrderStatus, bool) + type OrderFactory struct + func NewOrderFactory(accountID AccountID, opts ...OrderFactoryOption) *OrderFactory + func (f *OrderFactory) Bracket(req BracketOrderRequest) OrderList + func (f *OrderFactory) Limit(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, ...) SubmitOrder + func (f *OrderFactory) LimitIfTouched(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, ...) SubmitOrder + func (f *OrderFactory) Market(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, ...) SubmitOrder + func (f *OrderFactory) MarketIfTouched(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, ...) SubmitOrder + func (f *OrderFactory) MarketToLimit(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, ...) SubmitOrder + func (f *OrderFactory) StopLimit(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, ...) SubmitOrder + func (f *OrderFactory) StopMarket(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, ...) SubmitOrder + func (f *OrderFactory) TrailingStopLimit(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, ...) SubmitOrder + func (f *OrderFactory) TrailingStopMarket(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, ...) SubmitOrder + type OrderFactoryOption func(*OrderFactory) + func WithClientOrderIDPrefix(prefix string) OrderFactoryOption + func WithOrderMetadata(metadata CommandMetadata) OrderFactoryOption + type OrderID string + type OrderLifecycleEvent struct + AccountID AccountID + ClientOrderID ClientOrderID + InstrumentID InstrumentID + Kind OrderEventKind + Metadata CommandMetadata + OrderID OrderID + PreviousStatus OrderStatus + Reason string + Report *OrderStatusReport + Status OrderStatus + VenueOrderID VenueOrderID + func (e OrderLifecycleEvent) Validate() error + type OrderList struct + ID OrderListID + Metadata CommandMetadata + Orders []SubmitOrder + func (l OrderList) IsBracket() bool + func (l OrderList) Kind() OrderListKind + func (l OrderList) UniformInstrument() (InstrumentID, bool) + func (l OrderList) Validate() error + func (l OrderList) Venue() (Venue, bool) + func (l OrderList) WithCommandMetadataDefaults() OrderList + type OrderListID string + type OrderListKind string + const OrderListKindBracket + const OrderListKindBulk + const OrderListKindOCO + const OrderListKindOTO + const OrderListKindOUO + type OrderSide string + const OrderSideBuy + const OrderSideSell + func (s OrderSide) Opposite() OrderSide + type OrderStatus string + const OrderStatusAccepted + const OrderStatusCanceled + const OrderStatusDenied + const OrderStatusEmulated + const OrderStatusExpired + const OrderStatusFilled + const OrderStatusInitialized + const OrderStatusPartiallyFilled + const OrderStatusPendingCancel + const OrderStatusPendingUpdate + const OrderStatusRejected + const OrderStatusReleased + const OrderStatusSubmitted + const OrderStatusTriggered + func (s OrderStatus) IsOpen() bool + func (s OrderStatus) IsTerminal() bool + type OrderStatusReport struct + AccountID AccountID + ActivationPrice decimal.Decimal + AveragePrice decimal.Decimal + ClientOrderID ClientOrderID + Contingency ContingencyType + ExpireTime time.Time + FilledQuantity decimal.Decimal + InstrumentID InstrumentID + LastUpdatedTime time.Time + LeavesQuantity decimal.Decimal + Metadata CommandMetadata + OrderID OrderID + OrderListID OrderListID + ParentClientOrderID ClientOrderID + PositionID PositionID + PostOnly bool + Price decimal.Decimal + Quantity decimal.Decimal + ReduceOnly bool + Side OrderSide + Status OrderStatus + TimeInForce TimeInForce + TrailingOffset decimal.Decimal + TrailingOffsetType TrailingOffsetType + TriggerInstrumentID InstrumentID + TriggerPrice decimal.Decimal + Type OrderType + VenueOrderID VenueOrderID + func ApplyOrderModification(order OrderStatusReport, modify ModifyOrder) (OrderStatusReport, bool, error) + func (r OrderStatusReport) TriggerInstrument() InstrumentID + func (r OrderStatusReport) Validate() error + type OrderType string + const OrderTypeLimit + const OrderTypeLimitIfTouched + const OrderTypeMarket + const OrderTypeMarketIfTouched + const OrderTypeMarketToLimit + const OrderTypeStopLimit + const OrderTypeStopMarket + const OrderTypeTrailingStopLimit + const OrderTypeTrailingStopMarket + func (t OrderType) Validate() error + type PositionEventKind string + const PositionEventChanged + const PositionEventClosed + const PositionEventOpened + type PositionID string + type PositionLifecycleEvent struct + AccountID AccountID + InstrumentID InstrumentID + Kind PositionEventKind + PositionID PositionID + PreviousQuantity decimal.Decimal + PreviousSide PositionSide + Quantity decimal.Decimal + Report *PositionStatusReport + Side PositionSide + func NewPositionLifecycleEvent(previous *PositionStatusReport, next PositionStatusReport) (PositionLifecycleEvent, bool) + func (e PositionLifecycleEvent) Validate() error + type PositionSide string + const PositionSideFlat + const PositionSideLong + const PositionSideShort + type PositionStatusReport struct + AccountID AccountID + EntryPrice decimal.Decimal + InstrumentID InstrumentID + Metadata CommandMetadata + PositionID PositionID + Quantity decimal.Decimal + Side PositionSide + Timestamp time.Time + VenuePositionID VenuePositionID + func (r PositionStatusReport) Validate() error + type QueryAccount struct + AccountID AccountID + Metadata CommandMetadata + func (q QueryAccount) Validate() error + type QueryOrder struct + AccountID AccountID + ClientOrderID ClientOrderID + InstrumentID InstrumentID + Metadata CommandMetadata + OrderID OrderID + VenueOrderID VenueOrderID + func (q QueryOrder) Validate() error + type QuoteTick struct + AskPrice decimal.Decimal + AskSize decimal.Decimal + BidPrice decimal.Decimal + BidSize decimal.Decimal + InitTime time.Time + InstrumentID InstrumentID + Timestamp time.Time + func (q QuoteTick) Validate() error + type StrategyID string + type SubmitOrder struct + AccountID AccountID + ActivationPrice decimal.Decimal + ClientOrderID ClientOrderID + Contingency ContingencyType + EmulationTrigger TriggerType + ExpireTime time.Time + InstrumentID InstrumentID + Metadata CommandMetadata + OrderListID OrderListID + ParentClientOrderID ClientOrderID + PostOnly bool + Price decimal.Decimal + Quantity decimal.Decimal + ReduceOnly bool + Side OrderSide + TimeInForce TimeInForce + TrailingOffset decimal.Decimal + TrailingOffsetType TrailingOffsetType + TriggerInstrumentID InstrumentID + TriggerPrice decimal.Decimal + Type OrderType + func (o SubmitOrder) TriggerInstrument() InstrumentID + func (o SubmitOrder) Validate() error + type SubmitOrderList struct + AccountID AccountID + List OrderList + Metadata CommandMetadata + func (c SubmitOrderList) Validate() error + func (c SubmitOrderList) WithCommandMetadataDefaults() SubmitOrderList + type SubmitOrderOption func(*SubmitOrder) + func WithActivationPrice(price decimal.Decimal) SubmitOrderOption + func WithClientOrderID(id ClientOrderID) SubmitOrderOption + func WithCommandMetadata(metadata CommandMetadata) SubmitOrderOption + func WithContingency(contingency ContingencyType) SubmitOrderOption + func WithExpireTime(expire time.Time) SubmitOrderOption + func WithOrderListID(id OrderListID) SubmitOrderOption + func WithParentClientOrderID(id ClientOrderID) SubmitOrderOption + func WithPostOnly() SubmitOrderOption + func WithReduceOnly() SubmitOrderOption + func WithTimeInForce(tif TimeInForce) SubmitOrderOption + func WithTrailingOffset(offset decimal.Decimal) SubmitOrderOption + func WithTrailingOffsetType(offsetType TrailingOffsetType) SubmitOrderOption + func WithTriggerInstrumentID(id InstrumentID) SubmitOrderOption + func WithTriggerPrice(price decimal.Decimal) SubmitOrderOption + type SubscribeMarketData struct + BarType BarType + Depth int + InstrumentID InstrumentID + Type MarketDataType + func (s SubscribeMarketData) Key() string + func (s SubscribeMarketData) Validate() error + type SyntheticInstrument struct + Components []InstrumentID + Formula string + ID InstrumentID + InitTime time.Time + PricePrecision int + PriceTick decimal.Decimal + Timestamp time.Time + func (s SyntheticInstrument) Validate() error + type Ticker struct + Ask decimal.Decimal + Bid decimal.Decimal + InstrumentID InstrumentID + Last decimal.Decimal + Timestamp time.Time + func (t Ticker) Validate() error + type TimeInForce string + const TimeInForceDAY + const TimeInForceFOK + const TimeInForceGTC + const TimeInForceGTD + const TimeInForceIOC + func (t TimeInForce) Validate() error + type TradeID string + type TradeTick struct + AggressorSide AggressorSide + InitTime time.Time + InstrumentID InstrumentID + Price decimal.Decimal + Size decimal.Decimal + Timestamp time.Time + TradeID TradeID + func (t TradeTick) Validate() error + type TraderID string + type TrailingOffsetType string + const TrailingOffsetTypeBasisPoints + const TrailingOffsetTypePrice + const TrailingOffsetTypeTicks + func (t TrailingOffsetType) Canonical() TrailingOffsetType + func (t TrailingOffsetType) Validate() error + type TriggerType string + const TriggerTypeBidAsk + const TriggerTypeDefault + const TriggerTypeLastPrice + const TriggerTypeNoTrigger + func (t TriggerType) IsActive() bool + func (t TriggerType) Validate() error + type Venue string + type VenueOrderID string + type VenuePositionID string