Monthly Archives: June 2011

Split Java List into your traget size

public static void main(String... args) {
    List<Integer> list = new ArrayList<Integer>();
    list.add(0);
    list.add(1);
    list.add(2);
    list.add(3);
    list.add(4);
    list.add(5);
    list.add(6);

    int targetSize = 3;
    List<List<Integer>> lists = split(list, targetSize);
    System.out.println(lists); // [[0, 1, 2], [3, 4, 5], [6]]
}

public static <T extends Object> List<List<T>> split(List<T> list, int targetSize) {
    List<List<T>> lists = new ArrayList<List<T>>();
    for (int i = 0; i < list.size(); i += targetSize) {
        lists.add(list.subList(i, Math.min(i + targetSize, list.size())));
    }
    return lists;
}

Some of the disign pattern defnitions

Abstract Factory Definition

Provides one level of interface higher than the factory pattern. It is used to return one of several factories.

Builder Definition

Construct a complex object from simple objects step by step.

FACTORY Method Definition

Provides an abstraction or an interface and lets subclass or implementing classes decide which class or method should be 

instantiated or called, based on the conditions or parameters given.

Prototype Definition

Cloning an object by reducing the cost of creation.

Singleton Defnition

One instance of a class or one value accessible globally in an application.

Adapter Definition

Convert the existing interfaces to a new interface to achieve compatibility and reusability of the unrelated classes in one application. Also known as Wrapper pattern.

Bridge

Decouple an abstraction or interface from its implementation so that the two can vary independently.

Composite

Build a complex object out of elemental objects and itself like a tree structure.

Proxy Definition

Use a simple object to represent a complex one or provide a placeholder for another object to control access to it.

FIX protocol and fix messaging

 

What is the difference between ClOrdID and OrderID?
In FIX (financial information exchange) protocol ClOrdId is a unique id assigned by buy-side while the later is assigned by sell-side. OrderID normally remains same for a message chain (e.g. on Cancel and mod orders) while ClOrdID changes with Cancel and Modification.

What is difference between TransactTime and Sending Time?
TransactTime: Time of execution/order creation (expressed in UTC (Universal Time Coordinated, also known as ‘GMT’)
SendingTime: Time of message transmission (always expressed in UTC (Universal Time Coordinated, also known as ‘GMT’)

What is TradeBust and Trade Cancel?
Some times exchange wants to cancel a trade , if exchange is using FIX protocol then it sends execution report (MsgType=8) and ExecType=H(Cancel) , this is called TradeBust , after this earlier trade will not go for settlement and deemed as cancelled. In other times exchange (or execution party) wants to correct either TradePrice or Trade Quantity in that case they send execution report (MsgType=8) and ExecType=G (Correct), this is called Trade Correct.

As per FIX (financial information exchange) protocol
A Cancel on an execution (trade bust, ExecType (150) = Trade Cancel) happening the same day of the trade will result in CumQty (14) and DayCumQty (425) each decreasing by the quantity busted, and LeavesQty (151) increasing by the quantity busted. OrderQty (38) and DayOrderQty (424) will remain unchanged. If the business rules allow for a trade bust to be reported on a later date than the trade being busted, the OrderQty (38) and DayCumQty (425) will remain unchanged, the LeavesQty (151) and DayOrderQty (424) will increase by the quantity busted, and the CumQty (14) will decrease by the quantity busted.

What do you mean by Funari OrderType?

Funari is a special order type normally used in Japanese and Korean exchange where unexecuted quantity of a limit order turned as Market order during Market close, it is denoted as OrdType=I in FIX (financial information exchange)  protocol.

What are differences between FIX 4.0 and FIX 4.2?
In FIX 4.0 we had tag called ExecTranType which describe Execution type in FIX 4.2 this tag is merged with ExecType (tag 150) and now OrdStatus will show status of order instead of Execution type. Later versions of FIX (financial information exchange) protocol is now 5.0 or even higher.

What do you mean by Sashinari & Hikenari order types?

These are again special order types available in Japanese exchanges added on FIX (financial information exchange) protocol later.
Sashinari (Limit market order) = First, this is treated as a limit order. However, if all or part of the order is still unexecuted, then the remaining quantity is changed to market order at “day’s” closing (O-hike).
Hikenari (Market order on close) = this order type can be placed either for closing of morning session or closing of afternoon session. However, if an order is placed for closing of morning session and there are still unexecuted quantities, then the remaining quantity (not expired at morning close) is treated as a market order for “the opening of afternoon session”.
If an order is placed during afternoon session, it is treated as a market order on afternoon close

Sashinari and Hikenari are available in TOCOM exchange.

What are header tags in FIX (financial information exchange) Protocol?

. “The first three fields in the standard header are BeginString (tag #8) followed by BodyLength (tag #9) followed by MsgType (tag #35).”

 

What is difference between DMA orders and CARE orders?
These are general concept irrespective of FIX (financial information exchange) protocol. DMA orders are Direct to Market order means it will not touched by any trader or salesperson on broker side while CARE orders also called as Broker Intervention (BI) orders will be touched by Trader or salesperson on broker side.
So if a Trader has any view on Market he can take advantage of that while working with BI order

 

What is the difference between Application level Reject (MsgType=8 and ExecType=8) and Session level reject (MsgType=3)?
FixEngine will reject any message which doesn’t confirm FIX protocol i.e. some mandatory tags missing e.g. MsgType with Session level reject , application will not get that message for processing , while application e.g. OMS or Execution System will reject message based on Business logic or FIX (financial information exchange)  Protocol trade life cycle with application level Reject (MsgType=8 and ExecType=8).

What is FIX Messaging?
FIX messaging is term used to describe communication using FIX protocol. So if two FIX engines are communicating with each other using financial information exchange protocol we call it as they are communicating using FIX messaging.

 

What are most common issues encounter when two FIX Engine communicates ?
When Clients connect to broker via FINANCIAL INFORMATION EXCHANGE (FIX) protocol, there FIX engine connects to each other, while setting up and during further communication many issues can occur below are some of most common ones:
Issues related to network connectivity
Issues related to Firewall rules
Issue related to incorrect host/port name while connecting.
Incorrect SenderCompID and TargetCompID
Sequence Number mismatch
Issue related to FINANCIAL INFORMATION EXCHANGE (FIX) version mismatch

What do you mean by Warrant?
Warrant is a financial product which gives right to holder to Buy or Sell underlying financial security, its similar to option with some differences e.g. Warrants are normally issued by banks while options are primarily traded in exchange.

What is mean by Settlement of Securities? When Settlement does occur?
In Simple term Settlement means money will deducted from buyers and account and security(Shares) will be credited to his account , normally Settlement occurs after few days of trade date for most of the exchange its T+3 (i.e. Three days after trade date) , T denotes Trade date means the date on which transaction has taken place.
For some of the exchanges e.g. NSE India, SEHK Hongkong its T+2.

What is NewOrderSingle, OrderCancelReplance and OrderCancel Reject message?
These are the basic, most commonly used messages in Electronic trading via FINANCIAL INFORMATION EXCHANGE (FIX) protocol.
NewOrderSingle message is denoted by MsgType=D and its used to place an Order, OrderCancelReplace Request is modification request denoted by MsgType=G in FINANCIAL INFORMATION EXCHANGE (FIX) protocol and used to modify Order e.g for changing quantity or price of Order.

What do you mean by Incoming Sequence No and Outgoing Sequence No? Which tag is used to carry Sequence No?
Sequence Number is very important concept of FINANCIAL INFORMATION EXCHANGE (FIX) protocol which essentially provides it Recovery and replay functionality and ensures that no message will lose during transmission or communication. In FINANCIAL INFORMATION EXCHANGE (FIX) protocol every message contains a unique sequence number defined in tag 34. Logically we can divide sequence number into two Incoming and Outgoing Sequence number.
Incoming sequence number is the number any FIX Engine expecting from Counter Party and Outgoing sequence number is the number any FIX engine is sending to Counter Party.

 

FIX specification are following:

Heartbeat:
Heartbeat messages are denoted by MsgType=0 in financial information exchange (FIX) Protocol. Both FIX Session Initiator and FIX Session Acceptor sends each other Heartbeat messages to keep FIX session alive on a interval defined by Heartbeat Interval which is usually 30 or 60 seconds. If you see Heartbeat message (FIX tag 35=0) in your FIX Engine log file means your FIX session is up and connected.

Logon:
Logon message is denoted by FIX tag 35=A and it is used to send login message from FIX initiator. As per FIX Protocol once TCP connection between FIX Initiator and FIX Acceptor got established, FIX initiator sends Logon message (tag 35=A) with pre agreed SenderCompID (tag 49) and TargetCompID (tag 56) and with Sequence No (FIX tag 34) expecting by FIX Acceptor. When FIX Acceptor receives Logon request (MsgType=A) it authenticate FIX session based on CompID specified in FIX Message and Sequence No and reply back with either Logout (tag 35=5) message or Logon(tag 35=A)  message based upon result of authentication.

 

Resend Request
Resend Request (FIX tag 35=2 or MsgType=2) is used for asking of retransmission or replay of lost messages during transmission or due to incorrect sequence number. It’s normally sent by the FIX Engine which is receiving message to initiate the retransmission of messages. FIX Engine uses Resend Request (tag 35=2) if a sequence number gap is detected or if FIX Engine of receiving application lost a message or as a part of initialization process to make sequence number in sync.

Resend Request (FIX tag 35=2 or MsgType=2) can be used to request a single FIX message, a range of FIX messages or all FIX messages subsequent to a particular FIX message.

Its worth noting that sending FIX Engine may like to consider the message type when resending messages; e.g. if a new order is in the resend series and a significant time period has been passed since it was originally sent, the sender FIX Engine may not wish to retransmit the order since market dynamics an price etc might have been changed also this may result in stale order reject which is done by Order Management Systems (OMS). (The Sequence Reset (FIX tag 35=4 or MsgType=4) Also called as Gap Fill is used to skip FIX messages that a sender FIX Engine does not want to resend.)

 

It is mandatory that the receiving FIX Engine process messages in sequential order, e.g. if FIX message number 11 is missed and 12-13 received, the application should ignore 12 and 13 and ask for a resend of 11-13, or 11 -0 (0 denotes infinity). Second approach is strongly recommended to recover from out of sequence conditions as it allows for faster recovery in the presence of certain race conditions when both sides of FIX Engines are simultaneously attempting to recover a sequence number gap.
Test Request
In financial information exchange also called FIX Protocol Test Request is denoted by FIX tag 35=1 or MsgType=1. Test Request FIX Message is used by FIX Engine to forces a heartbeat from the opposing FIX Engine. The Test Request (FIX tag 35=1) message checks sequence numbers or verifies communication line status. The opposite FIX Engine responds to the Test Request Test Request (FIX tag 35=1) with a Heartbeat (FIX tag 35=0) containing the TestReqID (FIX tag 112).

The TestReqID FIX tag 112) verifies that the counterparty FIX Engine is generating the Heartbeat (FIX tag 35=0) as the result of Test Request (FIX tag 35=1) and not a normal timeout. The opposite FIX Engine includes the TestReqID (FIX tag 112) in the resulting Heartbeat (FIX tag 35=0). Any string can be used as the Heartbeat (FIX tag 35=0) (Some fix engine generally uses a timestamp string).

 

Session Level Reject
In financial information exchange (FIX) protocol Session level Reject or  Reject  message is denoted by FIX tag 35=3 or MsgType=3.  Session level Reject is used by FIX engine when a fix message is received but cannot be properly processed due to a session-level rule violation as specified in FIX Protocol specification document. As an example FIX Engine will use Session level Reject or a reject it receives a FIX message with invalid basic data (e.g. MsgType 35 =$) which successfully passes de-encryption, Checksum (FIX tag 10) and BodyLength (FIX tag 9) checks. As a rule FIX messages should be forwarded to the trading application for business level rejections whenever possible.

Rejected messages should be logged into log file and the incoming sequence number must be incremented by FIX Engine.

 

Its worth noting that receiving FIX Engine  should disregard any FIX message which  is incorrect , cannot be parsed or fails a data integrity check. Processing of the next valid FIX message will cause detection of a sequence number mismatch and a Resend Request (FIX tag 35=2 or MsgType=2) will be generated and passed to counter-party FIX Engine.

Generation and receipt of a Reject (FIX tag 3) message indicates a serious error that may be the result of faulty logic in either the sending or receiving FIX Engine.

If the sending FIX Engine chooses to retransmit the rejected message, it should be assigned a new sequence number (FIX tag 34) and sent with PossResend (FIX tag 97) =Y.

Its recommended  to describe the cause of reject in the fix tag  Text (FIX Tag 58)  which then can be used by receiving FIX engine or developer to identify actual cause of Session level reject  (e.g. Price tag is missing in Limit Order).

 

Below are some scenarios where session-level Reject (FIX Tag 3 or MsgType=3) can be used.

CompID problem: Either FIX Initiator or FIX Acceptor is sending incorrect SenderCompID (tag 49) and TargetCompID (tag 56).

Invalid MsgType: Either FIX initiator or FIX Acceptor is sending MsgType other than specified in FIX Specification for that particular FIX Version e.g. FIX4.2

Incorrect data format for value: If a FIX tag has a data type Timestamp and FIX engine is sending some other data type

Required tag missing: Either FIX Initiator or FIX Acceptor is not sending mandatory FIX tag in a particular FIX message e.g. Price (FIX tag 44) missing in a NewOrderSingle (MsgType=D) message with OrdType =2 i.e. Limit Order.

Invalid tag number: Either FIX initiator or FIX Acceptor is sending any tag other than specified in FIX Specification for that particular FIX Version e.g. FIX4.2

Tag not defined for this message type: Either FIX initiator or FIX Acceptor is sending any tag other than specified in FIX Specification for that particular message type e.g. Sending TestReqID in logout message.

Undefined Tag: In case any of sender FIX engine is sending custom tag and that is not configured or supported by Revenging fix engine.

Tag specified without a value: e.g. 35= and there is no value for that particular fix tag. Its not a valid fix message and so receiving fix engine will reject it.

 

Sequence Reset
Sequence Reset also called as Gap fill messages is denoted by FIX tag 35=4 or FIX MsgType 35=4. It is used in response to Resend Request (FIX tag 35=2 or MsgType=2) by sending FIX engine to reset the incoming sequence number on the opposing side FIX engine. Sequence Reset message (fix tag 35=4) operates in two different modes one in which GapFillFlag (FIX tag 123) is ‘Y’ also called Sequence Reset – Gap Fill and second mode on which GapFillFlag (FIX tag 123) is ‘N’ or not present also called Sequence Reset – Reset mode. As per FIX protocol specification the “Sequence Reset (fix tag 35=4)-Reset” mode should ONLY be used to recover from a disaster situation which cannot be otherwise recovered by “Gap Fill” mode.

 

The Sequence Reset or GapFill message (fix tag 35=4) can be useful in the following circumstances:

1. While processing Resend Request (FIX tag 35=2 or MsgType=2) sending FIX Engine may choose not to send a message (e.g. a stale order). The Sequence Reset (fix tag 35=4) – Gap Fill can be used to fill the place of that message.

2. While processing Resend Request (FIX tag 35=2 or MsgType=2) sending FIX Engine may choose not to send a message if all the messages are only administrative or session level messages, because there is no point on resending them in that case also Sequence Reset (fix tag 35=4) – Gap Fill is used to fill the message or sequence gap.

Logout
Logout message is denoted by FIX tag 35=5 or MsgType=5 in FIX protocol specification and it is used to terminate or close any FIX session. In case receiver FIX engine is not able to authenticate client it will send a Logout message (fix tag 35=5) and connection will be terminated though socket connection will still be there. Receiver FIX engine can also send Logout message (fix tag 35=5) if it receives fix message with sequence number lower than it is expecting. The Logout message (fix tag 35=5) is used to terminate a FIX session. Termination or disconnection without the exchange of Logout message (fix tag 35=5) messages is treated an abnormal condition.

Exchange of Logout message (fix tag 35=5) before actually terminating or closing the session allows the initiator FIX engine to perform any kind of Sequence Reset (fix tag 35=4) or Gap fill operations that may be required or necessary. Logout initiator should also wait for the opposite FIX engine to respond with a confirming Logout message (fix tag 35=5) it can terminate the session in case the remote FIX Engine does not respond within a specified time period.

 

How To Search And Replace Text With Linux VI Editor

ok, on the example text file above, lets say i want to change all the ‘wallpaper’ to ‘screensaver’ well this is how you would do it..

lets assume that wallpaperama.txt is located on my home directory at: /home/me/wallpaperama.txt

step 1. open the file with the vi editor:

vi /home/me/wallpaperama.txt

step 2. Enter – SHIFT + : (the Shift key and the colon key at the same time) on your keyboard, the screen will look like this:
20080904_6332_vi-editor.jpg

step 3. now enter this command and hit enter

:%s/wallpaper/screensaver/g

step 4. now you will see that all the text ‘wallpaper’ was changed to ‘screensaver’
20080904_6332_vi-linux-editor.jpg

step 5. save the change with this command:

:qw

DONE

i hope this helps you

QuickFix Field Descriptions

Field Description

 

Tag Field Name Format Description Found in messages
1 Account String Account mnemonic as agreed between buy and sell sides, e.g. broker and institution or investor – intermediary and fund manager. Quote
Quote Cancel
Quote Status Request
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
Order Cancel Request
Order Cancel Reject
Order Status Request
Order Mass Status Request
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
Bid Request
New Order – List
Trade Capture Report
Registration Instructions
Registration Instructions Response
2 AdvId String Unique identifier of advertisement message.
(Prior to FIX 4.1 this field was of type int)
Advertisement
3 AdvRefID String Reference identifier used with CANCEL and REPLACE transaction types.
(Prior to FIX 4.1 this field was of type int)
Advertisement
4 AdvSide Char Broker’s side of advertised trade
Valid values:
B = Buy
S = Sell
X = Cross
T = Trade
Advertisement
5 AdvTransType String Identifies advertisement message transaction type
Valid values:
N = New
C = Cancel
R = Replace
Advertisement
6 AvgPx Price Calculated average price of all fills on this order. Execution Report
List Status
Allocation
7 BeginSeqNo SeqNum Message sequence number of first message in range to be resent Resend Request
8 BeginString String Identifies beginning of new message and protocol version. ALWAYS FIRST FIELD IN MESSAGE. (Always unencrypted)
Valid values:
FIX.4.3
Standard Message Header
9 BodyLength Length Message length, in bytes, forward to the CheckSum field. ALWAYS SECOND FIELD IN MESSAGE. (Always unencrypted) Standard Message Header
10 CheckSum String Three byte, simple checksum (see Volume 2: “Checksum Calculation” for description). ALWAYS LAST FIELD IN MESSAGE; i.e. serves, with the trailing <SOH>, as the end-of-message delimiter. Always defined as three characters. (Always unencrypted) Standard Message Trailer
11 ClOrdID String Unique identifier for Order as assigned by the buy-side (institution, broker, intermediary etc.) (identified by SenderCompID or OnBehalfOfCompID as appropriate). Uniqueness must be guaranteed within a single trading day. Firms, particularly those which electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClOrdID field. Email
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
Order Cancel Request
Order Cancel Reject
Order Status Request
Order Mass Cancel Request
Order Mass Cancel Report
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
List Strike Price
List Status
Allocation
Settlement Instructions
Trade Capture Report Request
Trade Capture Report
Registration Instructions
Registration Instructions Response
12 Commission Amt Commission. Note if CommType is percentage, Commission of 5% should be represented as .05. Component Block – <CommissionData>
Quote
Quote Status Report
13 CommType char Commission type
Valid values:
1 = per share
2 = percentage
3 = absolute
4 = (for CIV buy orders) percentage waived – cash discount
5 = (for CIV buy orders) percentage waived – enhanced units
6 = per bond
Component Block – <CommissionData>
Quote
Quote Status Report
14 CumQty Qty Total quantity (e.g. number of shares) filled.
(Prior to FIX 4.2 this field was of type int)
Execution Report
List Status
15 Currency Currency Identifies currency used for price. Absence of this field is interpreted as the default for the security. It is recommended that systems provide the currency value whenever possible. See “Appendix 6-A: Valid Currency Codes” for information on obtaining valid values. Advertisement
Indication of Interest
Quote Request
Quote Request Reject
Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
Security Definition Request
Security Definition
Security List Request
Security List
Derivative Security List Request
Derivative Security List
Derivative Security List
Security Status
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
Bid Request
New Order – List
List Strike Price
Allocation
Trade Capture Report
16 EndSeqNo SeqNum Message sequence number of last message in range to be resent. If request is for a single message BeginSeqNo = EndSeqNo. If request is for all messages subsequent to a particular message, EndSeqNo = “0” (representing infinity). Resend Request
17 ExecID String Unique identifier of execution message as assigned by sell-side (broker, exchange, ECN) (will be 0 (zero) forExecType=I (Order Status)).
Uniqueness must be guaranteed within a single trading day or the life of a multi-day order. Firms which accept multi-day orders should consider embedding a date within the ExecID field to assure uniqueness across days.
(Prior to FIX 4.1 this field was of type int)
Execution Report
Dont Know Trade (DK)
Allocation
Trade Capture Report Request
Trade Capture Report
18 ExecInst MultipleValueString Instructions for order handling on exchange trading floor. If more than one instruction is applicable to an order, this field can contain multiple instructions separated by space.
Valid values:
1 = Not held
2 = Work
3 = Go along
4 = Over the day
5 = Held
6 = Participate don’t initiate
7 = Strict scale
8 = Try to scale
9 = Stay on bidside
0 = Stay on offerside
A = No cross (cross is forbidden)
B = OK to cross
C = Call first
D = Percent of volume “(indicates that the sender does not want to be all of the volume on the floor vs. a specific percentage)”
E = Do not increase – DNI
F = Do not reduce – DNR
G = All or none – AON
H = Reinstate on System Failure (mutually exclusive with Q)
I = Institutions only
J = Reinstate on Trading Halt (mutually exclusive with K)
K = Cancel on Trading Halt (mutually exclusive with L)
L = Last peg (last sale)
M = Mid-price peg (midprice of inside quote)
N = Non-negotiable
O = Opening peg P = Market peg
Q = Cancel on System Failure (mutually exclusive with H)
R = Primary peg (primary market – buy at bid – sell at offer)
S = Suspend
T = Fixed Peg to Local best bid or offer at time of order
U = Customer Display Instruction (Rule11Ac1-1 – 4)
V = Netting (for Forex)
W = Peg to VWAP
X = Trade Along
Y = Try to Stop
(see Volume 1: “Glossary” for value definitions)
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
19 ExecRefID String Reference identifier used with Cancel and Correct transaction types.
(Prior to FIX 4.1 this field was of type int)
Execution Report
20 ExecTransType char No longer used as of FIX 4.3. Included here for reference to prior versions.
*** REPLACED FIELD – See “Replaced Features and Supported Approach” ***
Identifies transaction type
Valid values:
0 = New
1 = Cancel
2 = Correct
3 = Status
21 HandlInst char Instructions for order handling on Broker trading floor
Valid values:
1 = Automated execution order, private, no Broker intervention
2 = Automated execution order, public, Broker intervention OK
3 = Manual order, best execution
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
22 SecurityIDSource String Identifies class or source of the SecurityID value. Required if SecurityID is specified.
Valid values:
1 = CUSIP
2 = SEDOL
3 = QUIK
4 = ISIN number
5 = RIC code
6 = ISO Currency Code
7 = ISO Country Code
8 = Exchange Symbol
9 = Consolidated Tape Association (CTA) Symbol (SIAC CTS – CQS line format)
A = Bloomberg Symbol
B = Wertpapier
C = Dutch
D = Valoren
E = Sicovam
F = Belgian
G = “Common” (Clearstream and Euroclear)

100+ are reserved for private security identifications
(formerly named: IDSource prior to FIX 4.3)

Component Block – <Instrument>
23 IOIid String Unique identifier of IOI message.
(Prior to FIX 4.1 this field was of type int)
Indication of Interest
New Order – Single
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
24 IOIOthSvc char No longer used as of FIX 4.2. Included here for reference to prior versions.
25 IOIQltyInd char Relative quality of indication
Valid values:
L = Low
M = Medium
H = High
Indication of Interest
26 IOIRefID String Reference identifier used with CANCEL and REPLACE, transaction types.
(Prior to FIX 4.1 this field was of type int)
Indication of Interest
27 IOIQty String Quantity (e.g. number of shares) in numeric form or relative size.
Valid values:
0 – 1000000000
S = Small
M = Medium
L = Large
(formerly named: IOIShares prior to FIX 4.3)
Indication of Interest
28 IOITransType char Identifies IOI message transaction type
Valid values:
N = New
C = Cancel
R = Replace
Indication of Interest
29 LastCapacity char Broker capacity in order execution
Valid values:
1 = Agent
2 = Cross as agent
3 = Cross as principal
4 = Principal
Execution Report
Allocation
30 LastMkt Exchange Market of execution for last fill
Valid values:
See “Appendix 6-C”
Advertisement
Execution Report
Allocation
Settlement Instructions
Trade Capture Report
31 LastPx Price Price of this (last) fill. Security Status
Execution Report
Dont Know Trade (DK)
Allocation
Trade Capture Report
32 LastQty Qty Quantity (e.g. shares) bought – sold on this (last) fill.
(formerly named: LastShares prior to FIX 4.3) (Prior to FIX 4.2 this field was of type int)
Execution Report
Dont Know Trade (DK)
Allocation
Trade Capture Report
33 LinesOfText NumInGroup Identifies number of lines of text body News
Email
34 MsgSeqNum SeqNum Integer message sequence number. Standard Message Header
35 MsgType String Defines message type. ALWAYS THIRD FIELD IN MESSAGE. (Always unencrypted)
Note: A “U” as the first character in the MsgType field (i.e. U1, U2, etc) indicates that the message format is privately defined between the sender and receiver.
Valid values: *** Note the use of lower case letters ***
0 = Heartbeat
1 = Test Request
2 = Resend Request
3 = Reject
4 = Sequence Reset
5 = Logout
6 = Indication of Interest
7 = Advertisement
8 = Execution Report
9 = Order Cancel Reject
A = Logon
B = News
C = Email
D = Order – Single
E = Order – List
F = Order Cancel Request
G= Order Cancel – Replace Request
H= Order Status Request
J = Allocation
K = List Cancel Request
L = List Execute
M = List Status Request
N = List Status
P = Allocation ACK
Q = Don’t Know Trade (DK)
R = Quote Request
S = Quote
T = Settlement Instructions
V = Market Data Request
W = Market Data-Snapshot – Full Refresh
X = Market Data-Incremental Refresh
Y = Market Data Request Reject
Z = Quote Cancel
a = Quote Status Request
b = Mass Quote Acknowledgement
c = Security Definition Request
d = Security Definition
e = Security Status Request
f = Security Status
g = Trading Session Status Request
h = Trading Session Status
i = Mass Quote
j = Business Message Reject
k = Bid Request
l = Bid Response (lowercase L)
m = List Strike Price
n = XML message (e.g. non-FIX MsgType)
o = Registration Instructions
p = Registration Instructions Response
q = Order Mass Cancel Request
r = Order Mass Cancel Report
s = New Order – Cross
t = Cross Order Cancel – Replace Request (a.k.a. Cross Order Modification Request)
u = Cross Order Cancel Request
v = Security Type Request
w = Security Types
x = Security List Request
y = Security List
z = Derivative Security List Request
AA = Derivative Security List
AB = New Order – Multileg
AC = Multileg Order Cancel – Replace (a.k.a. Multileg Order Modification Request)
AD = Trade Capture Report Request
AE = Trade Capture Report
AF = Order Mass Status Request
AG = Quote Request Reject
AH = RFQ Request
AI = Quote Status Report
Standard Message Header
36 NewSeqNo SeqNum New sequence number Sequence Reset
37 OrderID String Unique identifier for Order as assigned by sell-side (broker, exchange, ECN). Uniqueness must be guaranteed within a single trading day. Firms which accept multi-day orders should consider embedding a date within the OrderID field to assure uniqueness across days. Email
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
Execution Report
Dont Know Trade (DK)
Order Cancel/Replace Request (aka Order Modification Request)
Order Cancel Request
Order Cancel Reject
Order Status Request
Order Mass Cancel Report
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
Allocation
Trade Capture Report Request
Trade Capture Report
38 OrderQty Qty Quantity ordered. This represents the number of shares for equities or based on normal convention the number of contracts for options, futures, convertible bonds, etc.
(Prior to FIX 4.2 this field was of type int)
Component Block – <OrderQtyData>
Quote Request
Quote Request Reject
39 OrdStatus char Identifies current status of order.
Valid values:
0 = New
1 = Partially filled
2 = Filled
3 = Done for day
4 = Canceled
5 = Replaced (Removed – Replaced)
6 = Pending Cancel (e.g. result of Order Cancel Request)
7 = Stopped
8 = Rejected
9 = Suspended
A = Pending New
B = Calculated
C = Expired
D = Accepted for bidding
E = Pending Replace (e.g. result of Order Cancel – Replace Request)
*** SOME VALUES HAVE BEEN REPLACED – See “Replaced Features and Supported Approach” ***
(see Volume 1: “Glossary” for value definitions)
Execution Report
Order Cancel Reject
List Status
40 OrdType char Order type.
Valid values:
1 = Market
2 = Limit
3 = Stop
4 = Stop limit
5 = Market on close (Deprecated)
6 = With or without
7 = Limit or better
8 = Limit with or without
9 = On basis
A = On close (Deprecated)
B = Limit on close (Deprecated)
C = Forex – Market (Deprecated)
D = Previously quoted
E = Previously indicated
F = Forex – Limit (Deprecated)
G = Forex – Swap
H = Forex – Previously Quoted (Deprecated)
I = Funari (Limit Day Order with unexecuted portion handled as Market On Close. e.g. Japan)
J = Market If Touched (MIT)
K = Market with Leftover as Limit (market order then unexecuted quantity becomes limit order at last price)
L = Previous Fund Valuation Point (Historic pricing) (for CIV)
M = Next Fund Valuation Point -(Forward pricing) (for CIV)
P = Pegged
*** SOME VALUES HAVE BEEN DEPRECATED – See “Deprecated (Phased-out) Features and Supported Approach” ***
(see Volume 1: “Glossary” for value definitions)
Quote Request
Quote Request Reject
Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
41 OrigClOrdID String ClOrdID of the previous order (NOT the initial order of the day) as assigned by the institution, used to identify the previous order in cancel and cancel – replace requests. Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
Order Cancel Request
Order Cancel Reject
Order Mass Cancel Report
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
42 OrigTime UTCTimestamp Time of message origination (always expressed in UTC (Universal Time Coordinated, also known as “GMT”)) News
Email
43 PossDupFlag Boolean Indicates possible retransmission of message with this sequence number
Valid values:
Y = Possible duplicate
N = Original transmission
Standard Message Header
44 Price Price Price per unit of quantity (e.g. per share) Advertisement
Indication of Interest
Quote Request
Quote Request Reject
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
Bid Response
New Order – List
List Strike Price
45 RefSeqNum SeqNum Reference message sequence number Business Message Reject
Reject
46 RelatdSym String No longer used as of FIX 4.3. Included here for reference to prior versions.
47 Rule80A char *** DEPRECATED FIELD – See “Deprecated (Phased-out) Features and Supported Approach” ***
Note that the name of this field is changing to “OrderCapacity” as Rule80A is a very US market-specific term. Other world markets need to convey similar information, however, often a subset of the US values. See the “Rule80A (aka OrderCapacity) Usage by Market” appendix for market-specific usage of this field.
Valid values:
A = Agency single order
B = Short exempt transaction (refer to A type)
C = Program Order, non-index arb, for Member firm – org
D = Program Order, index arb, for Member firm – org
E = Short Exempt Transaction for Principal (was incorrectly identified in the FIX spec as “Registered Equity Market Maker trades”)
F = Short exempt transaction (refer to W type)
H = Short exempt transaction (refer to I type)
I = Individual Investor, single order
J = Program Order, index arb, for individual customer
K = Program Order, non-index arb, for individual customer
L = Short exempt transaction for member competing market-maker affiliated with the firm clearing the trade (refer to P and O types)
M = Program Order, index arb, for other member
N = Program Order, non-index arb, for other member
(…values continued in next row….)
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – List
O = Proprietary transactions for competing market-maker that is affiliated with the clearing member (was incorrectly identified in the FIX spec as “Competing dealer trades”)
P = Principal
R = Transactions for the account of a non-member competing market maker (was incorrectly identified in the FIX spec as “Competing dealer trades”)
S = Specialist trades
T = Transactions for the account of an unaffiliated member’s competing market maker (was incorrectly identified in the FIX spec as “Competing dealer trades”)
U = Program Order, index arb, for other agency
W = All other orders as agent for other member
X = Short exempt transaction for member competing market-maker not affiliated with the firm clearing the trade (refer to W and T types)
Y = Program Order, non-index arb, for other agency
Z = Short exempt transaction for non-member competing market-maker (refer to A and R types)
Component Block – <Instrument>
Component Block – <UnderlyingInstrument>
Quote Cancel
48 SecurityID String Security identifier value of SecurityIDSource type (e.g. CUSIP, SEDOL, ISIN, etc). Requires SecurityIDSource. Component Block – <Instrument>
49 SenderCompID String Assigned value used to identify firm sending message. Standard Message Header
50 SenderSubID String Assigned value used to identify specific message originator (desk, trader, etc.) Standard Message Header
51 SendingDate LocalMktDate No longer used. Included here for reference to prior versions.
52 SendingTime UTCTimestamp Time of message transmission (always expressed in UTC (Universal Time Coordinated, also known as “GMT”) Standard Message Header
53 Quantity Qty Overall – total quantity (e.g. number of shares)
(formerly named: Shares prior to FIX 4.3)
(Prior to FIX 4.2 this field was of type int)
Advertisement
Allocation
54 Side char Side of order
Valid values:
1 = Buy
2 = Sell
3 = Buy minus
4 = Sell plus
5 = Sell short
6 = Sell short exempt
7 = Undisclosed (valid for IOI and List Order messages only)
8 = Cross (orders where counterparty is an exchange, valid for all messages except IOIs)
9 = Cross short
A = Cross short exempt
B = “As Defined” (for use with multileg instruments)
C = “Opposite” (for use with multileg instruments)
(see Volume 1: “Glossary” for value definitions)
Indication of Interest
Quote Request
Quote Request Reject
New Order – Single
Execution Report
Dont Know Trade (DK)
Order Cancel/Replace Request (aka Order Modification Request)
Order Cancel Request
Order Status Request
Order Mass Cancel Request
Order Mass Cancel Report
Order Mass Status Request
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
Bid Request
Bid Response
New Order – List
List Strike Price
Allocation
Settlement Instructions
Trade Capture Report Request
Trade Capture Report
55 Symbol String Ticker symbol. Common, “human understood” representation of the security. SecurityID value can be specified if no symbol exists (e.g. non-exchange traded Collective Investment Vehicles) Component Block – <Instrument>
56 TargetCompID String Assigned value used to identify receiving firm. Standard Message Header
57 TargetSubID String Assigned value used to identify specific individual or unit intended to receive message. “ADMIN” reserved for administrative messages not intended for a specific user. Standard Message Header
58 Text String Free format text string
(Note: this field does not have a specified maximum length)
Business Message Reject
Reject
Logout
Advertisement
Indication of Interest
News
Email
Quote Request
Quote Request Reject
Quote
Mass Quote Acknowledgement
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
Market Data Request Reject
Security Definition Request
Security Definition
Security Type Request
Security Types
Security List Request
Security List
Derivative Security List Request
Derivative Security List
Security Status
Trading Session Status
New Order – Single
Execution Report
Dont Know Trade (DK)
Order Cancel/Replace Request (aka Order Modification Request)
Order Cancel Request
Order Cancel Reject
Order Mass Cancel Request
Order Mass Cancel Report
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
Bid Request
Bid Response
New Order – List
List Strike Price
List Status
List Execute
List Cancel Request
List Status Request
Allocation
Allocation ACK
Trade Capture Report Request
Trade Capture Report
59 TimeInForce char Specifies how long the order remains in effect. Absence of this field is interpreted as DAY. NOTE not applicable to CIV Orders.
Valid values:
0 = Day
1 = Good Till Cancel (GTC)
2 = At the Opening (OPG)
3 = Immediate or Cancel (IOC)
4 = Fill or Kill (FOK)
5 = Good Till Crossing (GTX)
6 = Good Till Date
7 = At the Close
(see Volume 1: “Glossary” for value definitions)
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
60 TransactTime UTCTimestamp Time of execution – order creation (expressed in UTC (Universal Time Coordinated, also known as “GMT”) Advertisement
Indication of Interest
Quote Request
Quote Request Reject
Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
Security Status
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
Order Cancel Request
Order Cancel Reject
Order Mass Cancel Request
Order Mass Cancel Report
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
List Status
List Execute
List Cancel Request
Allocation
Allocation ACK
Settlement Instructions
Trade Capture Report Request
Trade Capture Report
61 Urgency char Urgency flag
Valid values:
0 = Normal
1 = Flash
2 = Background
News
62 ValidUntilTime UTCTimestamp Indicates expiration time of indication message (always expressed in UTC (Universal Time Coordinated, also known as “GMT”) Indication of Interest
Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
63 SettlmntTyp char Indicates order settlement period. If present, FutSettDate (64) overrides this field. If both SettlmntTyp (63) and FutSettDate (64) are omitted, the default for SettlmntTyp (63) is 0 (Regular)
Regular is defined as the default settlement period for the particular security on the exchange of execution.
Valid values:
0 = Regular
1 = Cash
2 = Next Day
3 = T+2
4 = T+3
5 = T+4
6 = Future
7 = When And If Issued
8 = Sellers Option
9 = T+ 5
A = T+1
Quote Request
Quote Request Reject
Quote
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
Bid Request
Bid Response
New Order – List
Allocation
Trade Capture Report
Trade Capture Report
64 FutSettDate LocalMktDate Specific date of trade settlement (SettlementDate) in YYYYMMDD format.
If present, this field overrides SettlmntTyp (63). This field is required if the value of SettlmntTyp (63) is 6 (Future) or 8 (Sellers Option). This field must be omitted if the value of SettlmntTyp (63) is 7 (When and If Issued)
(expressed in local time at place of settlement)
Quote Request
Quote Request Reject
Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
Bid Request
Bid Response
New Order – List
Allocation
Trade Capture Report
Trade Capture Report
65 SymbolSfx String Additional information about the security (e.g. preferred, warrants, etc.). Note also see SecurityType (167).
Valid values:
As defined in the NYSE Stock and bond Symbol Directory and in the AMEX Fitch Directory
Component Block – <Instrument>
66 ListID String Unique identifier for list as assigned by institution, used to associate multiple individual orders. Uniqueness must be guaranteed within a single trading day. Firms which generate multi-day orders should consider embedding a date within the ListID field to assure uniqueness across days. Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
Order Cancel Request
Order Cancel Reject
Bid Request
Bid Response
New Order – List
List Strike Price
List Status
List Execute
List Cancel Request
List Status Request
Allocation
67 ListSeqNo int Sequence of individual order within list (i.e. ListSeqNo of TotNoOrds, 2 of 25, 3 of 25, . . . ) New Order – List
68 TotNoOrders int Total number of list order entries across all messages. Should be the sum of all NoOrders in each message that has repeating list order entries related to the same ListID. Used to support fragmentation.
(Prior to FIX 4.2 this field was named “ListNoOrds”)
New Order – List
List Status
69 ListExecInst String Free format text message containing list handling and execution instructions. New Order – List
70 AllocID String Unique identifier for allocation message.
(Prior to FIX 4.1 this field was of type int)
Allocation
Allocation ACK
Settlement Instructions
71 AllocTransType char Identifies allocation transaction type
Valid values:
0 = New
1 = Replace
2 = Cancel
3 = Preliminary (without MiscFees and NetMoney) (Removed – Replaced)
4 = Calculated (includes MiscFees and NetMoney) (Removed – Replaced)
5 = Calculated without Preliminary (sent unsolicited by broker, includes MiscFees and NetMoney) (Removed – Replaced)
*** SOME VALUES HAVE BEEN REPLACED – See “Replaced Features and Supported Approach” ***
Allocation
72 RefAllocID String Reference identifier to be used with AllocTransType=Replace or Cancel or with AllocType = “Sellside Calculated Using Preliminary”.
(Prior to FIX 4.1 this field was of type int)
Allocation
73 NoOrders NumInGroup Indicates number of orders to be combined for average pricing and allocation. New Order – List
List Status
Allocation
74 AvgPrxPrecision int Indicates number of decimal places to be used for average pricing. Absence of this field indicates that default precision arranged by the broker – institution is to be used. Allocation
75 TradeDate LocalMktDate Indicates date of trade referenced in this message in YYYYMMDD format. Absence of this field indicates current day (expressed in local time at place of trade). Advertisement
Execution Report
Bid Request
Allocation
Allocation ACK
Settlement Instructions
Trade Capture Report Request
Trade Capture Report
76 ExecBroker String No longer used as of FIX 4.3. Included here for reference to prior versions.
*** REPLACED FIELD – See “Replaced Features and Supported Approach” ***
Identifies executing – give-up broker. Standard NASD market-maker mnemonic is preferred.
77 PositionEffect char Indicates whether the resulting position after a trade should be an opening position or closing position. Used for omnibus accounting – where accounts are held on a gross basis instead of being netted together.
Valid Values:
O = Open
C = Close
R = Rolled
F = FIFO
(formerly named: OpenClose prior to FIX 4.3)
78 NoAllocs NumInGroup Number of repeating AllocAccount – AllocPrice entries. New Order – Single
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
Allocation
79 AllocAccount String Sub-account mnemonic New Order – Single
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
Allocation
Settlement Instructions
80 AllocQty Qty Quantity to be allocated to specific sub-account
(formerly named: AllocShares prior to FIX 4.3)
(Prior to FIX 4.2 this field was of type int)
New Order – Single
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
Allocation
81 ProcessCode char Processing code for sub-account. Absence of this field in AllocAccount – AllocPrice – AllocQty – ProcessCode instance indicates regular trade.
Valid values:
0 = regular
1 = soft dollar
2 = step-in
3 = step-out
4 = soft-dollar step-in
5 = soft-dollar step-out
6 = plan sponsor
New Order – Single
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
Allocation
Trade Capture Report
82 NoRpts NumInGroup Total number of reports within series. List Status
83 RptSeq int Sequence number of message within report series. List Status
84 CxlQty Qty Total quantity canceled for this order.
(Prior to FIX 4.2 this field was of type int)
List Status
85 NoDlvyInst int Number of delivery instruction fields to follow
No longer used. Included here for reference to prior versions.
86 DlvyInst String Free format text field to indicate delivery instructions
No longer used. Included here for reference to prior versions.
87 AllocStatus int Identifies status of allocation.
Valid values:
0 = accepted (successfully processed)
1 = rejected
2 = partial accept
3 = received (received, not yet processed)
Allocation ACK
88 AllocRejCode int Identifies reason for rejection.
Valid values:
0 = unknown account(s)
1 = incorrect quantity
2 = incorrect average price
3 = unknown executing broker mnemonic
4 = commission difference
5 = unknown OrderID
6 = unknown ListID
7 = other
Allocation ACK
89 Signature data Electronic signature Standard Message Trailer
90 SecureDataLen Length Length of encrypted message Standard Message Header
91 SecureData data Actual encrypted data stream Standard Message Header
92 BrokerOfCredit String No longer used as of FIX 4.3. Included here for reference to prior versions.
*** REPLACED FIELD – See “Replaced Features and Supported Approach” ***
Broker to receive trade credit.
93 SignatureLength Length Number of bytes in signature field. Standard Message Trailer
94 EmailType char Email message type.
Valid values:
0 = New
1 = Reply
2 = Admin Reply
Email
95 RawDataLength Length Number of bytes in raw data field. Logon
News
Email
96 RawData data Unformatted raw data, can include bitmaps, word processor documents, etc. Logon
News
Email
97 PossResend Boolean Indicates that message may contain information that has been sent under another sequence number.
Valid Values:
Y=Possible resend
N=Original transmission
Standard Message Header
98 EncryptMethod int Method of encryption.
Valid values:
0 = None – other
1 = PKCS (proprietary)
2 = DES (ECB mode)
3 = PKCS – DES (proprietary)
4 = PGP – DES (defunct)
5 = PGP – DES-MD5 (see app note on FIX web site)
6 = PEM – DES-MD5 (see app note on FIX web site)
Logon
99 StopPx Price Price per unit of quantity (e.g. per share) New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
100 ExDestination Exchange Execution destination as defined by institution when order is entered.
Valid values:
See “Appendix 6-C”
Quote
Quote Status Report
New Order – Single
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
101 (Not Defined) n – a This field has not been defined.
102 CxlRejReason int Code to identify reason for cancel rejection.
Valid values:
0 = Too late to cancel
1 = Unknown order
2 = Broker – Exchange Option
3 = Order already in Pending Cancel or Pending Replace status
4 = Unable to process Order Mass Cancel Request
5 = OrigOrdModTime did not match last TransactTime of order
6 = Duplicate ClOrdID received
Order Cancel Reject
103 OrdRejReason int Code to identify reason for order rejection.
Valid values:
0 = Broker – Exchange option
1 = Unknown symbol
2 = Exchange closed
3 = Order exceeds limit
4 = Too late to enter
5 = Unknown Order
6 = Duplicate Order (e.g. dupe ClOrdID)
7 = Duplicate of a verbally communicated order
8 = Stale Order
9 = Trade Along required
10 = Invalid Investor ID
11 = Unsupported order characteristic
12 = Surveillence Option
Execution Report
List Status
104 IOIQualifier char Code to qualify IOI use.
Valid values:
A = All or none
B = Market On Close (MOC) (held to close)
C = At the close (around – not held to close)
D = VWAP (Volume Weighted Avg Price)
I = In touch with
L = Limit
M = More behind
O = At the open
P = Taking a position
Q = At the Market (previously called Current Quote)
R = Ready to trade
S = Portfolio shown
T = Through the day
V = Versus
W = Indication – Working away
X = Crossing opportunity
Y = At the Midpoint
Z = Pre-open
(see Volume 1: “Glossary” for value definitions)
Indication of Interest
105 WaveNo String No longer used as of FIX 4.3. Included here for reference to prior versions.
106 Issuer String Company name of security issuer (e.g. International Business Machines)
see also Volume 7: “PRODUCT: FIXED INCOME – Euro Soverign Issuer Codes”
Component Block – <Instrument>
107 SecurityDesc String Security description. Component Block – <Instrument>
108 HeartBtInt int Heartbeat interval (seconds) Logon
109 ClientID String No longer used as of FIX 4.3. Included here for reference to prior versions.
*** REPLACED FIELD – See “Replaced Features and Supported Approach” ***
Firm identifier used in third party-transactions (should not be a substitute for OnBehalfOfCompID – DeliverToCompID).
110 MinQty Qty Minimum quantity of an order to be executed.
(Prior to FIX 4.2 this field was of type int)
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
111 MaxFloor Qty Maximum quantity (e.g. number of shares) within an order to be shown on the exchange floor at any given time.
(Prior to FIX 4.2 this field was of type int)
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
112 TestReqID String Identifier included in Test Request message to be returned in resulting Heartbeat Heartbeat
Test Request
113 ReportToExch Boolean Identifies party of trade responsible for exchange reporting.
Valid values:
Y = Indicates that party receiving message must report trade
N = Indicates that party sending message will report trade
Execution Report
114 LocateReqd Boolean Indicates whether the broker is to locate the stock in conjunction with a short sell order. Valid values:
Y = Indicates the broker is responsible for locating the stock
N = Indicates the broker is not required to locate
New Order – Single
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
115 OnBehalfOfCompID String Assigned value used to identify firm originating message if the message was delivered by a third party i.e. the third party firm identifier would be delivered in the SenderCompID field and the firm originating the message in this field. Standard Message Header
116 OnBehalfOfSubID String Assigned value used to identify specific message originator (i.e. trader) if the message was delivered by a third party Standard Message Header
117 QuoteID String Unique identifier for quote Quote
Quote Cancel
Quote Status Request
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
New Order – Single
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
118 NetMoney Amt Total amount due as the result of the transaction (e.g. for Buy order – principal + commission + fees) reported in currency of execution. New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
Allocation
Trade Capture Report
119 SettlCurrAmt Amt Total amount due expressed in settlement currency (includes the effect of the forex transaction) Execution Report
Allocation
Trade Capture Report
120 SettlCurrency Currency Currency code of settlement denomination. New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
Allocation
Trade Capture Report
121 ForexReq Boolean Indicates request for forex accommodation trade to be executed along with security transaction.
Valid values:
Y = Execute Forex after security trade
N = Do not execute Forex after security trade
New Order – Single
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
Bid Request
New Order – List
122 OrigSendingTime UTCTimestamp Original time of message transmission (always expressed in UTC (Universal Time Coordinated, also known as “GMT”) when transmitting orders as the result of a resend request. Standard Message Header
123 GapFillFlag Boolean Indicates that the Sequence Reset message is replacing administrative or application messages which will not be resent.
Valid values:
Y = Gap Fill message, MsgSeqNum field valid
N = Sequence Reset, ignore MsgSeqNum
Sequence Reset
124 NoExecs NumInGroup No of execution repeating group entries to follow. Allocation
125 CxlType char No longer used. Included here for reference to prior versions.
126 ExpireTime UTCTimestamp Time – Date of order expiration (always expressed in UTC (Universal Time Coordinated, also known as “GMT”) Quote Request
Quote Request Reject
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
127 DKReason char Reason for execution rejection.
Valid values:
A = Unknown symbol
B = Wrong side
C = Quantity exceeds order
D = No matching order
E = Price exceeds limit
Z = Other
Dont Know Trade (DK)
128 DeliverToCompID String Assigned value used to identify the firm targeted to receive the message if the message is delivered by a third party i.e. the third party firm identifier would be delivered in the TargetCompID field and the ultimate receiver firm ID in this field. Standard Message Header
129 DeliverToSubID String Assigned value used to identify specific message recipient (i.e. trader) if the message is delivered by a third party Standard Message Header
130 IOINaturalFlag Boolean Indicates that IOI is the result of an existing agency order or a facilitation position resulting from an agency order, not from principal trading or order solicitation activity.
Valid values:
Y = Natural
N = Not natural
Indication of Interest
131 QuoteReqID String Unique identifier for quote request Quote Request
Quote Request Reject
Quote
Quote Cancel
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
132 BidPx Price Bid price – rate Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
133 OfferPx Price Offer price – rate Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
134 BidSize Qty Quantity of bid
(Prior to FIX 4.2 this field was of type int)
Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
135 OfferSize Qty Quantity of offer
(Prior to FIX 4.2 this field was of type int)
Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
136 NoMiscFees NumInGroup Number of repeating groups of miscellaneous fees Allocation
Trade Capture Report
137 MiscFeeAmt Amt Miscellaneous fee value Allocation
Trade Capture Report
138 MiscFeeCurr Currency Currency of miscellaneous fee Allocation
Trade Capture Report
139 MiscFeeType char Indicates type of miscellaneous fee.
Valid values:
1 = Regulatory (e.g. SEC)
2 = Tax
3 = Local Commission
4 = Exchange Fees
5 = Stamp
6 = Levy
7 = Other
8 = Markup
9 = Consumption Tax
Allocation
Trade Capture Report
140 PrevClosePx Price Previous closing price of security. Quote Request
Quote Request Reject
RFQ Request
New Order – Single
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
List Strike Price
141 ResetSeqNumFlag Boolean Indicates that the both sides of the FIX session should reset sequence numbers.
Valid values:
Y = Yes, reset sequence numbers
N = No
Logon
142 SenderLocationID String Assigned value used to identify specific message originator’s location (i.e. geographic location and – or desk, trader) Standard Message Header
143 TargetLocationID String Assigned value used to identify specific message destination’s location (i.e. geographic location and – or desk, trader) Standard Message Header
144 OnBehalfOfLocationID String Assigned value used to identify specific message originator’s location (i.e. geographic location and – or desk, trader) if the message was delivered by a third party Standard Message Header
145 DeliverToLocationID String Assigned value used to identify specific message recipient’s location (i.e. geographic location and – or desk, trader) if the message was delivered by a third party Standard Message Header
146 NoRelatedSym NumInGroup Specifies the number of repeating symbols specified. News
Email
Quote Request
Quote Request Reject
RFQ Request
Market Data Request
Security List
Derivative Security List
147 Subject String The subject of an Email message Email
148 Headline String The headline of a News message News
149 URLLink String A URL (Uniform Resource Locator) link to additional information (i.e. http: – – http://www.XYZ.com – research.html) Advertisement
Indication of Interest
News
150 ExecType char Describes the specific ExecutionRpt (i.e. Pending Cancel) while OrdStatus will always identify the current order status (i.e. Partially Filled)
Valid values:
0 = New
1 = Partial fill (Replaced)
2 = Fill (Replaced)
3 = Done for day
4 = Canceled
5 = Replace
6 = Pending Cancel (e.g. result of Order Cancel Request)
7 = Stopped
8 = Rejected
9 = Suspended
A = Pending New
B = Calculated
C = Expired
D = Restated (ExecutionRpt sent unsolicited by sellside, with ExecRestatementReason set)
E = Pending Replace (e.g. result of Order Cancel – Replace Request)
F = Trade (partial fill or fill)
G = Trade Correct (formerly an ExecTransType)
H = Trade Cancel (formerly an ExecTransType)
I = Order Status (formerly an ExecTransType)
*** SOME VALUES HAVE BEEN REPLACED – See “Replaced Features and Supported Approach” ***
Execution Report
Trade Capture Report
151 LeavesQty Qty Quantity open for further execution. If the OrdStatus is Canceled, DoneForTheDay, Expired, Calculated, or Rejected (in which case the order is no longer active) then LeavesQty could be 0, otherwise LeavesQty = OrderQty – CumQty.
(Prior to FIX 4.2 this field was of type int)
Execution Report
List Status
152 CashOrderQty Qty Specifies the approximate order quantity desired in total monetary units vs. as tradeable units (e.g. number of shares). The broker or fund manager (for CIV orders) would be responsible for converting and calculating a tradeable unit (e.g. share) quantity (OrderQty) based upon this amount to be used for the actual order and subsequent messages.
153 AllocAvgPx Price AvgPx for a specific AllocAccount Allocation
154 AllocNetMoney Amt NetMoney for a specific AllocAccount Allocation
155 SettlCurrFxRate float Foreign exchange rate used to compute SettlCurrAmt from Currency to SettlCurrency Execution Report
Allocation
Trade Capture Report
156 SettlCurrFxRateCalc char Specifies whether or not SettlCurrFxRate should be multiplied or divided.
M = Multiply
D = Divide
Quote
Quote Status Report
Execution Report
Allocation
Trade Capture Report
157 NumDaysInterest int Number of Days of Interest for convertible bonds and fixed income. Note value may be negative. Execution Report
Allocation
Trade Capture Report
158 AccruedInterestRate Percentage Accrued Interest Rate for convertible bonds and fixed income New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – List
Allocation
Trade Capture Report
159 AccruedInterestAmt Amt Amount of Accrued Interest for convertible bonds and fixed income New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – List
Allocation
Trade Capture Report
160 SettlInstMode char Indicates mode used for Settlement Instructions
Valid values:
0 = Default
1 = Standing Instructions Provided
2 = Specific Allocation Account Overriding
3 = Specific Allocation Account Standing
4 = Specific Order for a single account (for CIV)
161 AllocText String Free format text related to a specific AllocAccount. Allocation
162 SettlInstID String Unique identifier for Settlement Instructions message. Settlement Instructions
163 SettlInstTransType char Settlement Instructions message transaction type
Valid values:
N = New
C = Cancel
R = Replace
Settlement Instructions
164 EmailThreadID String Unique identifier for an email thread (new and chain of replies) Email
165 SettlInstSource char Indicates source of Settlement Instructions
Valid values:
1 = Broker’s Instructions
2 = Institution’s Instructions
3 = Investor (e.g. CIV use)
166 SettlLocation String No longer used as of FIX 4.3. Included here for reference to prior versions.
*** REPLACED FIELD – See “Replaced Features and Supported Approach” ***
Identifies Settlement Depository or Country Code (ISITC spec)
Valid values:
CED = CEDEL
DTC = Depository Trust Company
EUR = Euroclear
FED = Federal Book Entry
PNY= Physical
PTC = Participant Trust Company
ISO Country Code = Local Market Settle Location
167 SecurityType String Indicates type of security. See also the Product and CFICode fields. It is recommended that CFICode be used instead of SecurityType for non-Fixed Income instruments.
Valid values (grouped by Product field value):

AGENCY
FAC = Federal Agency Coupon
FADN = Federal Agency Discount Note
PEF = Private Export Funding
Identify the Issuer in the “Issuer” field(106)

*** REPLACED values – See “Replaced Features and Supported Approach” ***
COMMODITY
FUT = Future
OPT = Option

Note: COMMODITY Product includes Bond, Interest Rate, Currency, Currency Spot Options, Crops – Grains, Foodstuffs, Livestock, Fibers, Lumber – Rubber, Oil – Gas – Electricity, Precious – Major Metal, and Industrial Metal. Use CFICode for more granular definition if necessary.

CORPORATE
CORP = Corporate Bond
CPP = Corporate Private Placement
CB = Convertible Bond
DUAL = Dual Currency
XLINKD = Indexed Linked
STRUCT = Structured Notes
YANK = Yankee Corporate Bond

CURRENCY
FOR = Foreign Exchange Contract

EQUITY
CS = Common Stock
PS = Preferred Stock

WAR – Warrant now is listed under Municipals for consistency with Bloomberg fixed income product types. For equity warrants – use CFICode instead.

GOVERNMENT
BRADY = Brady Bond
TBOND = US Treasury Bond
TINT = Interest strip from any bond or note
TIPS = Treasury Inflation Protected Securities
TCAL = Principal strip of a callable bond or note
TPRN = Principal strip from a non-callable bond or note
UST = US Treasury Note – Bond
USTB = US Treasury Bill
see also Volume 7: “PRODUCT: FIXED INCOME – Euro Soverign SecurityType Values”

INDEX

Note: “Indices” includes: Stock, Index Spot Options, Commodity, Physical Index Options, Share – Ratio, and Spreads. For index types use the CFICode.

LOAN
TERM = Term Loan
RVLV = Revolver Loan
RVLVTRM = Revolver – Term Loan
BRIDGE = Bridge Loan
LOFC = Letter of Credit
SWING = Swing Line Facility
DINP = Debtor in Possession
DEFLTED = Defaulted
WITHDRN = Withdrawn
REPLACD = Replaced
MATURED = Matured
AMENDED = Amended & Restated
RETIRED = Retired

MONEYMARKET
BA = Bankers Acceptance
BN = Bank Notes
BOX = Bill of Exchanges
CD = Certificate of Deposit
CL = Call Loans
CP = Commercial Paper
DN = Deposit Notes
LQN = Liquidity Note
MTN = Medium Term Notes
ONITE = Overnight
PN = Promissory Note
PZFJ = Plazos Fijos
RP = Repurchase Agreement
RVRP = Reverse Repurchase Agreement
STN = Short Term Loan Note
TD = Time Deposit
XCN = Extended Comm Note

MORTGAGE
POOL = Agency Pools
ABS = Asset-backed Securities
CMBS = Corp. Mortgage-backed Securities
CMO = Collateralized Mortgage Obligation
IET = IOETTE Mortgage
MBS = Mortgage-backed Securities
MIO = Mortgage Interest Only
MPO = Mortgage Principal Only
MPP = Mortgage Private Placement
MPT = Miscellaneous Pass-through
TBA = To be Announced

MUNICIPAL
AN = Other Anticipation Notes BAN, GAN, etc.
COFO = Certificate of Obligation
COFP = Certificate of Participation
GO = General Obligation Bonds
MT = Mandatory Tender
RAN = Revenue Anticipation Note
REV = Revenue Bonds
SPCLA = Special Assessment
SPCLO = Special Obligation
SPCLT = Special Tax
TAN = Tax Anticipation Note
TAXA = Tax Allocation
TECP = Tax Exempt Commercial Paper
TRAN = Tax & Revenue Anticipation Note
VRDN = Variable Rate Demand Note
WAR = Warrant

OTHER
MF = Mutual Fund (i.e. any kind of open-ended “Collective Investment Vehicle”)
MLEG = Multi-leg instrument (e.g. options strategy or futures spread. CFICode can be used to identify if options-based, futures-based, etc.)
NONE = No Security Type
? = “Wildcard” entry (used on Security Definition Request message)

Component Block – <Instrument>
Security Types
Settlement Instructions
168 EffectiveTime UTCTimestamp Time the details within the message should take effect (always expressed in UTC (Universal Time Coordinated, also known as “GMT”) New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
Settlement Instructions
169 StandInstDbType int Identifies the Standing Instruction database used
Valid values:
0 = Other
1 = DTC SID
2 = Thomson ALERT
3 = A Global Custodian (StandInstDbName must be provided)
Settlement Instructions
170 StandInstDbName String Name of the Standing Instruction database represented with StandInstDbType (i.e. the Global Custodian’s name). Settlement Instructions
171 StandInstDbID String Unique identifier used on the Standing Instructions database for the Standing Instructions to be referenced. Settlement Instructions
172 SettlDeliveryType int Identifies type of settlement
0 = “Versus. Payment”: Deliver (if Sell) or Receive (if Buy) vs. (Against) Payment
1 = “Free”: Deliver (if Sell) or Receive (if Buy) Free
Settlement Instructions
173 SettlDepositoryCode String Broker’s account code at the depository (i.e. CEDEL ID for CEDEL, FINS for DTC, or Euroclear ID for Euroclear) if SettlLocation is a depository Settlement Instructions
174 SettlBrkrCode String BIC (Bank Identification Code-Swift managed) code of the broker involved (i.e. for multi-company brokerage firms) Settlement Instructions
175 SettlInstCode String BIC (Bank Identification Code-Swift managed) code of the institution involved (i.e. for multi-company institution firms) Settlement Instructions
176 SecuritySettlAgentName String Name of SettlInstSource’s local agent bank if SettlLocation is not a depository Settlement Instructions
177 SecuritySettlAgentCode String BIC (Bank Identification Code–Swift managed) code of the SettlInstSource’s local agent bank if SettlLocation is not a depository Settlement Instructions
178 SecuritySettlAgentAcctNum String SettlInstSource’s account number at local agent bank if SettlLocation is not a depository Settlement Instructions
179 SecuritySettlAgentAcctName String Name of SettlInstSource’s account at local agent bank if SettlLocation is not a depository Settlement Instructions
180 SecuritySettlAgentContactName String Name of contact at local agent bank for SettlInstSource’s account if SettlLocation is not a depository Settlement Instructions
181 SecuritySettlAgentContactPhone String Phone number for contact at local agent bank if SettlLocation is not a depository Settlement Instructions
182 CashSettlAgentName String Name of SettlInstSource’s local agent bank if SettlDeliveryType=Free Settlement Instructions
183 CashSettlAgentCode String BIC (Bank Identification Code–Swift managed) code of the SettlInstSource’s local agent bank if SettlDeliveryType=Free Settlement Instructions
184 CashSettlAgentAcctNum String SettlInstSource’s account number at local agent bank if SettlDeliveryType=Free Settlement Instructions
185 CashSettlAgentAcctName String Name of SettlInstSource’s account at local agent bank if SettlDeliveryType=Free Settlement Instructions
186 CashSettlAgentContactName String Name of contact at local agent bank for SettlInstSource’s account if SettlDeliveryType=Free Settlement Instructions
187 CashSettlAgentContactPhone String Phone number for contact at local agent bank for SettlInstSource’s account if SettlDeliveryType=Free Settlement Instructions
188 BidSpotRate Price Bid F – X spot rate. Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
189 BidForwardPoints PriceOffset Bid F – X forward points added to spot rate. May be a negative value. Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
190 OfferSpotRate Price Offer F – X spot rate. Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
191 OfferForwardPoints PriceOffset Offer F – X forward points added to spot rate. May be a negative value. Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
192 OrderQty2 Qty OrderQty of the future part of a F – X swap order. Quote Request
Quote Request Reject
Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – List
193 FutSettDate2 LocalMktDate FutSettDate of the future part of a F – X swap order. Quote Request
Quote Request Reject
Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – List
194 LastSpotRate Price F – X spot rate. Execution Report
Trade Capture Report
195 LastForwardPoints PriceOffset F – X forward points added to LastSpotRate. May be a negative value. Execution Report
Trade Capture Report
196 AllocLinkID String Can be used to link two different Allocation messages (each with unique AllocID) together, i.e. for F – X “Netting” or “Swaps”. Should be unique. Allocation
197 AllocLinkType int Identifies the type of Allocation linkage when AllocLinkID is used.
Valid values:
0 = F – X Netting
1 = F – X Swap
Allocation
198 SecondaryOrderID String Assigned by the party which accepts the order. Can be used to provide the OrderID used by an exchange or executing system. Execution Report
Order Cancel Reject
Order Mass Cancel Report
Allocation
Trade Capture Report
199 NoIOIQualifiers NumInGroup Number of repeating groups of IOIQualifiers. Indication of Interest
200 MaturityMonthYear month-year Can be used with standardized derivatives vs. the MaturityDate field. Month and Year of the maturity (used for standardized futures and options). Format: YYYYMM
(i.e. 199903)
Component Block – <Instrument>
201 PutOrCall int No longer used as of FIX 4.3. Included here for reference to prior versions.
*** REPLACED FIELD – See “Replaced Features and Supported Approach” ***
Indicates whether an Option is for a put or call.
Valid values:
0 = Put
1 = Call
202 StrikePrice Price Strike Price for an Option. Component Block – <Instrument>
203 CoveredOrUncovered int Used for derivative products, such as options
Valid values:
0 = Covered
1 = Uncovered
New Order – Single
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
204 CustomerOrFirm int No longer used as of FIX 4.3. Included here for reference to prior versions.
*** REPLACED FIELD – See “Replaced Features and Supported Approach” ***
Used for options when delivering the order to an execution system – exchange to specify if the order is for a customer or the firm placing the order itself.
Valid values:
0 = Customer
1 = Firm
205 MaturityDay day-of-month No longer used as of FIX 4.3. Included here for reference to prior versions.
*** REPLACED FIELD – See “Replaced Features and Supported Approach” ***
Day of month used in conjunction with MaturityMonthYear to specify the maturity date for SecurityType=FUT or SecurityType=OPT.
Valid values:
1-31
206 OptAttribute char Can be used for SecurityType=OPT to identify a particular security.

Valid values vary by SecurityExchange:
*** REPLACED values – See “Replaced Features and Supported Approach” ***
For Exchange: MONEP (Paris)
L = Long (a.k.a. “American”)
S = Short (a.k.a. “European”)

For Exchanges: DTB (Frankfurt), HKSE (Hong Kong), and SOFFEX (Zurich)
0-9 = single digit “version” number assigned by exchange following capital adjustments (0=current, 1=prior, 2=prior to 1, etc).

Component Block – <Instrument>
207 SecurityExchange Exchange Market used to help identify a security.
Valid values:
See “Appendix 6-C”
Component Block – <Instrument>
208 NotifyBrokerOfCredit Boolean Indicates whether or not details should be communicated to BrokerOfCredit (i.e. step-in broker).
Valid values:
Y = Details should be communicated
N = Details should not be communicated
Allocation
209 AllocHandlInst int Indicates how the receiver (i.e. third party) of Allocation message should handle – process the account details.
Valid values:
1 = Match
2 = Forward
3 = Forward and Match
Allocation
210 MaxShow Qty Maximum quantity (e.g. number of shares) within an order to be shown to other customers (i.e. sent via an IOI).
(Prior to FIX 4.2 this field was of type int)
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
211 PegDifference PriceOffset Amount (signed) added to the price of the peg for a pegged order. New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
212 XmlDataLen Length Length of the XmlData data block. Standard Message Header
213 XmlData data Actual XML data stream (e.g. FIXML). See approriate XML reference (e.g. FIXML). Note: may contain embedded SOH characters. Standard Message Header
214 SettlInstRefID String Reference identifier for the SettlInstID with Cancel and Replace SettlInstTransType transaction types. Settlement Instructions
215 NoRoutingIDs NumInGroup Number of repeating groups of RoutingID and RoutingType values.

See Volume 3: “Pre-Trade Message Targeting – Routing”

Indication of Interest
News
Email
216 RoutingType int Indicates the type of RoutingID specified.
Valid values:
1 = Target Firm
2 = Target List
3 = Block Firm
4 = Block List
Indication of Interest
News
Email
217 RoutingID String Assigned value used to identify a specific routing destination. Indication of Interest
News
Email
218 Spread PriceOffset For Fixed Income. Either Swap Spread or Spread to Benchmark depending upon the order type.
Spread to Benchmark: Basis points relative to a benchmark. To be expressed as “count of basis points” (vs. an absolute value). E.g. High Grade Corporate Bonds may express price as basis points relative to benchmark (the Benchmark field). Note: Basis points can be negative.
Swap Spread: Target spread for a swap.
(formerly named: SpreadToBenchmark prior to FIX 4.3)
Component Block – <SpreadOrBenchmarkCurveData>
219 Benchmark char *** DEPRECATED FIELD – See “Deprecated (Phased-out) Features and Supported Approach” ***
For Fixed Income. Identifies the benchmark (e.g. used in conjunction with the Spread field).
Valid values:
1 = CURVE
2 = 5-YR
3 = OLD-5
4 = 10-YR
5 = OLD-10
6 = 30-YR
7 = OLD-30
8 = 3-MO-LIBOR
9 = 6-MO-LIBOR
Indication of Interest
220 BenchmarkCurveCurrency Currency Identifies currency used for benchmark curve. See “Appendix 6-A: Valid Currency Codes” for information on obtaining valid values.
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <SpreadOrBenchmarkCurveData>
221 BenchmarkCurveName String Name of benchmark curve.
Valid values:
MuniAAA
FutureSWAP
LIBID
LIBOR (London Inter-Bank Offers)
OTHER
SWAP
Treasury
Euribor
Pfandbriefe

(Note tag # was reserved in FIX 4.1, added in FIX 4.3)

Component Block – <SpreadOrBenchmarkCurveData>
222 BenchmarkCurvePoint String Point on benchmark curve. Free form values: e.g. “1Y”, “7Y”, “INTERPOLATED”.
Sample values:
1M = combination of a number between 1-12 and a “M” for month
1Y = combination of number between 1-100 and a “Y” for year}
10Y-OLD = see above, then add “-OLD” when appropriate
INTERPOLATED = the point is mathematically derived
2 – 2031 5 3 – 8 = the point is stated via a combination of maturity month – year and coupon
See Fixed Income-specific documentation at http: – – http://www.fixprotocol.org for additional values.
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <SpreadOrBenchmarkCurveData>
223 CouponRate Percentage For Fixed Income. Coupon rate of the bond. Will be zero for step-up bonds. Component Block – <Instrument>
224 CouponPaymentDate UTCDate Date interest is to be paid. Used in identifying Corporate Bond issues.
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <Instrument>
225 IssueDate UTCDate Date instrument was issued. For Fixed Income IOIs for new issues, specifies the issue date.
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <Instrument>
226 RepurchaseTerm int Number of business days before repurchase of a repo.
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <Instrument>
227 RepurchaseRate Percentage Percent of par at which a Repo will be repaid. Represented as a percent, e.g. .9525 represents 95-1 – 4 percent of par.
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <Instrument>
228 Factor float Fraction for deriving Current face from Original face for TIPS, ABS or MBS Fixed Income securities. Note the fraction may be greater than, equal to or less than 1.
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <Instrument>
229 TradeOriginationDate UTCDate Used with Fixed Income for Muncipal New Issue Market. Agreement in principal between counter-parties prior to actual trade date.
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Quote Request
Quote Request Reject
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
Order Cancel Reject
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
New Order – List
List Cancel Request
Allocation
230 ExDate UTCDate The date when a distribution of interest is deducted from a securities assets or set aside for payment to bondholders. On the ex-date, the securities price drops by the amount of the distribution (plus or minus any market activity).
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Execution Report
Trade Capture Report
231 ContractMultiplier float Specifies the ratio or multiply factor to convert from “nominal” units (e.g. contracts) to total units (e.g. shares) (e.g. 1.0, 100, 1000, etc). Applicable For Fixed Income, Convertible Bonds, Derivatives, etc. Note: If used, quantities should be expressed in the “nominal” (e.g. contracts vs. shares) amount. Component Block – <Instrument>
232 NoStipulations NumInGroup Number of stipulation entries
(Note tag # was reserved in FIX 4.1, added in FIX 4.3).
Component Block – <Stipulations>
233 StipulationType String For Fixed Income. Type of Stipulation.
Values include:
GEOG = Geographics
ISSUE = Year of Issue
LOTVAR = Lot Variance (value in percent maximum over- or under-allocation allowed)
MAT = Maturity Year
PIECES = Number of Pieces
PMAX = Pools Maximum
PPM = Pools per Million
PPL = Pools per Lot
PPT = Pools per Trade
PROD = Production Year
TRDVAR = Trade Variance (value in percent maximum over- or under-allocation allowed)
WAC = Weighted Average Coupon (value in percent)
WAL = Weighted Average Life (value in months)
WALA = Weighted Average Loan Age (value in months)
WAM = Weighted Average Maturity (value in months)
or the following Prepayment Speeds
SMM = Single Monthly Mortality
CPR = Constant Prepayment Rate
CPY = Constant Prepayment Yield
CPP = Constant Prepayment Penalty
ABS = Absolute Prepayment Speed
MPR = Monthly Prepayment Rate
PSA = % of BMA Prepayment Curve
PPC = % of Prospectus Prepayment Curve
MHP = % of Manufactured Housing Prepayment Curve
HEP = final CPR of Home Equity Prepayment Curve
Other types may be used by mutual agreement of the counterparties.
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <Stipulations>
234 StipulationValue String For Fixed Income. Value of stipulation.
The expression can be an absolute single value or a combination of values and logical operators:
< value
> value
<= value
>= value
value
value1 – value2
value1 OR value2
value1 AND value2
plus appropriate combinations of the above and other expressions by mutual agreement of the counterparties.
Examples: “>=60”, “.25”, “ORANGE OR CONTRACOSTA”, etc.
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <Stipulations>
235 YieldType String Type of yield.
Valid values:
AFTERTAX = After Tax Yield (Municipals) – The yield on the bond net of any tax consequences from holding the bond. The discount on municipal securities can be subject to both capital gains taxes and ordinary income taxes. Calculated from dollar price.
ANNUAL = Annual Yield – The annual interest or dividend income an investment earns, expressed as a percentage of the investment’s total value.
ATISSUE = Yield At Issue (Municipals) – The yield of the bond offered on the issue date.
AVGLIFE = Yield To Average Life – The yield assuming that all sinks (mandatory and voluntary) are taken at par. This results in a faster paydown of debt; the yield is then calculated to the average life date.
AVGMATURITY = Yield To Average Maturity – The yield achieved by substituting a bond’s average maturity for the issue’s final maturity date.
BOOK = Book Yield – The yield of a security calculated by using its book value instead of the current market price. This term is typically used in the US domestic market.
CALL = Yield to Next Call – The yield of a bond to the next possible call date.
CHANGE = Yield Change Since Close – The change in the yield since the previous day’s closing yield.
(…values continued in next row….)
CLOSE = Closing Yield – The yield of a bond based on the closing price.
COMPOUND = Compound Yield – The yield of certain Japanese bonds based on its price. Certain Japanese bonds have irregular first or last coupons, and the yield is calculated compound for these irregular periods.
CURRENT = Current Yield – Annual interest on a bond divided by the market value. The actual income rate of return as opposed to the coupon rate expressed as a percentage.
GROSS = True Gross Yield – Yield calculated using the price including accrued interest, where coupon dates are moved from holidays and weekends to the next trading day.
GOVTEQUIV = Government Equivalent Yield – Ask yield based on semi-annual coupons compounding in all periods and actual – actual calendar.
INFLATION = Yield with Inflation Assumption – Based on price, the return an investor would require on a normal bond that would make the real return equal to that of the inflation-indexed bond, assuming a constant inflation rate.
INVERSEFLOATER = Inverse Floater Bond Yield – Inverse floater semi-annual bond equivalent rate.
LASTCLOSE = Most Recent Closing Yield – The last available yield stored in history, computed using price.
LASTMONTH = Closing Yield Most Recent Month – The yield of a bond based on the closing price as of the most recent month’s end.
LASTQUARTER = Closing Yield Most Recent Quarter – The yield of a bond based on the closing price as of the most recent quarter’s end.
LASTYEAR = Closing Yield Most Recent Year – The yield of a bond based on the closing price as of the most recent year’s end.
LONGAVGLIFE = Yield to Longest Average Life – The yield assuming only mandatory sinks are taken. This results in a lower paydown of debt; the yield is then calculated to the final payment date.
LONGEST = Yield to Longest Average (Sinking Fund Bonds) – The yield assuming only mandatory sinks are taken. This results in a slower paydown of debt; the yield is then calculated to the final payment date.
MARK = Mark To Market Yield – An adjustment in the valuation of a securities portfolio to reflect the current market values of the respective securities in the portfolio.
MATURITY = Yield to Maturity – The yield of a bond to its maturity date.
NEXTREFUND = Yield To Next Refund (Sinking Fund Bonds) – Yield assuming all bonds are redeemed at the next refund date at the redemption price.
OPENAVG = Open Average Yield – The average yield of the respective securities in the portfolio.
PUT = Yield to Next Put – The yield to the date at which the bond holder can next put the bond to the issuer.
PREVCLOSE = Previous Close Yield – The yield of a bond based on the closing price 1 day ago.
PROCEEDS = Proceeds Yield – The CD equivalent yield when the remaining time to maturity is less than two years.
SEMIANNUAL = Semi-annual Yield – The yield of a bond whose coupon payments are reinvested semi-annually
SHORTAVGLIFE = Yield to Shortest Average Life – same as AVGLIFE above.
SHORTEST = Yield to Shortest Average (Sinking Fund Bonds) – The yield assuming that all sinks (mandatory and voluntary) are taken. This results in a faster paydown of debt; the yield is then calculated to the final payment date.
SIMPLE = Simple Yield – The yield of a bond assuming no reinvestment of coupon payments. (Act – 360 day count)
TAXEQUIV = Tax Equivalent Yield – The after tax yield grossed up by the maximum federal tax rate of 39.6%. For comparison to taxable yields.
TENDER = Yield to Tender Date – The yield on a Municipal bond to its mandatory tender date.
TRUE = True Yield – The yield calculated with coupon dates moved from a weekend or holiday to the next valid settlement date.
VALUE1 – 32 = Yield Value Of 1 – 32 – The amount that the yield will change for a 1 – 32nd change in price.
WORST = Yield To Worst Convention – The lowest yield to all possible redemption date scenarios.
(…values continued in next row….)

(Note tag # was reserved in FIX 4.1, added in FIX 4.3)

Component Block – <YieldData>
236 Yield Percentage Yield percentage.
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <YieldData>
237 TotalTakedown Amt The price at which the securities are distributed to the different members of an underwriting group for the primary market in Municipals, total gross underwriter’s spread.
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Execution Report
Allocation
Trade Capture Report
238 Concession Amt Provides the reduction in price for the secondary market in Muncipals.
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Execution Report
Allocation
Trade Capture Report
239 RepoCollateralSecurityType int Identifies the collateral used in the transaction.
Valid values: see SecurityType (167) field
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <Instrument>
240 RedemptionDate UTCDate Return of investor’s principal in a security. Bond redemption can occur before maturity date.
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <Instrument>
241 UnderlyingCouponPaymentDate UTCDate Underlying security’s CouponPaymentDate.
See CouponPaymentDate (224) field for description
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <UnderlyingInstrument>
242 UnderlyingIssueDate UTCDate Underlying security’s IssueDate.
See IssueDate (225) field for description
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <UnderlyingInstrument>
243 UnderlyingRepoCollateralSecurityType int Underlying security’s RepoCollateralSecurityType.
See RepoCollateralSecurityType (239) field for description
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <UnderlyingInstrument>
244 UnderlyingRepurchaseTerm int Underlying security’s RepurchaseTerm.
See RepurchaseTerm (226) field for description
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <UnderlyingInstrument>
245 UnderlyingRepurchaseRate Percentage Underlying security’s RepurchaseRate.
See RepurchaseRate (227) field for description
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <UnderlyingInstrument>
246 UnderlyingFactor float Underlying security’s Factor.
See Factor (228) field for description
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <UnderlyingInstrument>
247 UnderlyingRedemptionDate UTCDate Underlying security’s RedemptionDate.
See RedemptionDate (240) field for description
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <UnderlyingInstrument>
248 LegCouponPaymentDate UTCDate Multileg instrument’s individual leg security’s CouponPaymentDate.
See CouponPaymentDate (224) field for description
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <InstrumentLeg>
249 LegIssueDate UTCDate Multileg instrument’s individual leg security’s IssueDate.
See IssueDate (225) field for description
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <InstrumentLeg>
250 LegRepoCollateralSecurityType int Multileg instrument’s individual leg security’s RepoCollateralSecurityType.
See RepoCollateralSecurityType (239) field for description
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <InstrumentLeg>
251 LegRepurchaseTerm int Multileg instrument’s individual leg security’s RepurchaseTerm.
See RepurchaseTerm (226) field for description
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <InstrumentLeg>
252 LegRepurchaseRate Percentage Multileg instrument’s individual leg security’s RepurchaseRate.
See RepurchaseRate (227) field for description
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <InstrumentLeg>
253 LegFactor float Multileg instrument’s individual leg security’s Factor.
See Factor (228) field for description
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <InstrumentLeg>
254 LegRedemptionDate UTCDate Multileg instrument’s individual leg security’s RedemptionDate.
See RedemptionDate (240) field for description
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <InstrumentLeg>
255 CreditRating String An evaluation of a company’s ability to repay obligations or its likelihood of not defaulting. These evaluation are provided by Credit Rating Agencies, i.e. S&P, Moody’s.
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <Instrument>
256 UnderlyingCreditRating String Underlying security’s CreditRating.
See CreditRating (255) field for description
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <UnderlyingInstrument>
257 LegCreditRating String Multileg instrument’s individual leg security’s CreditRating.
See CreditRating (255) field for description
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Component Block – <InstrumentLeg>
258 TradedFlatSwitch Boolean Driver and part of trade in the event that the Security Master file was wrong at the point of entry
Valid Values:
Y = Traded Flat
N = Not Traded Flat
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Execution Report
259 BasisFeatureDate UTCDate BasisFeatureDate allows requesting firms within fixed income the ability to request an alternative yield-to-worst, -maturity, -extended or other call. This flows through the confirm process.
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Execution Report
260 BasisFeaturePrice Price Price for BasisFeatureDate.
See BasisFeatureDate (259)
(Note tag # was reserved in FIX 4.1, added in FIX 4.3)
Execution Report
261 Reserved-Allocated to the Fixed Income proposal
262 MDReqID String Unique identifier for Market Data Request Market Data Request
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
Market Data Request Reject
263 SubscriptionRequestType char Subscription Request Type
Valid values:
0 = Snapshot
1 = Snapshot + Updates (Subscribe)
2 = Disable previous Snapshot + Update Request (Unsubscribe)
RFQ Request
Quote Status Request
Market Data Request
Security Definition Request
Security Types
Security List Request
Derivative Security List Request
Derivative Security List
Trading Session Status Request
Trade Capture Report Request
264 MarketDepth int Depth of market for Book Snapshot
Valid values:
0 = Full Book
1 = Top of Book
N>1 = Report best N price tiers of data
Market Data Request
265 MDUpdateType int Specifies the type of Market Data update.
Valid values:
0 = Full Refresh
1 = Incremental Refresh
Market Data Request
266 AggregatedBook Boolean Specifies whether or not book entries should be aggregated.
Valid values:
Y = one book entry per side per price
N = Multiple entries per side per price allowed
(Not specified) = broker option
Market Data Request
267 NoMDEntryTypes NumInGroup Number of MDEntryType fields requested. Market Data Request
268 NoMDEntries NumInGroup Number of entries in Market Data message. Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
269 MDEntryType char Type Market Data entry.
Valid values:
0 = Bid
1 = Offer
2 = Trade
3 = Index Value
4 = Opening Price
5 = Closing Price
6 = Settlement Price
7 = Trading Session High Price
8 = Trading Session Low Price
9 = Trading Session VWAP Price
A = Imbalance
Market Data Request
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
270 MDEntryPx Price Price of the Market Data Entry. Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
271 MDEntrySize Qty Quantity represented by the Market Data Entry. Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
272 MDEntryDate UTCDate Date of Market Data Entry. Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
273 MDEntryTime UTCTimeOnly Time of Market Data Entry. Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
274 TickDirection char Direction of the “tick”.
Valid values:
0 = Plus Tick
1 = Zero-Plus Tick
2 = Minus Tick
3 = Zero-Minus Tick
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
275 MDMkt Exchange Market posting quote – trade.
Valid values:
See “Appendix 6-C”
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
276 QuoteCondition MultipleValueString Space-delimited list of conditions describing a quote.
Valid values:
A = Open – Active
B = Closed – Inactive
C = Exchange Best
D = Consolidated Best
E = Locked
F = Crossed
G = Depth
H = Fast Trading
I = Non-Firm
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
277 TradeCondition MultipleValueString Space-delimited list of conditions describing a trade
Valid values:
A = Cash (only) Market
B = Average Price Trade
C = Cash Trade (same day clearing)
D = Next Day (only) Market
E = Opening – Reopening Trade Detail
F = Intraday Trade Detail
G = Rule 127 Trade (NYSE)
H = Rule 155 Trade (Amex)
I = Sold Last (late reporting)
J = Next Day Trade (next day clearing)
K = Opened (late report of opened trade)
L = Seller
M = Sold (out of sequence)
N = Stopped Stock (guarantee of price but does not execute the order)
P = Imbalance More Buyers (Cannot be used in combination with Q)
Q = Imbalance More Sellers (Cannot be used in combination with P)
R = Opening Price
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
278 MDEntryID String Unique Market Data Entry identifier. Market Data – Incremental Refresh
279 MDUpdateAction char Type of Market Data update action.
Valid values:
0 = New
1 = Change
2 = Delete
Market Data – Incremental Refresh
280 MDEntryRefID String Refers to a previous MDEntryID. Market Data – Incremental Refresh
281 MDReqRejReason char Reason for the rejection of a Market Data request.
Valid values:
0 = Unknown symbol
1 = Duplicate MDReqID
2 = Insufficient Bandwidth
3 = Insufficient Permissions
4 = Unsupported SubscriptionRequestType
5 = Unsupported MarketDepth
6 = Unsupported MDUpdateType
7 = Unsupported AggregatedBook
8 = Unsupported MDEntryType
9 = Unsupported TradingSessionID
A = Unsupported Scope
B = Unsupported OpenCloseSettleFlag
C = Unsupported MDImplicitDelete
Market Data Request Reject
282 MDEntryOriginator String Originator of a Market Data Entry Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
283 LocationID String Identification of a Market Maker’s location Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
284 DeskID String Identification of a Market Maker’s desk Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
285 DeleteReason char Reason for deletion.
Valid values:
0 = Cancelation – Trade Bust
1 = Error
Market Data – Incremental Refresh
286 OpenCloseSettleFlag MultipleValueString Flag that identifies a price.
Valid values:
0 = Daily Open – Close – Settlement price
1 = Session Open – Close – Settlement price
2 = Delivery Settlement price
3 = Expected price
4 = Price from previous business day
(Prior to FIX 4.3 this field was of type char)
Market Data Request
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
287 SellerDays int Specifies the number of days that may elapse before delivery of the security Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
288 MDEntryBuyer String Buying party in a trade Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
289 MDEntrySeller String Selling party in a trade Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
290 MDEntryPositionNo int Display position of a bid or offer, numbered from most competitive to least competitive, per market side, beginning with 1. Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
291 FinancialStatus MultipleValueString Identifies a firm’s financial status.
Valid values:
1 = Bankrupt
2 = Pending delisting
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
Security Status
292 CorporateAction MultipleValueString Identifies the type of Corporate Action.
Valid values:
A = Ex-Dividend
B = Ex-Distribution
C = Ex-Rights
D = New
E = Ex-Interest
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
Security Status
293 DefBidSize Qty Default Bid Size. Mass Quote
294 DefOfferSize Qty Default Offer Size. Mass Quote
295 NoQuoteEntries NumInGroup The number of quote entries for a QuoteSet. Quote Cancel
Mass Quote
Mass Quote Acknowledgement
296 NoQuoteSets NumInGroup The number of sets of quotes in the message. Mass Quote
Mass Quote Acknowledgement
297 QuoteStatus int Identifies the status of the quote acknowledgement.
Valid values:
0 = Accepted
1 = Canceled for Symbol(s)
2 = Canceled for Security Type(s)
3 = Canceled for Underlying
4 = Canceled All
5 = Rejected
6 = Removed from Market
7 = Expired
8 = Query
9 = Quote Not Found
10 = Pending
(formerly named: QuoteAckStatus prior to FIX 4.3)
Quote Status Report
Mass Quote Acknowledgement
298 QuoteCancelType int Identifies the type of quote cancel.
Valid Values:
1 = Cancel for Symbol(s)
2 = Cancel for Security Type(s)
3 = Cancel for Underlying Symbol
4 = Cancel All Quotes
Quote Cancel
299 QuoteEntryID String Uniquely identifies the quote as part of a QuoteSet. Mass Quote
Mass Quote Acknowledgement
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
300 QuoteRejectReason int Reason Quote was rejected:
Valid Values:
1 = Unknown symbol (Security)
2 = Exchange(Security) closed
3 = Quote Request exceeds limit
4 = Too late to enter
5 = Unknown Quote
6 = Duplicate Quote
7 = Invalid bid – ask spread
8 = Invalid price
9 = Not authorized to quote security
Mass Quote Acknowledgement
301 QuoteResponseLevel int Level of Response requested from receiver of quote messages.
Valid Values:
0 = No Acknowledgement (Default)
1 = Acknowledge only negative or erroneous quotes
2 = Acknowledge each quote messages
Quote
Quote Cancel
Mass Quote
Mass Quote Acknowledgement
302 QuoteSetID String Unique id for the Quote Set. Mass Quote
Mass Quote Acknowledgement
303 QuoteRequestType int Indicates the type of Quote Request being generated
Valid values:
1 = Manual
2 = Automatic
Quote Request
Quote Request Reject
RFQ Request
304 TotQuoteEntries int Total number of quotes for the quote set across all messages. Should be the sum of all NoQuoteEntries in each message that has repeating quotes that are part of the same quote set. Mass Quote
Mass Quote Acknowledgement
305 UnderlyingSecurityIDSource String Underlying security’s SecurityIDSource.
Valid values: see SecurityIDSource (22) field
(formerly named: UnderlyingIDSource prior to FIX 4.3)
Component Block – <UnderlyingInstrument>
306 UnderlyingIssuer String Underlying security’s Issuer.
See Issuer (106) field for description
Component Block – <UnderlyingInstrument>
307 UnderlyingSecurityDesc String Underlying security’s SecurityDesc.
See SecurityDesc (107) field for description
Component Block – <UnderlyingInstrument>
308 UnderlyingSecurityExchange Exchange Underlying security’s SecurityExchange. Can be used to identify the underlying security.
Valid values: see SecurityExchange (207)
Component Block – <UnderlyingInstrument>
309 UnderlyingSecurityID String Underlying security’s SecurityID.
See SecurityID (48) field for description
Component Block – <UnderlyingInstrument>
310 UnderlyingSecurityType String Underlying security’s SecurityType.
Valid values: see SecurityType (167) field
Component Block – <UnderlyingInstrument>
311 UnderlyingSymbol String Underlying security’s Symbol.
See Symbol (55) field for description
Component Block – <UnderlyingInstrument>
312 UnderlyingSymbolSfx String Underlying security’s SymbolSfx.
See SymbolSfx (65) field for description
Component Block – <UnderlyingInstrument>
313 UnderlyingMaturityMonthYear month-year Underlying security’s MaturityMonthYear. Can be used with standardized derivatives vs. the UnderlyingMaturityDate field.
See MaturityMonthYear (200) field for description
Component Block – <UnderlyingInstrument>
314 UnderlyingMaturityDay day-of-month No longer used as of FIX 4.3. Included here for reference to prior versions.
*** REPLACED FIELD – See “Replaced Features and Supported Approach” ***
Underlying security’s MaturityDay.
See MaturityDay field for description
315 UnderlyingPutOrCall int No longer used as of FIX 4.3. Included here for reference to prior versions.
*** REPLACED FIELD – See “Replaced Features and Supported Approach” ***
Underlying security’s PutOrCall.
See PutOrCall field for description
Component Block – <UnderlyingInstrument>
316 UnderlyingStrikePrice Price Underlying security’s StrikePrice.
See StrikePrice (202) field for description
Component Block – <UnderlyingInstrument>
317 UnderlyingOptAttribute char Underlying security’s OptAttribute.
See OptAttribute (206) field for description
Component Block – <UnderlyingInstrument>
318 Underlying Currency Currency Underlying security’s Currency.
See Currency (15) field for description and valid values
319 RatioQty Quantity Quantity of a particular leg in the security.
320 SecurityReqID String Unique ID of a Security Definition Request. Security Definition Request
Security Definition
Security Type Request
Security Types
Security List Request
Security List
Derivative Security List Request
Derivative Security List
321 SecurityRequestType int Type of Security Definition Request.
Valid values:
0 = Request Security identity and specifications
1 = Request Security identity for the specifications provided (Name of the security is not supplied)
2 = Request List Security Types
3 = Request List Securities (Can be qualified with Symbol, SecurityType, TradingSessionID, SecurityExchange. If provided then only list Securities for the specific type)
Security Definition Request
322 SecurityResponseID String Unique ID of a Security Definition message. Security Definition
Security Types
Security List
Derivative Security List
323 SecurityResponseType int Type of Security Definition message response.
Valid values:
1 = Accept security proposal as is
2 = Accept security proposal with revisions as indicated in the message
3 = List of security types returned per request
4 = List of securities returned per request
5 = Reject security proposal
6 = Can not match selection criteria
Security Definition
Security Types
324 SecurityStatusReqID String Unique ID of a Security Status Request message. Derivative Security List
Security Status
325 UnsolicitedIndicator Boolean Indicates whether or not message is being sent as a result of a subscription request or not.
Valid values:
Y = Message is being sent unsolicited
N = Message is being sent as a result of a prior request
Security Status
Trading Session Status
326 SecurityTradingStatus int Identifies the trading status applicable to the transaction.
Valid values:
1 = Opening Delay
2 = Trading Halt
3 = Resume
4 = No Open – No Resume
5 = Price Indication
6 = Trading Range Indication
7 = Market Imbalance Buy
8 = Market Imbalance Sell
9 = Market On Close Imbalance Buy
10 = Market On Close Imbalance Sell
11 = (not assigned)
12 = No Market Imbalance
13 = No Market On Close Imbalance
14 = ITS Pre-Opening
15 = New Price Indication
16 = Trade Dissemination Time
17 = Ready to trade (start of session)
18 = Not Available for trading (end of session)
19 = Not Traded on this Market
20 = Unknown or Invalid
21 = Pre-Open
22 = Opening Rotation
23 = Fast Market
Security Status
327 HaltReason char Denotes the reason for the Opening Delay or Trading Halt.
Valid values:
I = Order Imbalance
X = Equipment Changeover
P = News Pending
D = News Dissemination
E = Order Influx
M = Additional Information
Security Status
328 InViewOfCommon Boolean Indicates whether or not the halt was due to Common Stock trading being halted.
Valid values:
Y = Halt was due to common stock being halted
N = Halt was not related to a halt of the common stock
Security Status
329 DueToRelated Boolean Indicates whether or not the halt was due to the Related Security being halted.
Valid values:
Y = Halt was due to related security being halted
N = Halt was not related to a halt of the related security
Security Status
330 BuyVolume Qty Quantity bought. Security Status
331 SellVolume Qty Quantity sold. Security Status
332 HighPx Price Represents an indication of the high end of the price range for a security prior to the open or reopen Security Status
333 LowPx Price Represents an indication of the low end of the price range for a security prior to the open or reopen Security Status
334 Adjustment int Identifies the type of adjustment.
Valid values:
1 = Cancel
2 = Error
3 = Correction
Security Status
335 TradSesReqID String Unique ID of a Trading Session Status message. Trading Session Status Request
Trading Session Status
336 TradingSessionID String Identifier for Trading Session
Can be used to represent a specific market trading session (e.g. “PRE-OPEN”, “CROSS_2”, “AFTER-HOURS”, “TOSTNET1”, “TOSTNET2”, etc).
Values should be bi-laterally agreed to between counterparties.
Firms may register Trading Session values on the FIX website (presently a document maintained within “ECN and Exchanges” working group section).
Advertisement
Quote Request
Quote Request Reject
RFQ Request
Quote
Quote Cancel
Quote Status Request
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
Mass Quote Acknowledgement
Market Data Request
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
Security Definition Request
Security Definition
Security Type Request
Security Types
Security List Request
Security List
Derivative Security List Request
Derivative Security List
Derivative Security List
Security Status
Trading Session Status Request
Trading Session Status
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
Order Mass Cancel Request
Order Mass Cancel Report
Order Mass Status Request
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
Bid Request
Bid Response
New Order – List
Allocation
Settlement Instructions
Trade Capture Report
337 ContraTrader String Identifies the trader (e.g. “badge number”) of the ContraBroker. Execution Report
338 TradSesMethod int Method of trading
Valid values:
1 = Electronic
2 = Open Outcry
3 = Two Party
Trading Session Status Request
Trading Session Status
339 TradSesMode int Trading Session Mode
Valid values:
1 = Testing
2 = Simulated
3 = Production
Trading Session Status Request
Trading Session Status
340 TradSesStatus int State of the trading session.
Valid values:
0 = Unknown
1 = Halted
2 = Open
3 = Closed
4 = Pre-Open
5 = Pre-Close
6 = Request Rejected
Trading Session Status
341 TradSesStartTime UTCTimestamp Starting time of the trading session Trading Session Status
342 TradSesOpenTime UTCTimestamp Time of the opening of the trading session Trading Session Status
343 TradSesPreCloseTime UTCTimestamp Time of the pre-closed of the trading session Trading Session Status
344 TradSesCloseTime UTCTimestamp Closing time of the trading session Trading Session Status
345 TradSesEndTime UTCTimestamp End time of the trading session Trading Session Status
346 NumberOfOrders int Number of orders in the market. Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
347 MessageEncoding String Type of message encoding (non-ASCII (non-English) characters) used in a message’s “Encoded” fields.
Valid values:
ISO-2022-JP (for using JIS)
EUC-JP (for using EUC)
Shift_JIS (for using SJIS)
UTF-8 (for using Unicode)
Standard Message Header
348 EncodedIssuerLen Length Byte length of encoded (non-ASCII characters) EncodedIssuer field. Component Block – <Instrument>
349 EncodedIssuer data Encoded (non-ASCII characters) representation of the Issuer field in the encoded format specified via the MessageEncoding field. If used, the ASCII (English) representation should also be specified in the Issuer field. Component Block – <Instrument>
350 EncodedSecurityDescLen Length Byte length of encoded (non-ASCII characters) EncodedSecurityDesc field. Component Block – <Instrument>
351 EncodedSecurityDesc data Encoded (non-ASCII characters) representation of the SecurityDesc field in the encoded format specified via the MessageEncoding field. If used, the ASCII (English) representation should also be specified in the SecurityDesc field. Component Block – <Instrument>
352 EncodedListExecInstLen Length Byte length of encoded (non-ASCII characters) EncodedListExecInst field. New Order – List
353 EncodedListExecInst data Encoded (non-ASCII characters) representation of the ListExecInst field in the encoded format specified via the MessageEncoding field. If used, the ASCII (English) representation should also be specified in the ListExecInst field. New Order – List
354 EncodedTextLen Length Byte length of encoded (non-ASCII characters) EncodedText field. Business Message Reject
Reject
Logout
Advertisement
Indication of Interest
News
Email
Quote Request
Quote Request Reject
Quote
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
Market Data Request Reject
Security Definition Request
Security Definition
Security Type Request
Security Types
Security List Request
Security List
Derivative Security List Request
Derivative Security List
Security Status
Trading Session Status
New Order – Single
Execution Report
Dont Know Trade (DK)
Order Cancel/Replace Request (aka Order Modification Request)
Order Cancel Request
Order Cancel Reject
Order Mass Cancel Request
Order Mass Cancel Report
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
Bid Request
Bid Response
New Order – List
List Strike Price
List Status
List Execute
List Cancel Request
List Status Request
Allocation
Allocation ACK
Trade Capture Report Request
Trade Capture Report
355 EncodedText data Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field. If used, the ASCII (English) representation should also be specified in the Text field. Business Message Reject
Reject
Logout
Advertisement
Indication of Interest
News
Email
Quote Request
Quote Request Reject
Quote
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
Market Data Request Reject
Security Definition Request
Security Definition
Security Type Request
Security Types
Security List Request
Security List
Derivative Security List Request
Derivative Security List
Security Status
Trading Session Status
New Order – Single
Execution Report
Dont Know Trade (DK)
Order Cancel/Replace Request (aka Order Modification Request)
Order Cancel Request
Order Cancel Reject
Order Mass Cancel Request
Order Mass Cancel Report
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
Bid Request
Bid Response
New Order – List
List Strike Price
List Status
List Execute
List Cancel Request
List Status Request
Allocation
Allocation ACK
Trade Capture Report
356 EncodedSubjectLen Length Byte length of encoded (non-ASCII characters) EncodedSubject field. Email
357 EncodedSubject data Encoded (non-ASCII characters) representation of the Subject field in the encoded format specified via the MessageEncoding field. If used, the ASCII (English) representation should also be specified in the Subject field. Email
358 EncodedHeadlineLen Length Byte length of encoded (non-ASCII characters) EncodedHeadline field. News
359 EncodedHeadline data Encoded (non-ASCII characters) representation of the Headline field in the encoded format specified via the MessageEncoding field. If used, the ASCII (English) representation should also be specified in the Headline field. News
360 EncodedAllocTextLen Length Byte length of encoded (non-ASCII characters) EncodedAllocText field. Allocation
361 EncodedAllocText data Encoded (non-ASCII characters) representation of the AllocText field in the encoded format specified via the MessageEncoding field. If used, the ASCII (English) representation should also be specified in the AllocText field. Allocation
362 EncodedUnderlyingIssuerLen Length Byte length of encoded (non-ASCII characters) EncodedUnderlyingIssuer field. Component Block – <UnderlyingInstrument>
363 EncodedUnderlyingIssuer data Encoded (non-ASCII characters) representation of the UnderlyingIssuer field in the encoded format specified via the MessageEncoding field. If used, the ASCII (English) representation should also be specified in the UnderlyingIssuer field. Component Block – <UnderlyingInstrument>
364 EncodedUnderlyingSecurityDescLen Length Byte length of encoded (non-ASCII characters) EncodedUnderlyingSecurityDesc field. Component Block – <UnderlyingInstrument>
365 EncodedUnderlyingSecurityDesc data Encoded (non-ASCII characters) representation of the UnderlyingSecurityDesc field in the encoded format specified via the MessageEncoding field. If used, the ASCII (English) representation should also be specified in the UnderlyingSecurityeDesc field. Component Block – <UnderlyingInstrument>
366 AllocPrice Price Executed price for an AllocAccount entry used when using “executed price” vs. “average price” allocations (e.g. Japan). Allocation
367 QuoteSetValidUntilTime UTCTimestamp Indicates expiration time of this particular QuoteSet (always expressed in UTC (Universal Time Coordinated, also known as “GMT”) Mass Quote
368 QuoteEntryRejectReason int Reason Quote Entry was rejected:
Valid values:
1 = Unknown symbol (Security)
2 = Exchange(Security) closed
3 = Quote exceeds limit
4 = Too late to enter
5 = Unknown Quote
6 = Duplicate Quote
7 = Invalid bid – ask spread
8 = Invalid price
9 = Not authorized to quote security
Mass Quote Acknowledgement
369 LastMsgSeqNumProcessed SeqNum The last MsgSeqNum value received by the FIX engine and processed by downstream application, such as trading engine or order routing system. Can be specified on every message sent. Useful for detecting a backlog with a counterparty. Standard Message Header
370 OnBehalfOfSendingTime UTCTimestamp *** DEPRECATED FIELD – See “Deprecated (Phased-out) Features and Supported Approach” ***
Used when a message is sent via a “hub” or “service bureau”. If A sends to Q (the hub) who then sends to B via a separate FIX session, then when Q sends to B the value of this field should represent the SendingTime on the message A sent to Q. (always expressed in UTC (Universal Time Coordinated, also known as “GMT”)
Standard Message Header
371 RefTagID int The tag number of the FIX field being referenced. Reject
372 RefMsgType String The MsgType of the FIX message being referenced. Business Message Reject
Logon
Reject
373 SessionRejectReason int Code to identify reason for a session-level Reject message.
Valid values:
0 = Invalid tag number
1 = Required tag missing
2 = Tag not defined for this message type
3 = Undefined Tag
4 = Tag specified without a value
5 = Value is incorrect (out of range) for this tag
6 = Incorrect data format for value
7 = Decryption problem
8 = Signature problem
9 = CompID problem
10 = SendingTime accuracy problem
11 = Invalid MsgType
12 = XML Validation error
13 = Tag appears more than once
14 = Tag specified out of required order
15 = Repeating group fields out of order
16 = Incorrect NumInGroup count for repeating group
17 = Non “data” value includes field delimiter (SOH character)
Reject
374 BidRequestTransType char Identifies the Bid Request message type.
Valid values:
N = New
C = Cancel
Bid Request
375 ContraBroker String Identifies contra broker. Standard NASD market-maker mnemonic is preferred. Execution Report
376 ComplianceID String ID used to represent this transaction for compliance purposes (e.g. OATS reporting). New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
Order Cancel Request
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
Trade Capture Report
377 SolicitedFlag Boolean Indicates whether or not the order was solicited.
Valid values:
Y = Was solcitied
N = Was not solicited
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
Trade Capture Report
378 ExecRestatementReason int Code to identify reason for an ExecutionRpt message sent with ExecType=Restated or used when communicating an unsolicited cancel.
Valid values:
0 = GT Corporate action
1 = GT renewal – restatement (no corporate action)
2 = Verbal change
3 = Repricing of order
4 = Broker option
5 = Partial decline of OrderQty (e.g. exchange-initiated partial cancel)
6 = Cancel on Trading Halt
7 = Cancel on System Failure
8 = Market (Exchange) Option
Execution Report
Trade Capture Report
379 BusinessRejectRefID String The value of the business-level “ID” field on the message being referenced. Business Message Reject
380 BusinessRejectReason int Code to identify reason for a Business Message Reject message.
Valid values:
0 = Other
1 = Unkown ID
2 = Unknown Security
3 = Unsupported Message Type
4 = Application not available
5 = Conditionally Required Field Missing
6 = Not authorized
7 = DeliverTo firm not available at this time
Business Message Reject
381 GrossTradeAmt Amt Total amount traded (e.g. CumQty * AvgPx) expressed in units of currency. Execution Report
Allocation
Trade Capture Report
382 NoContraBrokers NumInGroup The number of ContraBroker entries. Execution Report
383 MaxMessageSize Length Maximum number of bytes supported for a single message. Logon
384 NoMsgTypes NumInGroup Number of MsgTypes in repeating group. Logon
385 MsgDirection char Specifies the direction of the messsage.
Valid values:
S = Send
R = Receive
Logon
386 NoTradingSessions NumInGroup Number of TradingSessionIDs in repeating group. Market Data Request
New Order – Single
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
387 TotalVolumeTraded Qty Total volume (quantity) traded. Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
Trading Session Status
388 DiscretionInst char Code to identify the price a DiscretionOffset is related to and should be mathematically added to.
Valid values:
0 = Related to displayed price
1 = Related to market price
2 = Related to primary price
3 = Related to local primary price
4 = Related to midpoint price
5 = Related to last trade price
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
389 DiscretionOffset PriceOffset Amount (signed) added to the “related to” price specified via DiscretionInst. New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
390 BidID String Unique identifier for Bid Response as assigned by sell-side (broker, exchange, ECN). Uniqueness must be guaranteed within a single trading day. Bid Request
Bid Response
New Order – List
List Execute
391 ClientBidID String Unique identifier for a Bid Request as assigned by institution. Uniqueness must be guaranteed within a single trading day. Bid Request
Bid Response
New Order – List
List Execute
392 ListName String Descriptive name for list order. Bid Request
393 TotalNumSecurities int Total number of securities. Security List
Derivative Security List
Bid Request
394 BidType int Code to identify the type of Bid Request.
Valid values:
1 = “Non Disclosed” Style (e.g. US – European)
2 = “Disclosed” Style (e.g. Japanese)
3 = No Bidding Process
Bid Request
New Order – List
395 NumTickets int Total number of tickets. Bid Request
396 SideValue1 Amt Amounts in currency Bid Request
397 SideValue2 Amt Amounts in currency Bid Request
398 NoBidDescriptors NumInGroup Number of BidDescriptor entries. Bid Request
399 BidDescriptorType int Code to identify the type of BidDescriptor.
Valid values:
1 = Sector
2 = Country
3 = Index
Bid Request
400 BidDescriptor String BidDescriptor value. Usage depends upon BidDescriptorType.
If BidDescriptorType =1
Industrials etc – Free text
If BidDescriptorType =2
“FR” etc – ISO Country Codes
If BidDescriptorType =3
FT100, FT250, STOX – Free text
Bid Request
401 SideValueInd int Code to identify which “SideValue” the value refers to. SideValue1 and SideValue2 are used as opposed to Buy or Sell so that the basket can be quoted either way as Buy or Sell.
Valid values:
1 = SideValue1
2 = SideValue 2
Bid Request
New Order – List
402 LiquidityPctLow Percentage Liquidity indicator or lower limit if TotalNumSecurities > 1. Represented as a percentage. Bid Request
403 LiquidityPctHigh Percentage Upper liquidity indicator if TotalNumSecurities > 1. Represented as a percentage. Bid Request
404 LiquidityValue Amt Value between LiquidityPctLow and LiquidityPctHigh in Currency Bid Request
405 EFPTrackingError Percentage Eg Used in EFP trades 12% (EFP – Exchange for Physical ). Represented as a percentage. Bid Request
406 FairValue Amt Used in EFP trades Bid Request
Bid Response
407 OutsideIndexPct Percentage Used in EFP trades. Represented as a percentage. Bid Request
408 ValueOfFutures Amt Used in EFP trades Bid Request
409 LiquidityIndType int Code to identify the type of liquidity indicator.
Valid values:
1 = 5day moving average
2 = 20 day moving average
3 = Normal Market Size
4 = Other
Bid Request
410 WtAverageLiquidity Percentage Overall weighted average liquidity expressed as a % of average daily volume. Represented as a percentage. Bid Request
411 ExchangeForPhysical Boolean Indicates whether or not to exchange for phsyical.
Valid values:
Y = True
N = False
Bid Request
412 OutMainCntryUIndex Amt Value of stocks in Currency Bid Request
413 CrossPercent Percentage Percentage of program that crosses in Currency. Represented as a percentage. Bid Request
414 ProgRptReqs int Code to identify the desired frequency of progress reports.
Valid values:
1 = BuySide explicitly requests status using StatusRequest (Default) The sell-side firm can however, send a DONE status List Status Response in an unsolicited fashion
2 = SellSide periodically sends status using ListStatus. Period optionally specified in ProgressPeriod
3 = Real-time execution reports (to be discouraged)
Bid Request
New Order – List
415 ProgPeriodInterval int Time in minutes between each ListStatus report sent by SellSide. Zero means don’t send status. Bid Request
New Order – List
416 IncTaxInd int Code to represent whether value is net (inclusive of tax) or gross.
Valid values:
1 = Net
2 = Gross
Bid Request
417 NumBidders int Indicates the total number of bidders on the list Bid Request
418 TradeType char Code to represent the type of trade.
Valid values:
R: Risk Trade
G: VWAP Guarantee
A: Agency
J: Guaranteed Close
Bid Request
419 BasisPxType char Code to represent the basis price type.
Valid values:
2 = Closing Price at morning session
3 = Closing Price
4 = Current price
5 = SQ
6 = VWAP through a day
7 = VWAP through a morning session
8 = VWAP through an afternoon session
9 = VWAP through a day except “YORI” (an opening auction)
A = VWAP through a morning session except “YORI” (an opening auction)
B = VWAP through an afternoon session except “YORI” (an opening auction)
C = Strike
D = Open
Z = Others
Bid Request
420 NoBidComponents NumInGroup Indicates the number of list entries. Bid Request
Bid Response
421 Country Country ISO Country Code in field Bid Response
422 TotNoStrikes int Total number of strike price entries across all messages. Should be the sum of all NoStrikes in each message that has repeating strike price entries related to the same ListID. Used to support fragmentation. List Strike Price
423 PriceType int Code to represent the price type.
Valid values:
1 = Percentage
2 = per share (e.g. cents per share)
3 = Fixed Amount (absolute value)
4 = discount – percentage points below par
5 = premium – percentage points over par
6 = basis points relative to benchmark
7 = TED price (see “Volume 1 – Glossary”)
8 = TED yield (see “Volume 1 – Glossary”)
Indication of Interest
Quote Request
Quote Request Reject
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
Bid Response
New Order – List
Allocation
424 DayOrderQty Qty For GT orders, the OrderQty less all quantity (adjusted for stock splits) that traded on previous days. DayOrderQty = OrderQty – (CumQty – DayCumQty) Execution Report
425 DayCumQty Qty Quantity on a GT order that has traded today. Execution Report
426 DayAvgPx Price The average price for quantity on a GT order that has traded today. Execution Report
427 GTBookingInst int Code to identify whether to book out executions on a part-filled GT order on the day of execution or to accumulate.
Valid values:
0 = book out all trades on day of execution
1 = accumulate executions until order is filled or expires
2 = accumulate until verbally notified otherwise
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
428 NoStrikes NumInGroup Number of list strike price entries. List Strike Price
429 ListStatusType int Code to represent the price type.
Valid values:
1 = Ack
2 = Response
3 = Timed
4 = ExecStarted
5 = AllDone
6 = Alert
List Status
430 NetGrossInd int Code to represent whether value is net (inclusive of tax) or gross.
Valid values:
1 = Net
2 = Gross
Bid Request
Bid Response
431 ListOrderStatus int Code to represent the status of a list order.
Valid values:
1 = InBiddingProcess
2 = ReceivedForExecution
3 = Executing
4 = Canceling
5 = Alert
6 = All Done
7 = Reject
List Status
432 ExpireDate LocalMktDate Date of order expiration (last day the order can trade), always expressed in terms of the local market date. The time at which the order expires is determined by the local market’s business practices Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
433 ListExecInstType char Identifies the type of ListExecInst.
Valid values:
1 = Immediate
2 = Wait for Execute Instruction (e.g. a List Execute message or phone call before proceeding with execution of the list)
3 = Exchange – switch CIV order – Sell driven
4 = Exchange – switch CIV order – Buy driven, cash top-up (i.e. additional cash will be provided to fulfil the order)
5 = Exchange – switch CIV order – Buy driven, cash withdraw (i.e. additional cash will not be provided to fulfil the order)
New Order – List
434 CxlRejResponseTo char Identifies the type of request that a Cancel Reject is in response to.
Valid values:
1 = Order Cancel Request
2 = Order Cancel – Replace Request
Order Cancel Reject
435 UnderlyingCouponRate Percentage Underlying security’s CouponRate.
See CouponRate (223) field for description
Component Block – <UnderlyingInstrument>
436 UnderlyingContractMultiplier float Underlying security’s ContractMultiplier.
See ContractMultiplier (231) field for description
Component Block – <UnderlyingInstrument>
437 ContraTradeQty Qty Quantity traded with the ContraBroker. Execution Report
438 ContraTradeTime UTCTimestamp Identifes the time of the trade with the ContraBroker. (always expressed in UTC (Universal Time Coordinated, also known as “GMT”) Execution Report
439 ClearingFirm String No longer used as of FIX 4.3. Included here for reference to prior versions.
*** REPLACED FIELD – See “Replaced Features and Supported Approach” ***
Firm that will clear the trade. Used if different from the executing firm.
440 ClearingAccount String No longer used as of FIX 4.3. Included here for reference to prior versions.
*** REPLACED FIELD – See “Replaced Features and Supported Approach” ***
Supplemental accounting information forwared to clearing house – firm.
441 LiquidityNumSecurities int Number of Securites between LiquidityPctLow and LiquidityPctHigh in Currency. Bid Request
442 MultiLegReportingType char Used to indicate what an Execution Report represents (e.g. used with multi-leg securiteis, such as option strategies, spreads, etc.).
Valid Values:
1 = Single Security (default if not specified)
2 = Individual leg of a multi-leg security
3 = Multi-leg security
Execution Report
Trade Capture Report
443 StrikeTime UTCTimestamp The time at which current market prices are used to determine the value of a basket. Bid Request
444 ListStatusText String Free format text string related to List Status. List Status
445 EncodedListStatusTextLen Length Byte length of encoded (non-ASCII characters) EncodedListStatusText field. List Status
446 EncodedListStatusText data Encoded (non-ASCII characters) representation of the ListStatusText field in the encoded format specified via the MessageEncoding field. If used, the ASCII (English) representation should also be specified in the ListStatusText field. List Status
447 PartyIDSource char Identifies class or source of the PartyID value. Required if PartyID is specified. Note: applicable values depend upon PartyRole specified.
See “Appendix 6-G – Use of <Parties> Component Block”
Valid values:

Applicable to all PartyRoles unless otherwise specified:
B = BIC (Bank Identification Code-Swift managed) code (ISO 9362 – See “Appendix 6-B”)
C = Generally accepted market participant identifier (e.g. NASD mnemonic)
D = Proprietary – Custom code
E = ISO Country Code
F = Settlement Entity Location (note if Local Market Settlement use “E = ISO Country Code”) (see “Appendix 6-G” for valid values)
For PartyRole=”Investor ID” and for Equities:
1 = Korean Investor ID
2 = Taiwanese Qualified Foreign Investor ID QFII – FID
3 = Taiwanese Trading Account
4 = Malaysian Central Depository (MCD) number
5 = Chinese B Share (Shezhen and Shanghai)

See Volume 4: “Example Usage of PartyRole=”Investor ID” ”

For PartyRole=”Investor ID” and for CIV:
6 = UK National Insurance or Pension Number
7 = US Social Security Number
8 = US Employer Identification Number
9 = Australian Business Number
A = Australian Tax File Number

Component Block – <Parties>
448 PartyID String Party identifier – code. See PartyIDSource (447) and PartyRole (452).
See “Appendix 6-G – Use of <Parties> Component Block”
Component Block – <Parties>
449 TotalVolumeTradedDate UTCDate Date of TotalVolumeTraded. Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
450 TotalVolumeTraded Time UTCTimeOnly Time of TotalVolumeTraded. Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
451 NetChgPrevDay PriceOffset Net change from previous day’s closing price vs. last traded price. Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
452 PartyRole int Identifies the type or role of the PartyID specified.
See “Appendix 6-G – Use of <Parties> Component Block”
Valid values:
1 = Executing Firm (formerly FIX 4.2 ExecBroker)
2 = Broker of Credit (formerly FIX 4.2 BrokerOfCredit)
3 = Client ID (formerly FIX 4.2 ClientID)
4 = Clearing Firm (formerly FIX 4.2 ClearingFirm)
5 = Investor ID
6 = Introducing Firm
7 = Entering Firm
8 = Locate – Lending Firm (for short-sales)
9 = Fund manager Client ID (for CIV)
10 = Settlement Location (formerly FIX 4.2 SettlLocation)
11 = Order Origination Trader (associated with Order Origination Firm – e.g. trader who initiates – submits the order)
12 = Executing Trader (associated with Executing Firm – actually executes)
13 = Order Origination Firm (e.g. buyside firm)
14 = Giveup Clearing Firm (firm to which trade is given up)
15 = Correspondant Clearing Firm
16 = Executing System
17 = Contra Firm
18 = Contra Clearing Firm
19 = Sponsoring Firm
20 = Underlying Contra Firm
(see Volume 1: “Glossary” for value definitions)
Component Block – <Parties>
453 NoPartyIDs NumInGroup Number of PartyID, PartyIDSource, and PartyRole entries Component Block – <Parties>
454 NoSecurityAltID NumInGroup Number of SecurityAltID entries. Component Block – <Instrument>
455 SecurityAltID String Alternate Security identifier value for this security of SecurityAltIDSource type (e.g. CUSIP, SEDOL, ISIN, etc). Requires SecurityAltIDSource. Component Block – <Instrument>
456 SecurityAltIDSource String Identifies class or source of the SecurityAltID value. Required if SecurityAltID is specified.
Valid values:
Same valid values as the SecurityIDSource field
Component Block – <Instrument>
457 NoUnderlyingSecurityAltID NumInGroup Number of UnderlyingSecurityAltID entries. Component Block – <UnderlyingInstrument>
458 UnderlyingSecurityAltID String Alternate Security identifier value for this underlying security of UnderlyingSecurityAltIDSource type (e.g. CUSIP, SEDOL, ISIN, etc). Requires UnderlyingSecurityAltIDSource. Component Block – <UnderlyingInstrument>
459 UnderlyingSecurityAltIDSource String Identifies class or source of the UnderlyingSecurityAltID value. Required if UnderlyingSecurityAltID is specified.
Valid values:
Same valid values as the SecurityIDSource (22) field
Component Block – <UnderlyingInstrument>
460 Product int Indicates the type of product the security is associated with. See also the CFICode (461) and SecurityType (167) fields.
Valid values:
1 = AGENCY
2 = COMMODITY
3 = CORPORATE
4 = CURRENCY
5 = EQUITY
6 = GOVERNMENT
7 = INDEX
8 = LOAN
9 = MONEYMARKET
10 = MORTGAGE
11 = MUNICIPAL
12 = OTHER
Component Block – <Instrument>
Security Types
461 CFICode String Indicates the type of security using ISO 10962 standard, Classification of Financial Instruments (CFI code) values. ISO 10962 is maintained by ANNA (Association of National Numbering Agencies) acting as Registration Authority. See “Appendix 6-B FIX Fields Based Upon Other Standards”. See also the Product (460) and SecurityType (167) fields. It is recommended that CFICode be used instead of SecurityType (167) for non-Fixed Income instruments.

A subset of possible values applicable to FIX usage are identified in “Appendix 6-D CFICode Usage – ISO 10962 Classification of Financial Instruments (CFI code)”

Component Block – <Instrument>
Security Types
462 UnderlyingProduct int Underlying security’s Product.
Valid values: see Product(460) field
Component Block – <UnderlyingInstrument>
463 UnderlyingCFICode String Underlying security’s CFICode.
Valid values: see CFICode (461)field
Component Block – <UnderlyingInstrument>
464 TestMessageIndicator Boolean Indicates whether or not this FIX Session is a “test” vs. “production” connection. Useful for preventing “accidents”.
Valid values:
Y = True (Test)
N = False (Production)
Logon
465 QuantityType int Designates the type of quantities (e.g. OrderQty) specified. Used for MBS and TIPS Fixed Income security types.
Valid values:
1 = SHARES
2 = BONDS
3 = CURRENTFACE
4 = ORIGINALFACE
5 = CURRENCY
6 = CONTRACTS
7 = OTHER
8 = PAR (see “Volume 1 – Glossary”)
Indication of Interest
Quote Request
Quote Request Reject
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
466 BookingRefID String Common reference passed to a post-trade booking process (e.g. industry matching utility). Allocation
467 IndividualAllocID String Unique identifier for a specific NoAllocs repeating group instance (e.g. for an AllocAccount). New Order – Single
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
Allocation
Settlement Instructions
468 RoundingDirection char Specifies which direction to round For CIV – indicates whether or not the quantity of shares – units is to be rounded and in which direction where OrderCashAmt or (for CIV only) OrderPercent are specified on an order.
Valid values are:
0 = Round to nearest
1 = Round down
2 = Round up
The default is for rounding to be at the discretion of the executing broker or fund manager.
e.g. for an order specifying CashOrdQty or OrderPercent if the calculated number of shares – units was 325.76 and RoundingModulus was 10 – “round down” would give 320 units, “round up” would give 330 units and “round to nearest” would give 320 units.
Component Block – <OrderQtyData>
469 RoundingModulus float For CIV – a float value indicating the value to which rounding is required.
i.e. 10 means round to a multiple of 10 units – shares; 0.5 means round to a multiple of 0.5 units – shares.
The default, if RoundingDirection is specified without RoundingModulus, is to round to a whole unit – share.
Component Block – <OrderQtyData>
470 CountryOfIssue Country ISO Country code of instrument issue (e.g. the country portion typically used in ISIN). Can be used in conjunction with non-ISIN SecurityID (e.g. CUSIP for Municipal Bonds without ISIN) to provide uniqueness. Component Block – <Instrument>
471 StateOrProvinceOfIssue String A two-character state or province abbreviation. Component Block – <Instrument>
472 LocaleOfIssue String Identifies the locale. For Municipal Security Issuers other than state or province. Refer to
http: – – http://www.atmos.albany.edu – cgi – stagrep-cgi
Reference the IATA city codes for values.
Note IATA (International Air Transport Association) maintains the codes at http://www.iata.org. See “Volume 7 – PRODUCT: FIXED INCOME” for example.
Component Block – <Instrument>
473 NoRegistDtls NumInGroup The number of registration details on a Registration Instructions message Registration Instructions
474 MailingDtls String Set of Correspondence address details, possibly including phone, fax, etc. Registration Instructions
475 InvestorCountryOfResidence Country The ISO 3166 Country code (2 character) identifying which country the beneficial investor is resident for tax purposes. Registration Instructions
476 PaymentRef String “Settlement Payment Reference” – A free format Payment reference to assist with reconciliation, e.g. a Client and – or Order ID number. Settlement Instructions
477 DistribPaymentMethod int A code identifying the payment method for a (fractional) distribution.
1 = CREST
2 = NSCC
3 = Euroclear
4 = Clearstream
5 = Cheque
6 = Telegraphic Transfer
7 = FedWire
8 = Direct Credit (BECS, BACS)
9 = ACH Credit
10 = BPAY
11 = High Value Clearing System (HVACS)
12 = Reinvest in fund
13 through 998 are reserved for future use
Values above 1000 are available for use by private agreement among counterparties
Registration Instructions
478 CashDistribCurr Currency Specifies currency to be use for Cash Distributions- see “Appendix 6-A; Valid Currency Codes”. Registration Instructions
479 CommCurrency Currency Specifies currency to be use for Commission if the Commission currency is different from the Deal Currency – see “Appendix 6-A; Valid Currency Codes”. Component Block – <CommissionData>
480 CancellationRights char For CIV – A one character code identifying whether Cancellation rights – Cooling off period applies.
Valid values are:
Y = Yes
N = No – execution only
M = No – waiver agreement
O = No – institutional.
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
481 MoneyLaunderingStatus char For CIV – A one character code identifying Money laundering status.
Valid values:
Y = Passed
N = Not checked
1 = Exempt – Below The Limit
2 = Exempt – Client Money Type Exemption
3 = Exempt – Authorised Credit or Financial Institution.
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
482 MailingInst String Free format text to specify mailing instruction requirements, e.g. “no third party mailings”. Registration Instructions
483 TransBkdTime UTCTimestamp For CIV A date and time stamp to indicate the time a CIV order was booked by the fund manager. Execution Report
Trade Capture Report
484 ExecPriceType char For CIV – Identifies how the execution price LastPx was calculated from the fund unit – share price(s) calculated at the fund valuation point.
Valid values are: B = Bid price C = Creation price D = Creation price plus adjustment % E = Creation price plus adjustment amount O = Offer price P = Offer price minus adjustment % Q = Offer price minus adjustment amount S = Single price
Execution Report
485 ExecPriceAdjustment float For CIV the amount or percentage by which the fund unit – share price was adjusted, as indicated by ExecPriceType Execution Report
486 DateOfBirth LocalMktDate The date of birth applicable to the individual, e.g. required to open some types of tax-exempt account. Registration Instructions
487 TradeReportTransType char Identifies Trade Report message transaction type
Valid values:
N = New
C = Cancel
R = Replace
Trade Capture Report
488 CardHolderName String The name of the payment card holder as specified on the card being used for payment. Settlement Instructions
489 CardNumber String The number of the payment card as specified on the card being used for payment. Settlement Instructions
490 CardExpDate LocalMktDate The expiry date of the payment card as specified on the card being used for payment. Settlement Instructions
491 CardIssNo String The issue number of the payment card as specified on the card being used for payment. This is only applicable to certain types of card.
492 PaymentMethod int A code identifying the Settlement payment method.

1 = CREST
2 = NSCC
3 = Euroclear
4 = Clearstream
5 = Cheque
6 = Telegraphic Transfer
7 = FedWire
8 = Debit Card
9 = Direct Debit (BECS)
10 = Direct Credit (BECS)
11 = Credit Card
12 = ACH Debit
13 = ACH Credit
14 = BPAY
15 = High Value Clearing System (HVACS)
16 through 998 are reserved for future use
Values above 1000 are available for use by private agreement among counterparties

Settlement Instructions
493 RegistAcctType String For CIV – a fund manager-defined code identifying which of the fund manager’s account types is required. Registration Instructions
494 Designation String Free format text defining the designation to be associated with a holding on the register. Used to identify assets of a specific underlying investor using a common registration, e.g. a broker’s nominee or street name. New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
495 TaxAdvantageType int For CIV – a code identifying the type of tax exempt account in which purchased shares – units are to be held.
0=None – Not Applicable (default)
1 = Maxi ISA (UK)
2 = TESSA (UK)
3 = Mini Cash ISA (UK)
4 = Mini Stocks and Shares ISA (UK)
5 = Mini Insurance ISA (UK)
6 = Current year payment (US)
7 = Prior year payment (US)
8 = Asset transfer (US)
9 = Employee – prior year (US)
10 = Employee – current year (US)
11 = Employer – prior year (US)
12 = Employer – current year (US)
13 = Non-fund prototype IRA (US)
14 = Non-fund qualified plan (US)
15 = Defined contribution plan (US)
16 = Individual Retirement Account (US)
17 = Individual Retirement Account – Rollover (US)
18 = KEOGH (US)
19 = Profit Sharing Plan (US)
20 = 401K (US)
21 = Self-Directed IRA (US)
22 = 403(b) (US)
23 = 457 (US)
24 = Roth IRA (fund prototype) (US)
25 = Roth IRA (non-prototype) (US)
26 = Roth Conversion IRA (fund prototype) (US)
27 = Roth Conversion IRA (non-prototype) (US)
28 = Education IRA (fund prototype) (US)
29 = Education IRA (non-prototype) (US)
30 – 998 are reserved for future use by recognized taxation authorities
999=Other
values above 1000 are available for use by private agreement among counterparties
Registration Instructions
496 RegistRejReasonText String Text indicating reason(s) why a Registration Instruction has been rejected. Registration Instructions Response
497 FundRenewWaiv char A one character code identifying whether the Fund based renewal commission is to be waived.
Valid values are:
Y = Yes
N = No
Component Block – <CommissionData>
498 CashDistribAgentName String Name of local agent bank if for cash distributions Registration Instructions
499 CashDistribAgentCode String BIC (Bank Identification Code–Swift managed) code of agent bank for cash distributions Registration Instructions
500 CashDistribAgentAcctNumber String Account number at agent bank for distributions.
501 CashDistribPayRef String Free format Payment reference to assist with reconciliation of distributions. Registration Instructions
502 CashDistribAgentAcctName String Name of account at agent bank for distributions. Registration Instructions
503 CardStartDate LocalMktDate The start date of the card as specified on the card being used for payment. Settlement Instructions
504 PaymentDate LocalMktDate The date written on a cheque or date payment should be submitted to the relevant clearing system. Settlement Instructions
505 PaymentRemitterID String Identifies sender of a payment, e.g. the payment remitter or a customer reference number. Settlement Instructions
506 RegistStatus char Registration status as returned by the broker or (for CIV) the fund manager:
A = Accepted
R = Rejected
H = Held
N = Reminder – i.e. Registration Instructions are still outstanding
Registration Instructions Response
507 RegistRejReasonCode int Reason(s) why Registration Instructions has been rejected. Possible values of reason code include:
1 = Invalid – unacceptable Account Type 2 = Invalid – unacceptable Tax Exempt Type 3 = Invalid – unacceptable Ownership Type 4 = Invalid – unacceptable No Reg Detls 5 = Invalid – unacceptable Reg Seq No 6 = Invalid – unacceptable Reg Dtls 7 = Invalid – unacceptable Mailing Dtls 8 = Invalid – unacceptable Mailing Inst 9 = Invalid – unacceptable Investor ID 10 = Invalid – unacceptable Investor ID Source 11 = Invalid – unacceptable Date of Birth 12 = Invalid – unacceptable Investor Country Of Residence 13 = Invalid – unacceptable NoDistribInstns 14 = Invalid – unacceptable Distrib Percentage 15 = Invalid – unacceptable Distrib Payment Method 16 = Invalid – unacceptable Cash Distrib Agent Acct Name 17 = Invalid – unacceptable Cash Distrib Agent Code 18 = Invalid – unacceptable Cash Distrib Agent Acct Num
The reason may be further amplified in the RegistRejReasonCode field.
Registration Instructions Response
508 RegistRefID String Reference identifier for the RegistID with Cancel and Replace RegistTransType transaction types. Registration Instructions
Registration Instructions Response
509 RegistDetls String Set of Registration name and address details, possibly including phone, fax etc.
510 NoDistribInsts NumInGroup The number of Distribution Instructions on a Registration Instructions message Registration Instructions
511 RegistEmail String Email address relating to Registration name and address details Registration Instructions
512 DistribPercentage Percentage The amount of each distribution to go to this beneficiary, expressed as a percentage
513 RegistID String Unique identifier of the registration details as assigned by institution or intermediary. New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
Registration Instructions
Registration Instructions Response
514 RegistTransType char Identifies Registration Instructions transaction type Valid values:
0 = New
1 = Replace
2 = Cancel
Registration Instructions
Registration Instructions Response
515 ExecValuationPoint UTCTimestamp For CIV – a date and time stamp to indicate the fund valuation point with respect to which a order was priced by the fund manager. Execution Report
516 OrderPercent Percentage For CIV specifies the approximate order quantity desired. For a CIV Sale it specifies percentage of investor’s total holding to be sold. For a CIV switch – exchange it specifies percentage of investor’s cash realised from sales to be re-invested. The executing broker, intermediary or fund manager is responsible for converting and calculating OrderQty in shares – units for subsequent messages. Component Block – <OrderQtyData>
517 OwnershipType char The relationship between Registration parties.
J = Joint Investors
T = Tenants in Common
2 = Joint Trustees
Registration Instructions
518 NoContAmts NumInGroup The number of Contract Amount details on an Execution Report message Execution Report
Trade Capture Report
519 ContAmtType int Type of Contract Amount.
For UK valid values include:
1 = Commission Amount (actual)
2 = Commission % (actual)
3 = Initial Charge Amount
4 = Initial Charge %
5 = Discount Amount
6 = Discount %
7 = Dilution Levy Amount
8 = Dilution Levy %
9 = Exit Charge Amount
10 = Exit Charge %
11 = Fund-based Renewal Commission % (a.k.a. Trail commission)
12 = Projected Fund Value (i.e. for investments intended to realise or exceed a specific future value)
13 = Fund-based Renewal Commission Amount (based on Order value)
14 = Fund-based Renewal Commission Amount (based on Projected Fund value)
15 = Net Settlement Amount
NOTE That Commission Amount – % in Contract Amounts is the commission actually charged, rather than the commission instructions given in Fields 12 – 13.
Execution Report
Trade Capture Report
520 ContAmtValue Float Value of Contract Amount, e.g. a financial amount or percentage as indicated by ContAmtType. Execution Report
Trade Capture Report
521 ContAmtCurr Currency Specifies currency for the Contract amount if different from the Deal Currency – see “Appendix A; Valid Currency Codes”. Execution Report
Trade Capture Report
522 OwnerType int Identifies the type of owner.
Valid values:
1 = Individual Investor
2 = Public Company
3 = Private Company
4 = Individual Trustee
5 = Company Trustee
6 = Pension Plan
7 = Custodian Under Gifts to Minors Act
8 = Trusts
9 = Fiduciaries
10 = Networking Sub-Account
11 = Non-Profit Organization
12 = Corporate Body
13 =Nominee
Registration Instructions
523 PartySubID String Sub-identifier (e.g. Clearing Account for PartyRole=Clearing Firm, Locate ID # for PartyRole=Locate – Lending Firm, etc). Not required when using PartyID, PartyIDSource, and PartyRole. Component Block – <Parties>
524 NestedPartyID String PartyID value within a nested repeating group.
Same values as PartyID (448)
Component Block – <NestedParties>
525 NestedPartyIDSource Char PartyIDSource value within a nested repeating group.
Same values as PartyIDSource (447)
Component Block – <NestedParties>
526 SecondaryClOrdID String Assigned by the party which originates the order. Can be used to provide the ClOrdID used by an exchange or executing system. New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
Order Cancel Request
Order Cancel Reject
Order Status Request
Order Mass Cancel Request
Order Mass Cancel Report
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
List Strike Price
List Status
Allocation
527 SecondaryExecID String Assigned by the party which accepts the order. Can be used to provide the ExecID used by an exchange or executing system. Execution Report
Allocation
Trade Capture Report
528 OrderCapacity char Designates the capacity of the firm placing the order.
Valid values:
A = Agency
G = Proprietary
I = Individual
P = Principal (Note for CMS purposes, Principal includes Proprietary)
R = Riskless Principal
W = Agent for Other Member
(as of FIX 4.3, this field replaced Rule80A (tag 47) –used in conjunction with OrderRestrictions field)
(see Volume 1: “Glossary” for value definitions)
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
Trade Capture Report
529 OrderRestrictions MultipleValueString Restrictions associated with an order. If more than one restriction is applicable to an order, this field can contain multiple instructions separated by space.
Valid values:
1 = Program Trade
2 = Index Arbitrage
3 = Non-Index Arbitrage
4 = Competing Market Maker
5 = Acting as Market Maker or Specialist in the security
6 = Acting as Market Maker or Specialist in the underlying security of a derivative security
7 = Foreign Entity (of foreign governmnet or regulatory jurisdiction)
8 = External Market Participant
9 = External Inter-connected Market Linkage
A = Riskless Arbitrage
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
Trade Capture Report
530 MassCancelRequestType char Specifies scope of Order Mass Cancel Request.
Valid values:
1 = Cancel orders for a security
2 = Cancel orders for an Underlying security
3 = Cancel orders for a Product
4 = Cancel orders for a CFICode
5 = Cancel orders for a SecurityType
6 = Cancel orders for a trading session
7 = Cancel all orders
Order Mass Cancel Request
Order Mass Cancel Report
531 MassCancelResponse char Specifies the action taken by counterparty order handling system as a result of the Order Mass Cancel Request
Valid values:
0 = Cancel Request Rejected — See MassCancelRejectReason (532)
1 = Cancel orders for a security
2 = Cancel orders for an Underlying security
3 = Cancel orders for a Product
4 = Cancel orders for a CFICode
5 = Cancel orders for a SecurityType
6 = Cancel orders for a trading session
7 = Cancel all orders
Order Mass Cancel Report
532 MassCancelRejectReason char Reason Order Mass Cancel Request was rejected
Valid valuess:
0 = Mass Cancel Not Supported
1 = Invalid or unknown Security
2 = Invalid or unknown underlying
3 = Invalid or unknown Product
4 = Invalid or unknown CFICode
5 = Invalid or unknown Security Type
6 = Invalid or unknown trading session
Order Mass Cancel Report
533 TotalAffectedOrders int Total number of orders affected by mass cancel request. Order Mass Cancel Report
534 NoAffectedOrders int Number of affected orders in the repeating group of order ids. Order Mass Cancel Report
535 AffectedOrderID String OrderID of an order affected by a mass cancel request. Order Mass Cancel Report
536 AffectedSecondaryOrderID Stirng SecondaryOrderID of an order affected by a mass cancel request. Order Mass Cancel Report
537 QuoteType int Identifies the type of quote.
Valid values:
0 = Indicative
1 = Tradeable
2 = Restricted Tradeable
An indicative quote is used to inform a counterparty of a market. An indicative quote does not result directly in a trade.
A tradeable quote is submitted to a market and willresult directly in a trade against other orders and quotes in a market.
A restricted tradeable quote is submitted to a market and within a certain restriction (possibly based upon price or quantity) will automatically trade against orders. Order that do not comply with restrictions are sent to the quote issuer who can choose to accept or decline the order.
Quote Request
Quote Request Reject
RFQ Request
Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
538 NestedPartyRole int PartyRole value within a nested repeating group.
Same values as PartyRole (452)
Component Block – <NestedParties>
539 NoNestedPartyIDs NumInGroup Number of NestedPartyID, NestedPartyIDSource, and NestedPartyRole entries Component Block – <NestedParties>
540 TotalAccruedInterestAmt Amt Total Amount of Accrued Interest for convertible bonds and fixed income Allocation
541 MaturityDate LocalMktDate Date of maturity. Component Block – <Instrument>
542 UnderlyingMaturityDate LocalMktDate Underlying security’s maturity date.
See MaturityDate (541) field for description
Component Block – <UnderlyingInstrument>
543 InstrRegistry String The location at which records of ownership are maintained for this instrument, and at which ownership changes must be recorded.
Valid values:
BIC (Bank Identification Code-Swift managed) = the depository or custodian who maintains ownership Records
ISO Country Code = country in which registry is kept
“ZZ” = physical or bearer
Component Block – <Instrument>
544 CashMargin char Identifies whether an order is a margin order or a non-margin order. This is primarily used when sending orders to Japanese exchanges to indicate sell margin or buy to cover. The same tag could be assigned also by buy-side to indicate the intent to sell or buy margin and the sell-side to accept or reject (base on some validation criteria) the margin request.
Valid values:
1 = Cash
2 = Margin Open
3 = Margin Close
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
545 NestedPartySubID String PartySubID value within a nested repeating group.
Same values as PartySubID (523)
Component Block – <NestedParties>
546 Scope MultipleValueString Defines the scope of a data element.
Valid values:
1 = Local (Exchange, ECN, ATS)
2 = National
3 = Global
Market Data Request
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
547 MDImplicitDelete Boolean Defines how a server handles distribution of a truncated book. Defaults to broker option.
Valid values:
Y = Client has responsibility for implicitly deleting bids or offers falling outside the MarketDepth of the request.
N = Server must send an explicit delete for bids or offers falling outside the requested MarketDepth of the request.
Market Data Request
548 CrossID String Identifier for a cross order. Must be unique during a given trading day. Recommend that firms use the order date as part of the CrossID for Good Till Cancel (GT) orders. Execution Report
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
549 CrossType int Type of cross being submitted to a market
Valid values:
1 = Cross Trade which is executed completely or not. Both sides are treated in the same manner. This is equivalent to an All or None.

2 = Cross Trade which is executed partially and the rest is cancelled. One side is fully executed, the other side is partially executed with the remainder being cancelled. This is equivalent to an Immediate or Cancel on the other side. Note: The CrossPrioritzation field may be used to indicate which side should fully execute in this scenario.

3 = Cross trade which is partially executed with the unfilled portions remaining active. One side of the cross is fully executed (as denoted with the CrossPrioritization field), but the unfilled portion remains active.

4 = Cross trade is executed with existing orders with the same price. In the case other orders exist with the same price, the quantity of the Cross is executed against the existing orders and quotes, the remainder of the cross is executed against the other side of the cross. The two sides potentially have different quantities.

Execution Report
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
550 CrossPrioritization int Indicates if one side or the other of a cross order should be prioritized.
0 = None
1 = Buy side is prioritized
2 = Sell side is prioritized
The definition of prioritization is left to the market. In some markets prioritization means which side of the cross order is applied to the market first. In other markets – prioritization may mean that the prioritized side is fully executed (sometimes referred to as the side being protected).
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
551 OrigCrossID String CrossID of the previous cross order (NOT the initial cross order of the day) as assigned by the institution, used to identify the previous cross order in Cross Cancel and Cross Cancel – Replace Requests. Execution Report
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
552 NoSides NumInGroup Number of Side repeating group instances.
Valid values:
1 = one side
2 = both sides
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
Trade Capture Report
553 Username String Userid or username. Logon
554 Password String Password or passphrase. Logon
555 NoLegs NumInGroup Number of InstrumentLeg repeating group instances. Security Definition Request
Security Definition
Security List
Derivative Security List
Execution Report
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
556 LegCurrency Currency Currency associated with a particular Leg’s quantity Security Definition Request
Security Definition
Security List
Derivative Security List
557 TotalNumSecurityTypes int Indicates total number of security types in the event that multiple Security Type messages are used to return results
558 NoSecurityTypes NumInGroup Number of Security Type repeating group instances. Security Types
559 SecurityListRequestType int Identifies the type – criteria of Security List Request
Valid values:
0 = Symbol
1 = SecurityType and – or CFICode
2 = Product
3 = TradingSessionID
4 = All Securities
Security List Request
Derivative Security List Request
560 SecurityRequestResult int The results returned to a Security Request message
Valid values:
0 = Valid request
1 = Invalid or unsupported request
2 = No instruments found that match selection criteria
3 = Not authorized to retrieve instrument data
4 = Instrument data temporarily unavailable
5 = Request for instrument data not supported
Security List
Derivative Security List
561 RoundLot Qty The trading lot size of a security Security Definition
Security List
562 MinTradeVol Qty The minimum trading volume for a security Security Definition
Security List
563 MultiLegRptTypeReq int Indicates the method of execution reporting requested by issuer of the order.
0 = Report by mulitleg security only (Do not report legs)
1 = Report by multileg security and by instrument legs belonging to the multileg security.
2 = Report by instrument legs belonging to the multileg security only (Do not report status of multileg security)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
564 LegPositionEffect char PositionEffect for leg of a multileg
See PositionEffect (77) field for description
Execution Report
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
565 LegCoveredOrUncovered int CoveredOrUncovered for leg of a multileg
See CoveredOrUncovered (203) field for description
Execution Report
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
566 LegPrice Price Price for leg of a multileg
See Price (44) field for description
Execution Report
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
567 TradSesStatusRejReason int Indicates the reason a Trading Session Status Request was rejected.
Valid values:
1 = Unknown or invalid TradingSessionID
Trading Session Status
568 TradeRequestID String Trade Capture Report Request ID Trade Capture Report Request
Trade Capture Report
569 TradeRequestType int Type of Trade Capture Report.
Valid values:
0 = All trades
1 = Matched trades matching Criteria provided on request (parties, order id, instrument, input source, etc.)
2 = Unmatched trades that match criteria
3 = Unreported trades that match criteria
4 = Advisories that match criteria
Trade Capture Report Request
570 PreviouslyReported Boolean Indicates if the trade capture report was previously reported to the counterparty
Valid values:
Y = previously reported to counterparty
N = not reported to counterparty
Trade Capture Report
571 TradeReportID String Unique identifier of trade capture report Trade Capture Report
572 TradeReportRefID String Reference identifier used with CANCEL and REPLACE transaction types. Trade Capture Report
573 MatchStatus char The status of this trade with respect to matching or comparison.
Valid values:
0 = compared, matched or affirmed
1 = uncompared, unmatched, or unaffirmed
2 = advisory or alert
Trade Capture Report Request
Trade Capture Report
574 MatchType String The point in the matching process at which this trade was matched.
Valid values:
For NYSE and AMEX:
A1 = Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator plus four badges and execution time (within two-minute window)
A2 = Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator plus four badges
A3 = Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator plus two badges and execution time (within two-minute window)
A4 = Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and
Special Trade Indicator plus two badges
A5 = Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator plus execution time (within two-minute window)
AQ = Compared records resulting from stamped advisories or specialist
accepts – pair-offs
S1 to S5 = Summarized Match using A1 to A5 exact match criteria except quantity is summarized
M1 = Exact Match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator minus badges and times
M2 = Summarized Match minus badges and times
MT = OCS Locked In
(…values continued in next row….)
For NASDAQ:
M1 = ACT M1 Match
M2 = ACT M2 Match
M3 = ACT Accepted Trade
M4 = ACT Default Trade
M5 = ACT Default After M2
M6 = ACT M6 Match
MT = Non-ACT
Trade Capture Report
575 OddLot Boolean This trade is to be treated as an odd lot
Values:
Y = treat as odd lot
N = treat as round lot
If this field is not specified, the default will be “N”
Trade Capture Report
576 NoClearingInstructions int Number of clearing instructions Trade Capture Report
577 ClearingInstruction int Eligibility of this trade for clearing and central counterparty processing
Valid values:
0 = process normally
1 = exclude from all netting
2 = bilateral netting only
3 = ex clearing
4 = special trade
5 = multilateral netting
6 = clear against central counterparty
7 = exclude from central counterparty
8 = Manual mode (pre-posting and – or pre-giveup)
9 = Automatic posting mode (trade posting to the position account number specified)
10 = Automatic give-up mode (trade give-up to the give-up destination number specified)
values above 4000 are reserved for agreement between parties
Trade Capture Report
578 TradeInputSource String Type of input device or system from which the trade was entered. Trade Capture Report Request
Trade Capture Report
579 TradeInputDevice String Specific device number, terminal number or station where trade was entered Trade Capture Report Request
Trade Capture Report
580 NoDates int Number of Date fields provided in date range Trade Capture Report Request
581 AccountType int Type of account associated with an order
Valid values:
1 = Account is carried on customer Side of Books
2 = Account is carried on non-Customer Side of books
3 = House Trader
4 = Floor Trader
6 = Account is carried on non-customer side of books and is cross margined
7 = Account is house trader and is cross margined
8 = Joint Backoffice Account (JBO)
Quote
Quote Cancel
Quote Status Request
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
Order Cancel Request
Order Cancel Reject
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
Trade Capture Report
582 CustOrderCapacity int Capacity of customer placing the order
1 = Member trading for their own account
2 = Clearing Firm trading for its proprietary account
3 = Member trading for another member
4 = All other
Primarily used by futures exchanges to indicate the CTICode (customer type indicator) as required by the US CFTC (Commodity Futures Trading Commission).
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
Trade Capture Report
583 ClOrdLinkID String Permits order originators to tie together groups of orders in which trades resulting from orders are associated for a specific purpose, for example the calculation of average execution price for a customer. New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
Order Cancel Request
Order Cancel Reject
Order Status Request
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
584 MassStatusReqID String Value assigned by issuer of Mass Status Request to uniquely identify the request Order Mass Status Request
585 MassStatusReqType int Mass Status Request Type
Valid values:
1 = Status for orders for a security
2 = Status for orders for an Underlying security
3 = Status for orders for a Product
4 = Status for orders for a CFICode
5 = Status for orders for a SecurityType
6 = Status for orders for a trading session
7 = Status for all orders
8 = Status for orders for a PartyID
Order Mass Status Request
586 OrigOrdModTime UTCTimestamp The most recent (or current) modification TransactTime (tag 60) reported on an Execution Report for the order.
The OrigOrdModTime is provided as an optional field on Order Cancel Request and Order Cancel Replace Requests to identify that the state of the order has not changed since the request was issued.
This is provided to support markets similar to Eurex and A – C – E.
Order Cancel/Replace Request (aka Order Modification Request)
Order Cancel Request
Order Cancel Reject
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
Cross Order Cancel Request
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
587 LegSettlmntTyp char Refer to values for SettlmntTyp[63] Execution Report
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
588 LegFutSettDate LocalMMktDate Refer to description for FutSettDate[64] Execution Report
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
589 DayBookingInst char Indicates whether or not automatic booking can occur.
0 = Can trigger booking without reference to the order initiator (“auto”)
1 = Speak with order initiator before booking (“speak first”)
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
590 BookingUnit char Indicates what constitutes a bookable unit.
0 = Each partial execution is a bookable unit
1 = Aggregate partial executions on this order, and book one trade per order
2 = Aggregate executions for this symbol, side, and settlement date
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
591 PreallocMethod char Indicates the method of preallocation.
0 = Pro-rata
1 = Do not pro-rata = discuss first
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
592 UnderlyingCountryOfIssue Country Underlying security’s CountryOfIssue.
See CountryOfIssue (470) field for description
Component Block – <UnderlyingInstrument>
593 UnderlyingStateOrProvinceOfIssue String Underlying security’s StateOrProvinceOfIssue.
See StateOrProvinceOfIssue (471) field for description
Component Block – <UnderlyingInstrument>
594 UnderlyingLocaleOfIssue String Underlying security’s LocaleOfIssue.
See LocaleOfIssue (472) field for description
Component Block – <UnderlyingInstrument>
595 UnderlyingInstrRegistry String Underlying security’s InstrRegistry.
See InstrRegistry (543) field for description
Component Block – <UnderlyingInstrument>
596 LegCountryOfIssue Country Multileg instrument’s individual leg security’s CountryOfIssue.
See CountryOfIssue (470) field for description
Component Block – <InstrumentLeg>
597 LegStateOrProvinceOfIssue String Multileg instrument’s individual leg security’s StateOrProvinceOfIssue.
See StateOrProvinceOfIssue (471) field for description
Component Block – <InstrumentLeg>
598 LegLocaleOfIssue String Multileg instrument’s individual leg security’s LocaleOfIssue.
See LocaleOfIssue (472) field for description
Component Block – <InstrumentLeg>
599 LegInstrRegistry String Multileg instrument’s individual leg security’s InstrRegistry.
See InstrRegistry (543) field for description
Component Block – <InstrumentLeg>
600 LegSymbol String Multileg instrument’s individual security’s Symbol.
See Symbol (55) field for description
Component Block – <InstrumentLeg>
601 LegSymbolSfx String Multileg instrument’s individual security’s SymbolSfx.
See SymbolSfx (65) field for description
Component Block – <InstrumentLeg>
602 LegSecurityID String Multileg instrument’s individual security’s SecurityID.
See SecurityID (48) field for description
Component Block – <InstrumentLeg>
603 LegSecurityIDSource String Multileg instrument’s individual security’s SecurityIDSource.
See SecurityIDSource (22) field for description
Component Block – <InstrumentLeg>
604 NoLegSecurityAltID String Multileg instrument’s individual security’s NoSecurityAltID.
See NoSecurityAltID (454) field for description
Component Block – <InstrumentLeg>
605 LegSecurityAltID String Multileg instrument’s individual security’s SecurityAltID.
See SecurityAltID (455) field for description
Component Block – <InstrumentLeg>
606 LegSecurityAltIDSource String Multileg instrument’s individual security’s SecurityAltIDSource.
See SecurityAltIDSource (456) field for description
Component Block – <InstrumentLeg>
607 LegProduct int Multileg instrument’s individual security’s Product.
See Product (460) field for description
Component Block – <InstrumentLeg>
608 LegCFICode String Multileg instrument’s individual security’s CFICode.
See CFICode (461) field for description
Component Block – <InstrumentLeg>
609 LegSecurityType String Multileg instrument’s individual security’s SecurityType.
See SecurityType (167) field for description
Component Block – <InstrumentLeg>
610 LegMaturityMonthYear month-year Multileg instrument’s individual security’s MaturityMonthYear.
See MaturityMonthYear (200) field for description
Component Block – <InstrumentLeg>
611 LegMaturityDate LocalMktDate Multileg instrument’s individual security’s MaturityDate.
See MaturityDate (541) field for description
Component Block – <InstrumentLeg>
612 LegStrikePrice Price Multileg instrument’s individual security’s StrikePrice.
See StrikePrice (202) field for description
Component Block – <InstrumentLeg>
613 LegOptAttribute char Multileg instrument’s individual security’s OptAttribute.
See OptAttribute (206) field for description
Component Block – <InstrumentLeg>
614 LegContractMultiplier float Multileg instrument’s individual security’s ContractMultiplier.
See ContractMultiplier (231) field for description
Component Block – <InstrumentLeg>
615 LegCouponRate Percentage Multileg instrument’s individual security’s CouponRate.
See CouponRate (223) field for description
Component Block – <InstrumentLeg>
616 LegSecurityExchange Exchange Multileg instrument’s individual security’s SecurityExchange.
See SecurityExchange (207) field for description
Component Block – <InstrumentLeg>
617 LegIssuer String Multileg instrument’s individual security’s Issuer.
See Issuer (106) field for description
Component Block – <InstrumentLeg>
618 EncodedLegIssuerLen Length Multileg instrument’s individual security’s EncodedIssuerLen.
See EncodedIssuerLen (348) field for description
Component Block – <InstrumentLeg>
619 EncodedLegIssuer data Multileg instrument’s individual security’s EncodedIssuer.
See EncodedIssuer (349) field for description
Component Block – <InstrumentLeg>
620 LegSecurityDesc String Multileg instrument’s individual security’s SecurityDesc.
See SecurityDesc (107) field for description
Component Block – <InstrumentLeg>
621 EncodedLegSecurityDescLen Length Multileg instrument’s individual security’s EncodedSecurityDescLen.
See EncodedSecurityDescLen (350) field for description
Component Block – <InstrumentLeg>
622 EncodedLegSecurityDesc data Multileg instrument’s individual security’s EncodedSecurityDesc.
See EncodedSecurityDesc (351) field for description
Component Block – <InstrumentLeg>
623 LegRatioQty float The ratio of quantity for this individual leg relative to the entire multileg security. Component Block – <InstrumentLeg>
624 LegSide char The side of this individual leg (multileg security).
See Side (54) field for description and values
Component Block – <InstrumentLeg>
625 TradingSessionSubID String Optional market assigned sub identifier for a trading session. Usage is determined by market or counterparties.
Used by US based futures markets to identify exchange specific execution time bracket codes as required by US market regulations.
Advertisement
Quote Request
Quote Request Reject
RFQ Request
Quote
Quote Cancel
Quote Status Request
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
Mass Quote Acknowledgement
Market Data Request
Market Data – Snapshot / Full Refresh
Market Data – Incremental Refresh
Security Definition Request
Security Definition
Security Type Request
Security Types
Security List Request
Security List
Derivative Security List Request
Derivative Security List
Derivative Security List
Security Status
Trading Session Status Request
Trading Session Status
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
Order Mass Cancel Request
Order Mass Cancel Report
Order Mass Status Request
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
Bid Request
Bid Response
New Order – List
Allocation
Settlement Instructions
Trade Capture Report
626 AllocType int Describes the specific type or purpose of an Allocation message (i.e. “Buyside Calculated”)
Valid values:
1 = Buyside Calculated (includes MiscFees and NetMoney)
2 = Buyside Preliminary (without MiscFees and NetMoney)
3 = Sellside Calculated Using Preliminary (includes MiscFees and NetMoney)
4 = Sellside Calculated Without Preliminary (sent unsolicited by sellside, includes MiscFees and NetMoney)
5 = Buyside Ready-To-Book – Single Order
6 = Buyside Ready-To-Book – Combined Set of Orders
(see Volume 1: “Glossary” for value definitions)
Allocation
627 NoHops NumInGroup Number of HopCompID entries in repeating group. Standard Message Header
628 HopCompID String Assigned value used to identify the third party firm which delivered a specific message either from the firm which originated the message or from another third party (if multiple “hops” are performed). It is recommended that this value be the SenderCompID (49) of the third party.
Applicable when messages are communicated – re-distributed via third parties which function as service bureaus or “hubs”. Only applicable if OnBehalfOfCompID (115) is being used.
Standard Message Header
629 HopSendingTime UTCTimestamp Time that HopCompID (628) sent the message. It is recommended that this value be the SendingTime (52) of the message sent by the third party.
Applicable when messages are communicated – re-distributed via third parties which function as service bureaus or “hubs”. Only applicable if OnBehalfOfCompID (115) is being used.
Standard Message Header
630 HopRefID SeqNum Reference identifier assigned by HopCompID (628) associated with the message sent. It is recommended that this value be the MsgSeqNum (34) of the message sent by the third party.
Applicable when messages are communicated – re-distributed via third parties which function as service bureaus or “hubs”. Only applicable if OnBehalfOfCompID (115) is being used.
Standard Message Header
631 MidPx Price Mid price – rate Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
632 BidYield Percentage Bid yield Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
633 MidYield Percentage Mid yield Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
634 OfferYield Percentage Offer yield Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
635 ClearingFeeIndicator String Indicates type of fee being assessed of the customer for trade executions at an exchange. Applicable for futures markets only at this time.
Valid Values (source CBOT, CME, NYBOT, and NYMEX):
B = CBOE Member
C = Non-member and Customer
E = Equity Member and Clearing Member
F = Full and Associate Member trading for own account and as floor
Brokers
H = 106.H and 106.J Firms
I = GIM, IDEM and COM Membership Interest Holders
L = Lessee and 106.F Employees
M = All other ownership types
1 = 1st year delegate trading for his own account
2 = 2nd year delegate trading for his own account
3 = 3rd year delegate trading for his own account
4 = 4th year delegate trading for his own account
5 = 5th year delegate trading for his own account
9 = 6th year and beyond delegate trading for his own account
New Order – Single
Execution Report
Order Cancel/Replace Request (aka Order Modification Request)
New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
New Order – List
Trade Capture Report
636 WorkingIndicator Boolean Indicates if the order is currently being worked. Applicable only for OrdStatus = “New”. For open outcry markets this indicates that the order is being worked in the crowd. For electronic markets it indicates that the order has transitioned from a contingent order to a market order.
Valid values:
Y = Order is currently being worked
N = Order has been accepted but not yet in a working state
Execution Report
Order Cancel Reject
List Status
637 LegLastPx Price Execution price assigned to a leg of a multileg instrument.
See LastPx (31) field for description and values
Execution Report
638 PriorityIndicator int Indicates if a Cancel – Replace has caused an order to lose book priority.
Valid values:
0 = Priority Unchanged
1 = Lost Priority as result of order change
Execution Report
639 PriceImprovement PriceOffset Amount of price improvement. Execution Report
640 Price2 Price Price of the future part of a F – X swap order.
See Price (44) for description.
Quote Request
Quote Request Reject
New Order – Single
Order Cancel/Replace Request (aka Order Modification Request)
New Order – List
641 LastForwardPoints2 PriceOffset F – X forward points of the future part of a F – X swap order added to LastSpotRate. May be a negative value. Execution Report
642 BidForwardPoints2 PriceOffset Bid F – X forward points of the future portion of a F – X swap quote added to spot rate. May be a negative value. Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
643 OfferForwardPoints2 PriceOffset Offer F – X forward points of the future portion of a F – X swap quote added to spot rate. May be a negative value. Quote
Quote Status Report
Mass Quote
Mass Quote Acknowledgement
644 RFQReqID String RFQ Request ID – used to identify an RFQ Request. Quote Request
Quote Request Reject
RFQ Request
645 MktBidPx Price Used to indicate the best bid in a market Quote
Quote Status Report
646 MktOfferPx Price Used to indicate the best offer in a market Quote
Quote Status Report
647 MinBidSize Qty Used to indicate a minimum quantity for a bid. If this field is used the BidSize field is interpreted as the maximum bid size Quote
Quote Status Report
648 MinOfferSize Qty Used to indicate a minimum quantity for an offer. If this field is used the OfferSize field is interpreted as the maximum offer size. Quote
Quote Status Report
649 QuoteStatusReqID String Unique identifier for Quote Status Request. Quote Status Request
Quote Status Report
650 LegalConfirm Boolean Indicates that this message is to serve as the final and legal confirmation.
Valid values:
Y = Legal confirm
N = Does not constitute a legal confirm
Allocation
Allocation ACK
651 UnderlyingLastPx Price The calculated or traded price for the underlying instrument that corresponds to a derivative. Used for transactions that include the cash instrument and the derivative. Execution Report
652 UnderlyingLastQty Qty The calculated or traded quantity for the underlying instrument that corresponds to a derivative. Used for transactions that include the cash instrument and the derivative. Execution Report
653 SecDefStatus int State of a security definition request made to a market. Useful for markets, such as derivatives markets, where market participants are permitted to define instruments for subsequent trading
Valid values:
0 = Pending Approval
1 = Approved (Accepted)
2 = Rejected
3 = Unauthorized request
4 = Invalid definition request
654 LegRefID String Unique indicator for a specific leg. Execution Report
New Order – Multileg
Multileg Order Cancel/Replace Request (aka Multileg Order Modification Request)
655 ContraLegRefID String Unique indicator for a specific leg for the ContraBroker (375). Execution Report
656 SettlCurrBidFxRate float Foreign exchange rate used to compute the bid “SettlCurrAmt” from Currency to SettlCurrency Quote
Quote Status Report
657 SettlCurrOfferFxRate float Foreign exchange rate used to compute the offer “SettlCurrAmt” from Currency to SettlCurrency Quote
Quote Status Report
658 QuoteRequestRejectReason Int Reason Quote was rejected:
Valid Values:
1 = Unknown symbol (Security)
2 = Exchange(Security) closed
3 = Quote Request exceeds limit
4 = Too late to enter
5 = Invalid price
6 = Not authorized to request quote
Quote Request Reject
659 SideComplianceID String ID within repeating group of sides which is used to represent this transaction for compliance purposes (e.g. OATS reporting). New Order – Cross
Cross Order Cancel / Replace Request (aka Cross Order Modification Request)

Java questions and answers

http://inheritingjava.blogspot.com/p/sun-certified-java-programmer-scjp.html

Java Volatile

If you are working with the multi-threaded programming, the volatile keyword will be more useful. When multiple threads using the same variable, each thread will have its own copy of the local cache for that variable. So, when it’s updating the value, it is actually updated in the local cache not in the main variable memory. The other thread which is using the same variable doesn’t know anything about the values changed by the another thread. To avoid this problem, if you declare a variable as volatile, then it will not be stored in the local cache. Whenever thread are updating the values, it is updated to the main memory. So, other threads can access the updated value.

package javabeat.samples;

class ExampleThread extends Thread {
private volatile int testValue;
public ExampleThread(String str){
super(str);
}
public void run() {
for (int i = 0; i < 3; i++) {
try {
System.out.println(getName() + ” : “+i);
if (getName().equals(“Thread 1 “))
{
testValue = 10;
}
if (getName().equals(“Thread 2 “))
{
System.out.println( “Test Value : ” + testValue);
}
Thread.sleep(1000);
} catch (InterruptedException exception) {
exception.printStackTrace();
}
}
}
}
public class VolatileExample {
public static void main(String args[]) {
new ExampleThread(“Thread 1 “).start();
new ExampleThread(“Thread 2 “).start();
}
}

 

more info:

 

Volatile… A volatile modifier is mainly used in mutiple threads. Java allows threads can keep private working copies of the shared variables(caches).These working copies need be updated with the master copies in the main memory.

But possible of data get messed up. To avoid this data corruption use volatile modifier or synchronized .volatile means everything done in the main memory only not in the private working copies (caches).( Volatile primitives cannot be cached ).

So volatile guarantes that any thread will read most recently written value.Because they all in the main memory not in the cache…Also volatile fields can be slower than non volatile.Because they are in main memory not in the cache.But volatile is useful to avoid concurrency problem.

Blocking Queue

A blocking queue is a queue that blocks when you try to dequeue from it and the queue is empty, or if you try to enqueue items to it and the queue is already full. A thread trying to dequeue from an empty queue is blocked until some other thread inserts an item into the queue. A thread trying to enqueue an item in a full queue is blocked until some other thread makes space in the queue, either by dequeuing one or more items or clearing the queue completely.

Here is a diagram showing two threads cooperating via a blocking queue:

A BlockingQueue with one thread putting into it, and another thread taking from it.
A BlockingQueue with one thread putting into it, and another thread taking from it.

Java 5 comes with blocking queue implementations in the java.util.concurrent package. You can read about that class in my java.util.concurrent.BlockingQueue tutorial. Even if Java 5 comes with a blocking queue implementation, it can be useful to know the theory behind their implementation.

 

Blocking Queue Implementation

The implementation of a blocking queue looks similar to a Bounded Semaphore. Here is a simple implementation of a blocking queue:

public class BlockingQueue {

  private List queue = new LinkedList();
  private int  limit = 10;

  public BlockingQueue(int limit){
    this.limit = limit;
  }

  public synchronized void enqueue(Object item)
  throws InterruptedException  {
    while(this.queue.size() == this.limit) {
      wait();
    }
    if(this.queue.size() == 0) {
      notifyAll();
    }
    this.queue.add(item);
  }

  public synchronized Object dequeue()
  throws InterruptedException{
    while(this.queue.size() == 0){
      wait();
    }
    if(this.queue.size() == this.limit){
      notifyAll();
    }

    return this.queue.remove(0);
  }

}

Notice how notifyAll() is only called from enqueue() and dequeue() if the queue size is equal to the size bounds (0 or limit). If the queue size is not equal to either bound when enqueue() ordequeue() is called, there can be no threads waiting to either enqueue or dequeue items.

JGrid sample info

import de.jgrid.JGrid;
import java.beans.PropertyVetoException;
import javax.swing.DefaultListModel;
import javax.swing.JScrollPane;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import org.book.domain.Book;
import org.openide.explorer.ExplorerManager;
import org.openide.nodes.Node;
import org.openide.util.Exceptions;

public class JGridView extends JScrollPane {

    @Override
    public void addNotify() {
        super.addNotify();
        final ExplorerManager em = ExplorerManager.find(this);
        if (em != null) {
            final JGrid grid = new JGrid();
            Node root = em.getRootContext();
            final Node[] nodes = root.getChildren().getNodes();
            final Book[] books = new Book[nodes.length];
            for (int i = 0; i < nodes.length; i++) {
                Node node = nodes[i];
                books[i] = node.getLookup().lookup(Book.class);
            }
            grid.getCellRendererManager().setDefaultRenderer(new OpenLibraryGridRenderer());
            grid.setModel(new DefaultListModel() {
                @Override
                public int getSize() {
                    return books.length;
                }
                @Override
                public Object getElementAt(int i) {
                    return books[i];
                }
            });
            grid.setUI(new BookshelfUI());
            grid.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
                @Override
                public void valueChanged(ListSelectionEvent e) {
                    //Somehow compare the selected item
                    //with the list of books and find a matching book:
                    int selectedIndex = grid.getSelectedIndex();
                    for (int i = 0; i < nodes.length; i++) {
                        String nodeName = books[i].getTitel();
                        if (String.valueOf(selectedIndex).equals(nodeName)) {
                            try {
                                em.setSelectedNodes(new Node[]{nodes[i]});
                            } catch (PropertyVetoException ex) {
                                Exceptions.printStackTrace(ex);
                            }    
                        }
                    }
                }
            });
            setViewportView(grid);
        }
    }

}

Above, you see references to OpenLibraryGridRenderer and BookshelfUI, both of which are part of the “JGrid-Bookshelf” sample in the JGrid download.

The above is specific for Book objects, i.e., that’s one of the samples that comes with the JGrid download. I need to make the above more general, so that any kind of object can be handled without requiring changes to the JGridView.

Once you have the above, it’s easy to integrate it into a TopComponent, just like any other NetBeans explorer view.

glassfish server log location

/SDK/domains/domain1/applications/j2ee-modules/PEServlet/dist