Trading Components References

Handler Ports, Parameters, Commands, and Constants

To configure a handler, you normally need to set certain module parameters. The tables on this page describe the parameters that can be set, the commands that can be issued, and literal constant values for parameters.

Parameters Common to All Venues

Beside their port parameters, all venues share the following parameters:

Parameter Name Data Type Description Notes
VenueName String The name of the venue and handler, usually in the form venue + handlerType. For example, the VenueName for an execution handler is usually venue + "Execution", as in Deutsche Bank AutobahnFX Rapid FIX Execution.  
FIXHeartBeat Integer The interval between sending FIX heartbeat commands. This typically does not need to be changed, because it defaults to each venue's specification.  
QFJConfigFile String The QuickFIX/J configuration file used to connect to and from the venue. Normally defaults to VenueName + "MarketData" or "Execution" + .cfg  
SMTPHost String The host used when sending SMTP alerts when the venue goes up or down.  
SMTPPort Integer The port used when sending SMTP alerts when the venue goes up or down.  
SMTPFrom String The from e-mail address used when sending SMTP alerts when the venue goes up or down  
SMTPTo String The send-to email address used when sending SMTP alerts when the venue goes up or down.  
SMTPSubject String The Subject used when sending SMTP alerts when the venue goes up or down.  
SMTPContentType String The content type used when sending SMTP alerts when the venue goes up or down. Default: text/html.  
SendSMTPAlerts Boolean A flag that specifies whether e-mails should be sent when the venue goes up or down.  
FIXEngineToUse String The FIX engine the adapter will use to connect to your FIX venues. Default: "QuickFIX/J"/"StreamBase High-Performance Engine"
LogonWhenApplicationStart String (true or false) If true, the adapter immediately attempts to log on to the counterparty when the application starts.  
FieldNameMapFile String The exception to FIX field can be specified in this file.  
LogIncomingFIXMessages String (true or false) If true, the adapter enables logging of incoming FIX messages to the console. This property overrides a linked FIX input adapter's corresponding settings.  
IncomingMessageFilterType String (Include or Exclude) The type of filter logic for incoming FIX messages.  
IncomingMessageFilter String The filter used for incoming FIX messages.  
LogOutgoingFIXMessages String (true or false) If true, the adapter enables logging of outgoing FIX messages to the console. This property overrides a linked FIX input adapter's corresponding settings.  
OutgoingMessageFilterType String (Include or Exclude) The type of filter logic for outgoing FIX messages.  
OutgoingMessageFilter String The filter used for outgoing FIX messages.  
ReportProfilingData String (true or false) If true, the adapter enables logging of FIX message average/min/max processing times to the console.  
ReportingInterval Integer The number of messages to log to the console.  
LogLevel String The verbosity to use for printing messages to the console, one of: OFF, ERROR, WARN, INFO, DEBUG, TRACE, or ALL.  
InitialSubscriptionsFile String The initial subscription file used for market data handler to subscribe to symbols as soon as a connection is made. Market Data only
GlobalBookTableType String (concrete or input) Specifies whether the table declared in the MarketData.sbapp is a local table or a placeholder table. Specify concrete to share a quotes table across multiple venues, such as to enable Port Configurations aggregation and sorting for true top of book. Market Data only

Parameters by Venue for Market Data (MD) and Execution (EX)

Some venues have additional parameters that you can and usually must specify. These are:

Venue MD EX Parameter Name Data Type Default Description
Barclays BARX   Account String YourAccount The account to send with each trade request
CitiFX ESP   SubscriptionQuoteType String QUOTE_TYPE_RESTRICTED_TRADABLE Determines the type of quote to received, options are: QUOTE_TYPE_INDICATIVE QUOTE_TYPE_TRADABLE QUOTE_TYPE_RESTRICTED_TRADABLE
CitiFX ESP Account String YourAccount The account to send with each market data or trade request
CitiFX ESP   ConvertZeroPriceOrSizeToNull Boolean true If true then any quote that is received with a zero or null price/size will be converted to a entirely null quote.
CitiFX ESP   DefaultQuantity Integer 1 If the Subscription.Quantity does not have a value then this default will be used for market data requests.
DBClassic   Account String YourAccount The account to send with each market data or trade request
DBRapid   Account String YourAccount The account to send with each market data or trade request
DBRapid   RequestPartialFills Boolean true Used to determine TimeInForce sent to the venue: true = IOC (Immediate or cancel); false = FOK (Fill or Kill)
DBRapid   OutputMissingTiersAsZeroPriceItems Boolean false Used to determine if missing tiers should be output as zero price items before being removed from the bid/ask list.
FXSpotStream   OutputMissingTiersAsZeroPriceItems Boolean false Used to determine if missing tiers should be output as zero price items before being removed from the bid/ask list.
FXSpotStream   PartyIDsFile String FXSpotStreamPartyIDs.txt The file containing the party Id's to be sent with each market data request. The file contains a single column of PartyIds with a header. See the FXSpotStream FIX Specification for valid party Ids .
FXSpotStream   IncrementalRefresh Boolean true Used to determine what type of market data updates to request: true - Incremental refresh; false - Full market data refresh
FXSpotStream   OutputIndividualMDEntryOriginators Boolean false If set to true then each update (incremental or full) will produce multiple top of book and depth of book updates, one per Originator. (MDEntryOriginator is another term for PartyID)
Gain GTX   Account String YourAccount The account to send with each market data or trade request
Goldman Sachs Account String YourAccount The account to send with each market data or trade request
Goldman Sachs   ConvertZeroPriceOrSizeToNull Boolean true If true then any quote that is received with a zero or null price/size will be converted to a entirely null quote.
Goldman Sachs   DefaultQuantity Integer 1 If the Subscription.Quantity does not have a value then this default will be used for market data requests.
Morgan Stanley   ConvertZeroPriceOrSizeToNull Boolean true If true then any quote that is received with a zero or null price/size will be converted to a entirely null quote.
Morgan Stanley   Account String YourAccount The account to send with each market data or trade request
Nomura Account String YourAccount The account to send with each market data or trade request
Saxo   Account String YourAccount The account to send with each market data or trade request
UBS UBSPartyID String SomeParty Party Id (counterparty) for sending quote and trade requests.
UBS   UBSPartyRole Integer 13 The type of party to send with trade requests. May be: 11 = Order Origination Trader; 13 = Order Origination Firm
UBS   ValidMarginMS Integer 1000 ms Specifies latency in ms for received quotes containing a new non-null ValidUntilTime. The system subtracts SendingTime and ValidMarginMS from ValidUntilTime and then sets that time as the new quote expiry time.
UBS   RFQExpirationMS Integer 60000 ms Time in milliseconds before the system considers this quote request expired and removes it.

Port Configurations

Trading component handles have three or more input and output ports connecting them to your EventFlow application. The following sections describe these ports.

Market Data Handler Component Ports

Each Market Data Handler uses the same port configuration.

Input Ports

Market data input ports accept three streams. Click any stream name to see its schema definition:

Port Module Stream Description
1 LogLevelRequest Configures which logging messages sent and received
2 SubscriptionRequest Connects and disconnects from the current venue
3 VenueRequest Connects to, Disconnects from, and requests status from a venue

Output Ports

Market data output ports issue up to five streams:

Port Module Stream Description
1 DepthOfBook The pending orders for a security or currency
2 LogonResponse Not always present
2 or 3 SubscriptionStatus Whether the subscription is currently on, off, or pending.
3 or 4 TopOfBook The best bid and ask prices
4 or 5 UnprocessedFIXMessages Not always present
4 or 5 VenueConnectDisconnect Not always present
4 or 5 VenueStatus Current status of the venue's connection

Execution Handler Component Ports

Input Ports

Execution handler input ports accept three or four streams. Click the stream name to see its schema definition:

Port Module Stream Description
1 ExecutionRequest The specifics of a trade
2 LogLevelRequest How and what messages to log
3 SubscriptionRequest Not always present. Connects, disconnects, and lists subscriptions
3 or 4 VenueRequest Connects, disconnects, and gets venue status

Output Ports

Market data output ports issue two, three, or four streams:

Port Module Stream Description
1 Execution Report Data describing how and when order was filled
2 UnprocessedFIXMessages Not always present
2 or 3 SubscriptionRequest Not always present
2, 3 or 4 VenueStatus Current status of the venue's connection

Named Schemas

Much of Trading Components' ease of use derives from having a set of standardized schemas and constants that are used for all venues. These definitions are in the TC_fx_common project, which users should not attempt to modify. The following table summarizes the named schemas:

Named Schema from SharedSchemas.sbapp Number of Fields Description Notes
AccountSchema 3 Identifies an account for the purposes of data reporting  
FIXAdminSchema 7 For communicating with the Trading Components Administrative Utility Not exposed to venues
FIXInputAdapterCommandSchema 7    
FIXLogonResponseSchema 5    
FIXTradingSessionStatusSchema 8 The fields from a FIX "Trading Session Status (h)" message that Trading Components uses  
LogLevelRequestSchema 7 Describes how to log and filter incoming and outgoing messages  
VenueFirstTimeUpSchema 2 Used to indicate when a connection first comes up  
VenueRequestSchema 1 A request to check the current status of a connection, connect to and disconnect from a venue A VENUE_CMD_* constant
VenueSchema 2 A unique ID for a particular venue connection venue name + connection name
VenueStatusSchema 6 The closed or open status (DOWN or UP) for a venue and other information as needed, generated on demand or asynchronously. A VENUE_STATUS_* constant

The named schemas for passing venue trading data, such as instruments, quotes, execution requests, tenors and top and depth of book are defined in FXSharedSchemas.sbapp, and are summarized in the following table:

Named Schema from FXSharedSchemas.sbapp Number of Fields Description Notes
FXDepthOfBookSchema 6 A schema that holds entire ladder of quotes. It is assumed that ladder is refreshed atomically in a single tick. Contains list field and schema fields Instrument and Asks
FXExecutionReportSchema 14 A schema to identify an update to information about an execution request  
FXExecutionRequestSchema 22 A schema to identify a request for an instrument to be bought or sold Contains schema field User
FXGlobalQuoteDataSchema 22 Used to populate global quote tables Contains schema fields Instrument and OptionsExtendedData
FXInitalSubscriptionSchema 13 Like FXSubscriptionSchema but with the Instrument fields flattened and without the SubscriptionId field. Used as the schema of the "initial subscriptions" file.  
FXInstrumentSchema 7 Fully identifies kind of item to be bought and sold.  
FXInvalidSubscriptionRequestSchema 2 Wraps FXSubscriptionSchema for requests that are rejected Contains schema field Subscription
FXInvalidSubscriptionRequestWithStatusSchema 3 Wraps FXInvalidSubscriptionRequestSchema to provide status information Contains schema field Subscription
FXQuoteDataOptionsExtendedDataSchema 12 Extends FXQuoteDataSchema  
FXQuoteDataSchema 18 Quote data includes price, quantity, and other information as needed. Contains schema field
FXSubscriptionInfoSchema 5 Like FXSubscriptionSchema but without the SubscriptionId field; for use as the schema of the "initial subscriptions" file Contains schema field Instrument
FXSubscriptionListSchema 11 A data structure used to manage a subscription to a particular instrument Contains schema field Instrument
FXSubscriptionRequestSchema 2 A request to subscribe to/unsubscribe from an instrument or describe/list subscriptions (see FXSubscriptionStatusSchema) Contains schema field Subscription
FXSubscriptionSchema 8 A data structure used to manage a subscription to a particular instrument Contains schema field Instrument
FXSubscriptionStatusSchema 3 A response to a request (see FXSubscriptionRequestSchema) to sub/unsub, describe a subscription, or an async event about a subscription Contains schema field Subscription
FXTenorSchema 2 The representation of a tenor in structured form.  
FXTopOfBookSchema 6 A data structure to hold the top bid and ask quotes Contains schema fields Instrument, Bid, and Ask

The table schemas for holding venue trading data, such as venue names, timestamps, prices, quantities and more are also defined in FXSharedSchemas.sbapp. They are:

Table Schema from FXSharedSchemas.sbapp Number of Fields Description Notes
FXGlobalQuotesTableSchema 22 A table schema that holds entire ladder of quotes for multiple venues. Uses FXGlobalQuoteDataSchema. Contains list field and schema fields Instrument and Asks
FXQuotesTableSchema 6 A table schema that holds entire ladder of quotes for a single venue. Uses FXQuoteDataSchema.  
FXSubscriptionListTableSchema 11 A table to manage a subscriptions to instruments. Uses FXSubscriptionListSchema. Contains schema field User

Log Level Request Fields

You can change the logging level for each venue at any time by sending commands to its LogLevelRequest input stream. That stream lets you change both the basic log level and the level for incoming and outgoing FIX messages. The schema for this request is:

Field Data Type Description
Level String The log level to set for the FIX adapters using the normal adapter log levels (OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL)
LogIncomingFIXMessages Boolean If enabled, the FIX adapter will start logging formatted incoming FIX messages.
IncomingFIXMessagesFilterType String Specifies how to filter incoming FIX messages. Set to either 'Include' or 'Exclude'
IncomingFIXMessagesFilter String A comma-separated list of message types (that is, the value of FIX tag 35) on which to filter incoming messages
LogOutgoingFIXMessages Boolean If enabled, the FIX adapter will start logging formatted outgoing FIX messages.
OutgoingFIXMessagesFilterType String Specifies how to filter outgoing FIX messages. Set to either 'Include' or 'Exclude'
OutgoingFIXMessagesFilter String A comma-separated list of message types (that is, the value of FIX tag 35) on which to filter outgoing messages

Notice that you cannot both include and exclude messages using a filter.

Venue Request and Status Commands

The VenueRequest stream enables the end user to turn a venue connection on and off or request its status at any time, the status will be outputted from the VenueStatus output stream:

Field Type Description
Command string One of the Venue Commands listed below

The VenueRequest input stream recognizes the following constant venue commands in its Command field:

Constant Value Description
VENUE_CMD_CONNECT CONNECT Request the current connection connect to the venue
VENUE_CMD_DISCONNECT DISCONNECT Request the current connection disconnect from the venue
VENUE_CMD_STATUS STATUS Request the current connection status of the venue, outputted on the VenueStatus stream

Venue status is described by the following constants:

Constant Value Description
VENUE_STATUS_UP UP Indicates that currently connected venue is online
VENUE_STATUS_DOWN DOWN Indicates that currently connected venue is offline

Market Data Fields

You subscribe to a venue by sending it a request with the following data fields. This is the FXSubscriptionRequestSchema, defined in TC_fx_handlers/common/FXSharedScemas.sbapp:

Field Type Description
Command String One of the SUB_CMD_* values defined in the table below.
Subscription.SubscriptionId String The ID of the subscription. If left blank, an ID will be generated.
Subscription.Side String One of the SIDE_* constants
Subscription.MarketDepth Integer All available, if null
Subscription.Quantity Double If set and supported by the venue, produces a stream of prices for a single volume for the spot, forward or near leg of a swap
Subscription.QuantityFar Double If set and supported by the venue, produces a stream of prices for a single volume for the far leg of a swap (null => far leg is the same as near leg)
Subscription.Currency String The trading currency
Subscription.Duration Integer Duration in seconds of stream quotes. Not implemented by all venues.
Subscription.Instrument.InstrumentType String One of the INST_TYPE_* constants defined below
Subscription.Instrument.Currency1 String The first currency involved in an FX trade
Subscription.Instrument.Currency2 String The second currency involved in an FX trade
Subscription.Instrument.SettlementDate Timestamp The settlement or value date of the spot, forward or near leg of the swap
Subscription.Instrument.SettlementDateFar Timestamp The settlement date of the far leg of the swap. Null if not a swap.
Subscription.Instrument.Tenor String Tenor of a forward or tenor of the near leg of a swap. Null if not a swap or a broken date. Use one of the TENOR_* constants
Subscription.Instrument.TenorFar String Tenor of the far leg of a swap. Null if not a swap or a broken date. Use one of the TENOR_* constants

Market Data Constants

SubscriptionRequest streams recognize the following constant venue commands in its Command field:

Constant Value Description
SUB_CMD_SUBSCRIBE SUBSCRIBE Request the current connection connect to the venue.
SUB_CMD_UNSUBSCRIBE UNSUBSCRIBE Request the current connection disconnect from the venue
SUB_CMD_LIST LIST Output all current subscriptions (currently not implemented)
SUB_CMD_DESCRIBE DESCRIBE Output subscription information (currently not implemented)

The current status of a subscription is indicated by one of the following set of constant values defined in TC_Common/common/SharedSchemas.sbapp:

Constant Value Description
SUB_STATUS_UP UP The subscription is now active.
SUB_STATUS_DOWN DOWN The subscription is no longer active.
SUB_STATUS_SENT SENT The subscription has been sent to the venue but is not yet active.

Instrument Types are constants defined in TC_Common/common/SharedSchemas.sbapp. They are:

Constant Value Description
INST_TYPE_SPOT SPOT A spot market data request; to perform a RFQ request SPOT_RFQ
INST_TYPE_SWAP SWAP A spot market data request; to perform a RFQ request SWAP_RFQ
INST_TYPE_NDF NDF A spot market data request; to perform a RFQ request NDF_RFQ
INST_TYPE_MLEG MLEG A spot market data request; to perform a RFQ request MLEG_RFQ
INST_TYPE_FUT FUT A spot market data request; to perform a RFQ request FUT_RFQ
INST_TYPE_FO FO A spot market data request; to perform a RFQ request FO_RFQ. Only the following venues allow RFQ requests: Barclays BARX, Goldman Sachs, Morgan Stanley, Nomura, and UBS
INST_TYPE_RFQ_SUFFIX _RFQ Append this suffix to the end of any of the above values to create a request for quote. RFQ quote requests are usually similar to market data request but are used on venues that allow for trades to be done with type QUOTED, in which you trade using a quoteId.

Pricing Types are constants defined in TC_Common/common/SharedSchemas.sbapp. They are:

Constant Value Description
PRICING_TYPE_BOOK BOOK A standard quote type
PRICING_TYPE_RFQ RFQ The quote is produced by a RFQ request.

Quote Types are constants defined in TC_Common/common/SharedSchemas.sbapp. They are:

Constant Value Description
QUOTE_TYPE_INDICATIVE INDICATIVE The quote is provided by a market maker to a trading party but that is not firm.
QUOTE_TYPE_INVALID INVALID The quote is invalid.
QUOTE_TYPE_RESTRICTED_TRADABLE RESTRICTED_TRADABLE The quote provided is restricted tradable usually by date or time span.
QUOTE_TYPE_TRADABLE TRADABLE The quote provided is tradable on the market.

Side Values are constants defined in TC_Common/common/SharedSchemas.sbapp. They are:

Constant Value Description
SIDE_ASK ASK Used by some the market data handlers to request the ask side of a quote.
SIDE_BID BID Used by some the market data handlers to request the sell side of a quote.
SIDE_BOTH BOTH Used by some the market data handlers to request both the ask side and the sell side of a quote.
SIDE_BUY BUY Used in the execution handlers to determine the bid/buy side
SIDE_SELL SELL Used in the execution handlers to determine the bid/sell side

Tenor Values are constants defined in TC_Common/common/SharedSchemas.sbapp. The values below are used internally for making subscriptions requests. As each venue has its own set of valid tenors, these values will be translated to a ones appropriate to the venue.

Constant Value Description
TENOR_BUSINESS_DAYS B When used, B always has a number appended. Some valid values are: B1, B2, B40. However, currently these values are only supported for the Goldman Sachs venue.
TENOR_DAYS D When used, D always has a number appended. Some valid values are: D1, D2, D40
TENOR_IMM I When used, I always has a number appended. Some valid values are: I1, I2, I3
TENOR_MONTHS M When used, M always has a number appended. Some valid values are: M1, M2, M6
TENOR_NEXT_DAY ND  
TENOR_OVERNIGHT ON  
TENOR_SPOT SP  
TENOR_SPOT_NEXT SN  
TENOR_TODAY TOD TOD is sometimes also allowed to have a numeric value depending on the venue.
TENOR_TOMORROW TOM  
TENOR_TOMORROW_NEXT TN  
TENOR_WEEKS W When used, W always has a number appended. Some valid values are: W1, W2, M10
TENOR_YEARS Y When used, Y always has a number appended. Some valid values are: Y1, Y2, Y5

Trade Execution Fields

Execution requests use the following FXExecutionRequestSchema schema, defined in defined in TC_Common/common/SharedSchemas.sbapp.

Field Type Description
Command String One of the EXEC_CMD_* constant values
RequestId String The client-provided ID of this request, which must be supplied
OrderType String One of the ORD_TYPE_* constants
QuoteId String Used when a venue requires that specific QuoteId it issued accompany an execution request
SubscriptionId String The subscriptionId of the tick that the quote was obtained from
Side String One of the SIDE_TYPE_* constants
Quantity Double The quantity of the order in units of the specified denomination Currency
QuantityFar Double The swap far leg amount
Currency Double The currency in which Quantity is specified
Price Double The rate expressed as Currency2 per Currency1
PriceFar Double The all-in far leg swap rate
StopPrice Double Used when Order Type is STOP or STOP_LIMIT
TimeInForce String Use one of the TIF_* constants
Expiration Timestamp When TimeInForce is GTD, the order will expire and be canceled if not filled by the time given. Partial fills may have occurred.
OriginalRequestId String Needed only for ORD_TYPE_CANCEL and ORD_TYPE_REPLACE; the client-provided ID that was used in the original request which is now being cancelled or replaced.
OriginalOrderId String Analogous to OriginalRequestId, except the venue-assigned ID for the request; can always be set to null on input to OrderStateManager
ParentRequestId String The request ID of the "parent" request that this request is to be associated with; needed only when requests are being passed through the parent/child order tracker. Currently not implemented in any Venue.
StrategyAlgo String The name/ID of the execution strategy that should be used to execute this request and generally ignored by Framework code. Applications can use this field to hold strategy routing information
RequestTime Timestamp The timestamp of this request
VenueName String Used to router the request to a particular execution handler; unused by the handler itself.
User AccountSchema Not implemented.
Instrument.InstrumentType String Use one of the INST_TYPE_* constants
Instrument.Currency1 String The first currency involved in an FX trade
Instrument.Currency2 String The second currency involved in an FX trade
Instrument.SettlementDate Timestamp The settlement or value date of the spot, forward or near leg of the swap
Instrument.SettlementDateFar Timestamp The settlement date of the far leg of the swap. Null if not a swap.
Instrument.Tenor String Tenor of a forward or tenor of the near leg of a swap. Null if not a swap or a broken date. Use one of the TENOR_* constants.
Instrument.TenorFar String Tenor of the far leg of a swap. Null if not a swap or a broken date. Use one of the TENOR_* constants.

Trade Execution Constants

Execution Commands are constants defined in TC_Common/common/SharedSchemas.sbapp. They are:

Constant Value Description
EXCE_CMD_CANCEL CANCEL Cancel an order
EXCE_CMD_NEW NEW Place a new order
EXCE_CMD_REPLACE REPLACE Replace current order
EXCE_CMD_STATUS STATUS Report status of orders

Order types are constants defined in TC_Common/common/SharedSchemas.sbapp. They are:

Constant Value Description
ORD_TYPE_STOP STOP Send a stop order
ORD_TYPE_STOP_LIMIT STOPLIMIT Send a stop limit order
ORD_TYPE_PREV_QUOTED QUOTED Send a previously quoted order; this order type is almost always used in conjunction with RFQ requests which provide a QuoteId to send along with the order.
ORD_TYPE_MARKET MARKET Send a market order
ORD_TYPE_LIMIT LIMIT Send a limit order
ORD_TYEP_AVERAGE_LIMIT AVERAGE_LIMIT Send an average limit order

Order Status strings are constants defined in TC_Common/common/SharedSchemas.sbapp. They are:

Constant Value Description
ORD_STATUS_ACCEPT ACCEPT The order has been accepted
ORD_STATUS_CANCEL CANCEL The order has been cancelled
ORD_STATUS_COMPLETE COMPLETE The order is completed
ORD_STATUS_DONEFORDAY DONEFORDAY The order is done for the day, usually associated with GFD time in force.
ORD_STATUS_ERROR ERROR The order has an error
ORD_STATUS_EXPIRE EXPIRE The order expired, usually associated with some time in force which would expire.
ORD_STATUS_PARTIAL PARTIAL The order partially executed
ORD_STATUS_PENDING PENDING The order is pending but not accepted
ORD_STATUS_REJECT REJECT The order was rejected
ORD_STATUS_REPLACE REPLACE The order was rejected

Time In Force types are constants defined in TC_Common/common/SharedSchemas.sbapp. They are:

Constant Value Description
TIF_OPG OPG Use OPG to send a market-on-open (MOO) or limit-on-open (LOO) order.
TIF_MARKET_ON_OPEN MARKET_ON_OPEN Market on open
TIF_MARKET_ON_CLOSE MARKET_ON_CLOSE Market on close
TIF_IOC IOC Immediate or Cancel
TIF_GTD GTD Good until date/time which must be specified
TIF_GTC GTC Good until cancel
TIF_FOK FOK Fill or kill
TIF_EXTENDED_DAY EXTENDED_DAY Extended day
TIF_DAY DAY Day