Immediate-Or-Cancel Order

An Immediate-Or-Cancel Order (also known as Immediate-Or-Cancel IOC) is submitted to the exchange, filled as much as it can be, and the remaining volume (if any) cancelled immediately.

An Immediate-Or-Cancel Order is entered with the New Order Single (Tag 35=D) message. Following are the most relevant tags to build an Immediate-Or-Cancel Order:

Tag Field Description
59=3 TimeInForce Time In Force specifier of Immediate-Or-Cancel (IOC)
48 SecurityID Market for which the order is sent
55 Symbol Contract for which the order is sent
207 SecurityExchange Exchange for which the order is sent
167 SecurityType Security Type (e.g. Futures) of this specific market

Sample

In this example, a 10-lot Immediate-Or-Cancel order is submitted for a limit price (Tag 44) of 62500 or better. As it is a buy order, a better price indicates a price lower than 62500.

IOC Order

>> 2/25/2013 10:29:07 AM   [FIXNEWORDER] 34=186|49=T4Example|56=T4|50=TraderName|52=20130225-16:29:07.491|1=Account1|11=fn-634973849474913554|48=CME_20130300_ESH3|55=ES|207=CME_Eq|54=2|38=10|40=2|44=150900|59=3|167=FUT|21=1|60=20130225-16:29:07.491|204=0|
[FIXNEWORDER]
[MsgSeqNum] 34 = 186
[SenderCompID] 49 = T4Example
[TargetCompID] 56 = T4
[SenderSubID] 50 = TraderName
[SendingTime] 52 = 20130225-16:29:07.491
[Account] 1 = Account1
[ClOrdID] 11 = fn-634973849474913554
[SecurityID] 48 = CME_20130300_ESH3
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[Side] 54 = 2 (SELL)
[OrderQty] 38 = 10
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 150900
[TimeInForce] 59 = 3 (IMMEDIATE_OR_CANCEL)
[SecurityType] 167 = FUT (FUTURE)
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION)
[TransactTime] 60 = 20130225-16:29:07.491
[CustomerOrFirm] 204 = 0 (CUSTOMER)

IOC Order Response

<< 2/25/2013 10:29:07 AM  [fixexecutionreport] 34=19682|49=T4|56=T4Example|50=T4FIX|52=20130225-16:29:07.662|143=US,IL|1=Account1|11=fn-634973849474913554|17=47990.6420058920_ESH3.6349738495015100006.1.D596F0C5|150=0|37=D596F0C5-2F16-44E3-B8E6-6972E840CF48|39=0|48=CME_20130300_ESH3|55=ES|207=CME_Eq|200=201303|59=3|107=E-mini S&P 500 Mar13|54=2|167=FUT|38=10|40=2|44=150900|60=20130225-16:29:10.151|21=1|204=0|
[FIXEXECUTIONREPORT]
[MsgSeqNum] 34 = 19682
[SenderCompID] 49 = T4
[TargetCompID] 56 = T4Example
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20130225-16:29:07.662
[TargetLocationID] 143 = US,IL
[Account] 1 = Account1
[ClOrdID] 11 = fn-634973849474913554
[ExecID] 17 = 47990.6420058920_ESH3.6349738495015100006.1.D596F0C5
[ExecType] 150 = 0 (NEW)
[OrderID] 37 = D596F0C5-2F16-44E3-B8E6-6972E840CF48
[OrdStatus] 39 = 0 (NEW)
[SecurityID] 48 = CME_20130300_ESH3
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[MaturityMonthYear] 200 = 201303
[TimeInForce] 59 = 3 (IMMEDIATE_OR_CANCEL)
[SecurityDesc] 107 = E-mini S&P 500 Mar13
[Side] 54 = 2 (SELL)
[SecurityType] 167 = FUT (FUTURE)
[OrderQty] 38 = 10
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 150900
[TransactTime] 60 = 20130225-16:29:10.151
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION)
[CustomerOrFirm] 204 = 0 (CUSTOMER)

Further details on the tags used for this order type are described in the dictionary of the New Order Single message.

T4 FIX API Home