Documentation
¶
Overview ¶
Package model contains the normalized trading domain model used above SDKs.
Index ¶
- Constants
- Variables
- type AccountID
- type AccountSnapshot
- type AccountType
- type AggregationSource
- type AggressorSide
- type Balance
- 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
- type BarAggregation
- type BarPriceType
- type BarType
- type BatchCancelOrders
- type BracketOrderRequest
- type CancelAllOrders
- type CancelOrder
- type ClientOrderID
- type CommandID
- type CommandMetadata
- type ComponentID
- type ContingencyType
- type CorrelationID
- type Currency
- type CustomData
- type DataRequest
- type DataRequestID
- type DataResponse
- type ExecAlgorithmID
- type ExecSpawnID
- type ExecutionClientID
- type ExecutionEvent
- type ExecutionMassStatus
- type FillReport
- type FundingRate
- type GenerateExecutionMassStatus
- type GenerateFillReports
- type GenerateOrderStatusReports
- type GeneratePositionStatusReports
- type Instrument
- type InstrumentID
- type InstrumentStatus
- type InstrumentType
- type MarginBalance
- type MarketDataType
- type MarketEvent
- type ModifyOrder
- type OrderBook
- type OrderBookLevel
- type OrderEventKind
- type 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
- type OrderID
- type OrderLifecycleEvent
- type OrderList
- type OrderListID
- type OrderListKind
- type OrderSide
- type OrderStatus
- type OrderStatusReport
- type OrderType
- type PositionEventKind
- type PositionID
- type PositionLifecycleEvent
- type PositionSide
- type PositionStatusReport
- type QueryAccount
- type QueryOrder
- type QuoteTick
- type StrategyID
- type SubmitOrder
- type SubmitOrderList
- type SubmitOrderOption
- 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
- type SyntheticInstrument
- type Ticker
- type TimeInForce
- type TradeID
- type TradeTick
- type TraderID
- type TrailingOffsetType
- type TriggerType
- type Venue
- type VenueOrderID
- type VenuePositionID
Constants ¶
View Source
const ( BarAggregationTime BarAggregation = "time" BarPriceTypeLast BarPriceType = "last" AggregationSourceExternal AggregationSource = "external" AggregationSourceInternal AggregationSource = "internal" )
Variables ¶
View Source
var ( ErrInvalidInstrumentID = errors.New("invalid instrument id") ErrInvalidInstrument = errors.New("invalid instrument") ErrInstrumentNotFound = errors.New("instrument not found") ErrInvalidMarketData = errors.New("invalid market data") ErrInvalidOrder = errors.New("invalid order") ErrInvalidAccount = errors.New("invalid account") ErrInvalidExecutionEvent = errors.New("invalid execution event") ErrNotSupported = errors.New("not supported") )
Functions ¶
This section is empty.
Types ¶
type AccountSnapshot ¶
type AccountSnapshot struct {
AccountID AccountID
Venue Venue
Type AccountType
BaseCurrency Currency
Balances []Balance
Margins []MarginBalance
Timestamp time.Time
}
func (AccountSnapshot) Validate ¶
func (a AccountSnapshot) Validate() error
type AccountType ¶
type AccountType string
const ( AccountTypeCash AccountType = "cash" AccountTypeMargin AccountType = "margin" )
type AggregationSource ¶
type AggregationSource string
type AggressorSide ¶
type AggressorSide string
const ( AggressorSideBuyer AggressorSide = "buyer" AggressorSideSeller AggressorSide = "seller" AggressorSideNoAggressor AggressorSide = "no_aggressor" )
func (AggressorSide) Validate ¶
func (s AggressorSide) Validate() error
type Bar ¶
type BarAggregation ¶
type BarAggregation string
type BarPriceType ¶
type BarPriceType string
type BarType ¶
type BarType struct {
InstrumentID InstrumentID
Step time.Duration
Aggregation BarAggregation
PriceType BarPriceType
AggregationSource AggregationSource
}
func NewTimeBarType ¶
func NewTimeBarType(instrumentID InstrumentID, step time.Duration) BarType
type BatchCancelOrders ¶
type BatchCancelOrders struct {
Metadata CommandMetadata
AccountID AccountID
InstrumentID InstrumentID
Cancels []CancelOrder
}
func (BatchCancelOrders) Validate ¶
func (b BatchCancelOrders) Validate() error
type BracketOrderRequest ¶
type CancelAllOrders ¶
type CancelAllOrders struct {
Metadata CommandMetadata
AccountID AccountID
InstrumentID InstrumentID
OrderSide OrderSide
}
func (CancelAllOrders) MatchesOrder ¶
func (c CancelAllOrders) MatchesOrder(order OrderStatusReport) bool
func (CancelAllOrders) Validate ¶
func (c CancelAllOrders) Validate() error
type CancelOrder ¶
type CancelOrder struct {
Metadata CommandMetadata
AccountID AccountID
InstrumentID InstrumentID
OrderID OrderID
ClientOrderID ClientOrderID
}
func (CancelOrder) Validate ¶
func (o CancelOrder) Validate() error
type ClientOrderID ¶
type ClientOrderID string
type CommandMetadata ¶
type CommandMetadata struct {
TraderID TraderID
StrategyID StrategyID
CommandID CommandID
CorrelationID CorrelationID
ClientID ExecutionClientID
ComponentID ComponentID
ExecAlgorithmID ExecAlgorithmID
ExecSpawnID ExecSpawnID
TsInit time.Time
Params map[string]string
}
func (CommandMetadata) Clone ¶
func (m CommandMetadata) Clone() CommandMetadata
func (CommandMetadata) WithDefaults ¶
func (m CommandMetadata) WithDefaults(defaults CommandMetadata) CommandMetadata
type ComponentID ¶
type ComponentID string
type ContingencyType ¶
type ContingencyType string
const ( ContingencyTypeOTO ContingencyType = "oto" ContingencyTypeOCO ContingencyType = "oco" ContingencyTypeOUO ContingencyType = "ouo" )
func (ContingencyType) Validate ¶
func (c ContingencyType) Validate() error
type CorrelationID ¶
type CorrelationID string
type CustomData ¶
type CustomData struct {
InstrumentID InstrumentID
Type string
Fields map[string]string
Timestamp time.Time
InitTime time.Time
}
func (CustomData) Validate ¶
func (d CustomData) Validate() error
type DataRequest ¶
type DataRequest struct {
Metadata CommandMetadata
RequestID DataRequestID
InstrumentID InstrumentID
Type MarketDataType
BarType BarType
Start time.Time
End time.Time
Limit int
Depth int
CustomType string
}
func (DataRequest) Validate ¶
func (r DataRequest) Validate() error
type DataRequestID ¶
type DataRequestID string
type DataResponse ¶
type DataResponse struct {
Metadata CommandMetadata
RequestID DataRequestID
InstrumentID InstrumentID
Type MarketDataType
BarType BarType
Events []MarketEvent
IsFinal bool
}
func (DataResponse) Validate ¶
func (r DataResponse) Validate() error
type ExecAlgorithmID ¶
type ExecAlgorithmID string
type ExecSpawnID ¶
type ExecSpawnID string
type ExecutionClientID ¶
type ExecutionClientID string
type ExecutionEvent ¶
type ExecutionEvent struct {
Account *AccountSnapshot
Order *OrderStatusReport
Lifecycle *OrderLifecycleEvent
Fill *FillReport
Position *PositionStatusReport
PositionLifecycle *PositionLifecycleEvent
}
func (ExecutionEvent) Validate ¶
func (e ExecutionEvent) Validate() error
type ExecutionMassStatus ¶
type ExecutionMassStatus struct {
Metadata CommandMetadata
AccountID AccountID
Venue Venue
Accounts []AccountSnapshot
Orders []OrderStatusReport
Fills []FillReport
Positions []PositionStatusReport
Timestamp time.Time
}
func (ExecutionMassStatus) Validate ¶
func (s ExecutionMassStatus) Validate() error
type FillReport ¶
type FillReport struct {
AccountID AccountID
InstrumentID InstrumentID
OrderID OrderID
VenueOrderID VenueOrderID
ClientOrderID ClientOrderID
TradeID TradeID
PositionID PositionID
IsLeg bool
Side OrderSide
Price decimal.Decimal
Quantity decimal.Decimal
Fee decimal.Decimal
FeeCurrency Currency
Timestamp time.Time
}
func (FillReport) IsLegFill ¶
func (r FillReport) IsLegFill() bool
func (FillReport) Validate ¶
func (r FillReport) Validate() error
type FundingRate ¶
type FundingRate struct {
InstrumentID InstrumentID
// Rate is the venue's settlement-interval funding rate. FundingInterval
// declares that interval when the venue exposes it; callers that need an
// hourly rate should derive it explicitly from these fields.
Rate decimal.Decimal
MarkPrice decimal.Decimal
IndexPrice decimal.Decimal
NextFundingTime time.Time
FundingInterval time.Duration
Timestamp time.Time
InitTime time.Time
}
func (FundingRate) Validate ¶
func (f FundingRate) Validate() error
type GenerateExecutionMassStatus ¶
type GenerateExecutionMassStatus struct {
Metadata CommandMetadata
AccountID AccountID
InstrumentID InstrumentID
OrderID OrderID
VenueOrderID VenueOrderID
ClientOrderID ClientOrderID
PositionID PositionID
VenuePositionID VenuePositionID
}
func (GenerateExecutionMassStatus) Validate ¶
func (c GenerateExecutionMassStatus) Validate() error
type GenerateFillReports ¶
type GenerateFillReports struct {
Metadata CommandMetadata
AccountID AccountID
InstrumentID InstrumentID
OrderID OrderID
VenueOrderID VenueOrderID
ClientOrderID ClientOrderID
StartTradeID TradeID
}
func (GenerateFillReports) Validate ¶
func (c GenerateFillReports) Validate() error
type GenerateOrderStatusReports ¶
type GenerateOrderStatusReports struct {
Metadata CommandMetadata
AccountID AccountID
InstrumentID InstrumentID
OrderID OrderID
VenueOrderID VenueOrderID
ClientOrderID ClientOrderID
}
func (GenerateOrderStatusReports) Validate ¶
func (c GenerateOrderStatusReports) Validate() error
type GeneratePositionStatusReports ¶
type GeneratePositionStatusReports struct {
Metadata CommandMetadata
AccountID AccountID
InstrumentID InstrumentID
PositionID PositionID
VenuePositionID VenuePositionID
}
func (GeneratePositionStatusReports) Validate ¶
func (c GeneratePositionStatusReports) Validate() error
type Instrument ¶
type Instrument struct {
ID InstrumentID
RawSymbol string
Type InstrumentType
Base Currency
Quote Currency
Settle Currency
PriceTick decimal.Decimal
SizeTick decimal.Decimal
MakerFee decimal.Decimal
TakerFee decimal.Decimal
MarginInit decimal.Decimal
MarginMaint decimal.Decimal
Status InstrumentStatus
}
func (Instrument) Validate ¶
func (i Instrument) Validate() error
func (Instrument) ValidatePrice ¶
func (i Instrument) ValidatePrice(price decimal.Decimal) error
func (Instrument) ValidateSize ¶
func (i Instrument) ValidateSize(size decimal.Decimal) error
type InstrumentID ¶
func MustInstrumentID ¶
func MustInstrumentID(raw string) InstrumentID
func ParseInstrumentID ¶
func ParseInstrumentID(raw string) (InstrumentID, error)
func (InstrumentID) IsSynthetic ¶
func (id InstrumentID) IsSynthetic() bool
func (InstrumentID) String ¶
func (id InstrumentID) String() string
func (InstrumentID) Validate ¶
func (id InstrumentID) Validate() error
type InstrumentStatus ¶
type InstrumentStatus string
const ( InstrumentStatusTrading InstrumentStatus = "trading" InstrumentStatusHalted InstrumentStatus = "halted" )
type InstrumentType ¶
type InstrumentType string
const ( InstrumentTypeSpot InstrumentType = "spot" InstrumentTypePerp InstrumentType = "perp" InstrumentTypeFuture InstrumentType = "future" InstrumentTypeOption InstrumentType = "option" InstrumentTypeSpread InstrumentType = "spread" InstrumentTypeSynthetic InstrumentType = "synthetic" InstrumentTypeIndex InstrumentType = "index" InstrumentTypeEquity InstrumentType = "equity" InstrumentTypeBetting InstrumentType = "betting" )
func (InstrumentType) Validate ¶
func (t InstrumentType) Validate() error
type MarginBalance ¶
type MarginBalance struct {
Currency Currency
InstrumentID InstrumentID
Initial string
Maintenance string
}
func (MarginBalance) Validate ¶
func (m MarginBalance) Validate() error
type MarketDataType ¶
type MarketDataType string
const ( MarketDataTypeTicker MarketDataType = "ticker" MarketDataTypeOrderBook MarketDataType = "order_book" MarketDataTypeTradeTick MarketDataType = "trade_tick" MarketDataTypeQuoteTick MarketDataType = "quote_tick" MarketDataTypeBar MarketDataType = "bar" MarketDataTypeFundingRate MarketDataType = "funding_rate" MarketDataTypeCustom MarketDataType = "custom" )
func (MarketDataType) String ¶
func (t MarketDataType) String() string
func (MarketDataType) Validate ¶
func (t MarketDataType) Validate() error
type MarketEvent ¶
type MarketEvent struct {
Ticker *Ticker
OrderBook *OrderBook
Trade *TradeTick
Quote *QuoteTick
Bar *Bar
FundingRate *FundingRate
Custom *CustomData
}
func (MarketEvent) InstrumentID ¶
func (e MarketEvent) InstrumentID() InstrumentID
func (MarketEvent) Validate ¶
func (e MarketEvent) Validate() error
type ModifyOrder ¶
type ModifyOrder struct {
Metadata CommandMetadata
AccountID AccountID
InstrumentID InstrumentID
OrderID OrderID
VenueOrderID VenueOrderID
ClientOrderID ClientOrderID
Quantity decimal.Decimal
Price decimal.Decimal
TriggerPrice decimal.Decimal
ActivationPrice decimal.Decimal
TrailingOffset decimal.Decimal
TrailingOffsetType TrailingOffsetType
TimeInForce TimeInForce
}
func (ModifyOrder) Validate ¶
func (o ModifyOrder) Validate() error
type OrderBook ¶
type OrderBook struct {
InstrumentID InstrumentID
Bids []OrderBookLevel
Asks []OrderBookLevel
Timestamp time.Time
}
type OrderEventKind ¶
type OrderEventKind string
const ( OrderEventInitialized OrderEventKind = "order_initialized" OrderEventDenied OrderEventKind = "order_denied" OrderEventEmulated OrderEventKind = "order_emulated" OrderEventReleased OrderEventKind = "order_released" OrderEventSubmitted OrderEventKind = "order_submitted" OrderEventAccepted OrderEventKind = "order_accepted" OrderEventRejected OrderEventKind = "order_rejected" OrderEventTriggered OrderEventKind = "order_triggered" OrderEventPendingUpdate OrderEventKind = "order_pending_update" OrderEventPendingCancel OrderEventKind = "order_pending_cancel" OrderEventUpdated OrderEventKind = "order_updated" OrderEventModifyRejected OrderEventKind = "order_modify_rejected" OrderEventCancelRejected OrderEventKind = "order_cancel_rejected" OrderEventCanceled OrderEventKind = "order_canceled" OrderEventExpired OrderEventKind = "order_expired" OrderEventPartiallyFilled OrderEventKind = "order_partially_filled" OrderEventFilled OrderEventKind = "order_filled" )
func (OrderEventKind) TargetStatus ¶
func (k OrderEventKind) TargetStatus() (OrderStatus, bool)
type OrderFactory ¶
type OrderFactory struct {
// contains filtered or unexported fields
}
func NewOrderFactory ¶
func NewOrderFactory(accountID AccountID, opts ...OrderFactoryOption) *OrderFactory
func (*OrderFactory) Bracket ¶
func (f *OrderFactory) Bracket(req BracketOrderRequest) OrderList
func (*OrderFactory) Limit ¶
func (f *OrderFactory) Limit(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, price decimal.Decimal, opts ...SubmitOrderOption) SubmitOrder
func (*OrderFactory) LimitIfTouched ¶
func (f *OrderFactory) LimitIfTouched(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, price decimal.Decimal, triggerPrice decimal.Decimal, opts ...SubmitOrderOption) SubmitOrder
func (*OrderFactory) Market ¶
func (f *OrderFactory) Market(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, opts ...SubmitOrderOption) SubmitOrder
func (*OrderFactory) MarketIfTouched ¶
func (f *OrderFactory) MarketIfTouched(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, triggerPrice decimal.Decimal, opts ...SubmitOrderOption) SubmitOrder
func (*OrderFactory) MarketToLimit ¶
func (f *OrderFactory) MarketToLimit(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, opts ...SubmitOrderOption) SubmitOrder
func (*OrderFactory) StopLimit ¶
func (f *OrderFactory) StopLimit(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, price decimal.Decimal, triggerPrice decimal.Decimal, opts ...SubmitOrderOption) SubmitOrder
func (*OrderFactory) StopMarket ¶
func (f *OrderFactory) StopMarket(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, triggerPrice decimal.Decimal, opts ...SubmitOrderOption) SubmitOrder
func (*OrderFactory) TrailingStopLimit ¶
func (f *OrderFactory) TrailingStopLimit(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, price decimal.Decimal, trailingOffset decimal.Decimal, opts ...SubmitOrderOption) SubmitOrder
func (*OrderFactory) TrailingStopMarket ¶
func (f *OrderFactory) TrailingStopMarket(instrumentID InstrumentID, side OrderSide, quantity decimal.Decimal, trailingOffset decimal.Decimal, opts ...SubmitOrderOption) SubmitOrder
type OrderFactoryOption ¶
type OrderFactoryOption func(*OrderFactory)
func WithClientOrderIDPrefix ¶
func WithClientOrderIDPrefix(prefix string) OrderFactoryOption
func WithOrderMetadata ¶
func WithOrderMetadata(metadata CommandMetadata) OrderFactoryOption
type OrderLifecycleEvent ¶
type OrderLifecycleEvent struct {
Metadata CommandMetadata
AccountID AccountID
InstrumentID InstrumentID
OrderID OrderID
ClientOrderID ClientOrderID
VenueOrderID VenueOrderID
Kind OrderEventKind
PreviousStatus OrderStatus
Status OrderStatus
Reason string
Report *OrderStatusReport
}
func (OrderLifecycleEvent) Validate ¶
func (e OrderLifecycleEvent) Validate() error
type OrderList ¶
type OrderList struct {
Metadata CommandMetadata
ID OrderListID
Orders []SubmitOrder
}
func (OrderList) Kind ¶
func (l OrderList) Kind() OrderListKind
func (OrderList) UniformInstrument ¶
func (l OrderList) UniformInstrument() (InstrumentID, bool)
func (OrderList) WithCommandMetadataDefaults ¶
type OrderListID ¶
type OrderListID string
type OrderListKind ¶
type OrderListKind string
const ( OrderListKindBulk OrderListKind = "bulk" OrderListKindOTO OrderListKind = "oto" OrderListKindOCO OrderListKind = "oco" OrderListKindOUO OrderListKind = "ouo" OrderListKindBracket OrderListKind = "bracket" )
type OrderStatus ¶
type OrderStatus string
const ( OrderStatusInitialized OrderStatus = "initialized" OrderStatusDenied OrderStatus = "denied" OrderStatusEmulated OrderStatus = "emulated" OrderStatusReleased OrderStatus = "released" OrderStatusSubmitted OrderStatus = "submitted" OrderStatusAccepted OrderStatus = "accepted" OrderStatusTriggered OrderStatus = "triggered" OrderStatusPendingCancel OrderStatus = "pending_cancel" OrderStatusPendingUpdate OrderStatus = "pending_update" OrderStatusPartiallyFilled OrderStatus = "partially_filled" OrderStatusFilled OrderStatus = "filled" OrderStatusCanceled OrderStatus = "canceled" OrderStatusRejected OrderStatus = "rejected" OrderStatusExpired OrderStatus = "expired" )
func (OrderStatus) IsOpen ¶
func (s OrderStatus) IsOpen() bool
func (OrderStatus) IsTerminal ¶
func (s OrderStatus) IsTerminal() bool
type OrderStatusReport ¶
type OrderStatusReport struct {
Metadata CommandMetadata
AccountID AccountID
InstrumentID InstrumentID
TriggerInstrumentID InstrumentID
OrderListID OrderListID
PositionID PositionID
OrderID OrderID
VenueOrderID VenueOrderID
ParentClientOrderID ClientOrderID
ClientOrderID ClientOrderID
Status OrderStatus
Side OrderSide
Type OrderType
Contingency ContingencyType
Quantity decimal.Decimal
FilledQuantity decimal.Decimal
LeavesQuantity decimal.Decimal
Price decimal.Decimal
TriggerPrice decimal.Decimal
ActivationPrice decimal.Decimal
TrailingOffset decimal.Decimal
TrailingOffsetType TrailingOffsetType
PostOnly bool
ReduceOnly bool
TimeInForce TimeInForce
ExpireTime time.Time
AveragePrice decimal.Decimal
LastUpdatedTime time.Time
}
func ApplyOrderModification ¶
func ApplyOrderModification(order OrderStatusReport, modify ModifyOrder) (OrderStatusReport, bool, error)
func (OrderStatusReport) TriggerInstrument ¶
func (r OrderStatusReport) TriggerInstrument() InstrumentID
func (OrderStatusReport) Validate ¶
func (r OrderStatusReport) Validate() error
type OrderType ¶
type OrderType string
const ( OrderTypeMarket OrderType = "market" OrderTypeLimit OrderType = "limit" OrderTypeMarketToLimit OrderType = "market_to_limit" OrderTypeStopMarket OrderType = "stop_market" OrderTypeStopLimit OrderType = "stop_limit" OrderTypeMarketIfTouched OrderType = "market_if_touched" OrderTypeLimitIfTouched OrderType = "limit_if_touched" OrderTypeTrailingStopMarket OrderType = "trailing_stop_market" OrderTypeTrailingStopLimit OrderType = "trailing_stop_limit" )
type PositionEventKind ¶
type PositionEventKind string
const ( PositionEventOpened PositionEventKind = "position_opened" PositionEventChanged PositionEventKind = "position_changed" PositionEventClosed PositionEventKind = "position_closed" )
type PositionID ¶
type PositionID string
type PositionLifecycleEvent ¶
type PositionLifecycleEvent struct {
AccountID AccountID
InstrumentID InstrumentID
PositionID PositionID
Kind PositionEventKind
PreviousSide PositionSide
PreviousQuantity decimal.Decimal
Side PositionSide
Quantity decimal.Decimal
Report *PositionStatusReport
}
func NewPositionLifecycleEvent ¶
func NewPositionLifecycleEvent(previous *PositionStatusReport, next PositionStatusReport) (PositionLifecycleEvent, bool)
func (PositionLifecycleEvent) Validate ¶
func (e PositionLifecycleEvent) Validate() error
type PositionSide ¶
type PositionSide string
const ( PositionSideLong PositionSide = "long" PositionSideShort PositionSide = "short" PositionSideFlat PositionSide = "flat" )
type PositionStatusReport ¶
type PositionStatusReport struct {
Metadata CommandMetadata
AccountID AccountID
InstrumentID InstrumentID
PositionID PositionID
VenuePositionID VenuePositionID
Side PositionSide
Quantity decimal.Decimal
EntryPrice decimal.Decimal
Timestamp time.Time
}
func (PositionStatusReport) Validate ¶
func (r PositionStatusReport) Validate() error
type QueryAccount ¶
type QueryAccount struct {
Metadata CommandMetadata
AccountID AccountID
}
func (QueryAccount) Validate ¶
func (q QueryAccount) Validate() error
type QueryOrder ¶
type QueryOrder struct {
Metadata CommandMetadata
AccountID AccountID
InstrumentID InstrumentID
OrderID OrderID
VenueOrderID VenueOrderID
ClientOrderID ClientOrderID
}
func (QueryOrder) Validate ¶
func (q QueryOrder) Validate() error
type QuoteTick ¶
type StrategyID ¶
type StrategyID string
type SubmitOrder ¶
type SubmitOrder struct {
Metadata CommandMetadata
AccountID AccountID
InstrumentID InstrumentID
TriggerInstrumentID InstrumentID
OrderListID OrderListID
ParentClientOrderID ClientOrderID
ClientOrderID ClientOrderID
Side OrderSide
Type OrderType
Contingency ContingencyType
TimeInForce TimeInForce
Quantity decimal.Decimal
Price decimal.Decimal
TriggerPrice decimal.Decimal
ActivationPrice decimal.Decimal
TrailingOffset decimal.Decimal
TrailingOffsetType TrailingOffsetType
EmulationTrigger TriggerType
PostOnly bool
ReduceOnly bool
ExpireTime time.Time
}
func (SubmitOrder) TriggerInstrument ¶
func (o SubmitOrder) TriggerInstrument() InstrumentID
func (SubmitOrder) Validate ¶
func (o SubmitOrder) Validate() error
type SubmitOrderList ¶
type SubmitOrderList struct {
Metadata CommandMetadata
AccountID AccountID
List OrderList
}
func (SubmitOrderList) Validate ¶
func (c SubmitOrderList) Validate() error
func (SubmitOrderList) WithCommandMetadataDefaults ¶
func (c SubmitOrderList) WithCommandMetadataDefaults() SubmitOrderList
type SubmitOrderOption ¶
type SubmitOrderOption func(*SubmitOrder)
func WithActivationPrice ¶
func WithActivationPrice(price decimal.Decimal) SubmitOrderOption
func WithClientOrderID ¶
func WithClientOrderID(id ClientOrderID) SubmitOrderOption
func WithCommandMetadata ¶
func WithCommandMetadata(metadata CommandMetadata) SubmitOrderOption
func WithContingency ¶
func WithContingency(contingency ContingencyType) SubmitOrderOption
func WithExpireTime ¶
func WithExpireTime(expire time.Time) SubmitOrderOption
func WithOrderListID ¶
func WithOrderListID(id OrderListID) SubmitOrderOption
func WithParentClientOrderID ¶
func WithParentClientOrderID(id ClientOrderID) SubmitOrderOption
func WithPostOnly ¶
func WithPostOnly() SubmitOrderOption
func WithReduceOnly ¶
func WithReduceOnly() SubmitOrderOption
func WithTimeInForce ¶
func WithTimeInForce(tif TimeInForce) SubmitOrderOption
func WithTrailingOffset ¶
func WithTrailingOffset(offset decimal.Decimal) SubmitOrderOption
func WithTrailingOffsetType ¶
func WithTrailingOffsetType(offsetType TrailingOffsetType) SubmitOrderOption
func WithTriggerInstrumentID ¶
func WithTriggerInstrumentID(id InstrumentID) SubmitOrderOption
func WithTriggerPrice ¶
func WithTriggerPrice(price decimal.Decimal) SubmitOrderOption
type SubscribeMarketData ¶
type SubscribeMarketData struct {
InstrumentID InstrumentID
Type MarketDataType
Depth int
BarType BarType
}
func (SubscribeMarketData) Key ¶
func (s SubscribeMarketData) Key() string
func (SubscribeMarketData) Validate ¶
func (s SubscribeMarketData) Validate() error
type SyntheticInstrument ¶
type SyntheticInstrument struct {
ID InstrumentID
PricePrecision int
PriceTick decimal.Decimal
Components []InstrumentID
Formula string
Timestamp time.Time
InitTime time.Time
}
func (SyntheticInstrument) Validate ¶
func (s SyntheticInstrument) Validate() error
type Ticker ¶
type TimeInForce ¶
type TimeInForce string
const ( TimeInForceGTC TimeInForce = "gtc" TimeInForceIOC TimeInForce = "ioc" TimeInForceFOK TimeInForce = "fok" TimeInForceGTD TimeInForce = "gtd" TimeInForceDAY TimeInForce = "day" )
func (TimeInForce) Validate ¶
func (t TimeInForce) Validate() error
type TradeTick ¶
type TrailingOffsetType ¶
type TrailingOffsetType string
const ( TrailingOffsetTypePrice TrailingOffsetType = "price" TrailingOffsetTypeBasisPoints TrailingOffsetType = "basis_points" TrailingOffsetTypeTicks TrailingOffsetType = "ticks" )
func (TrailingOffsetType) Canonical ¶
func (t TrailingOffsetType) Canonical() TrailingOffsetType
func (TrailingOffsetType) Validate ¶
func (t TrailingOffsetType) Validate() error
type TriggerType ¶
type TriggerType string
const ( TriggerTypeNoTrigger TriggerType = "no_trigger" TriggerTypeDefault TriggerType = "default" TriggerTypeBidAsk TriggerType = "bid_ask" TriggerTypeLastPrice TriggerType = "last_price" )
func (TriggerType) IsActive ¶
func (t TriggerType) IsActive() bool
func (TriggerType) Validate ¶
func (t TriggerType) Validate() error
type VenueOrderID ¶
type VenueOrderID string
type VenuePositionID ¶
type VenuePositionID string
Click to show internal directories.
Click to hide internal directories.