| Alphanumeric | String | A string, composed only of letters and digits [a-zA-Z0-9]. When an Alphanumeric type is described, it will include a number, indicating the maximum length of the field. For example, Alphanumeric (7) means that the field can contain up to 7 characters. Alphanumeric values are case sensitive. | |
| Boolean | none | A value with two choices: true or false. In CSV representation, the value must equal true or false (no quotation marks). In JSON representation, if the field is not present, the value is considered false. Boolean values are NOT case sensitive. | |
| CATReporterIMID | String | Alphanumeric (7) - a CAT Reporter IMID. | |
| CATSubmitterID | String | A unique ID assigned by CAT to the CAT Reporting Agent. | |
| Date | none | An 8-digit integer representing the date in YYYYMMDD. | |
| ExchangeID | String | Alphanumeric (7) – identifier that applies to exchanges. | |
| IndustryMemberID | String | Text (16) – CRD and SRO-assigned Market Participant Identifier assigned by an SRO to one of its members.
Formatted as <CRD of the Market Participant>:<SRO-assigned Market Participant Identifier>.
Example: CRD 123, IMID ABCD is populated as 123:ABCD | |
| Integer | none | An integer value (positive, negative, or zero), with no decimal fraction component, in the inclusive range from −9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 (the same range as a 64-bit signed integer). | |
| MessageType | String | Alphanumeric (5) indicating the type of message being reported. | |
| NumInGroup | Integer | Unsigned field representing the number of entries in a repeating group. Value must be positive. | |
| numeric | none | Composed of digits with an optional decimal point. Values must represent the exact value as per the examples: 1235 -1235 1235.67 -1235.67 Numeric data types described in this document will include two numbers, the first is the maximum number of digits before the decimal point, and the second is the maximum number of digits after the decimal point. For example, Numeric (6,4) indicates that the number can have a maximum of 6 digits before the decimal point and a maximum of 4 digits after the decimal point. Examples which comply with Numeric (6,4) include: -999999.9999 -0.1 0 0.0001 100 100.100 999999.99 0.25 099999.9990 0999999.99990 Numeric values must always include a digit in the portion before the decimal. The fractional portion is optional (for example, 0.25 cannot be represented as .25). Examples which do not comply with Numeric (6,4) include: 1234567.0 .123 1.12345 10. 40a Numeric data types that require 0 digits after the decimal place should not include a decimal. The following example does not comply with Numeric (6,0): 1234.5 1234.0 | |
| Price | numeric | Numeric (10,8), which supports prices in the inclusive range from -9999999999.99999999 to 9999999999.99999999. | |
| RealQuantity | numeric | Numeric (12,6) with up to 12 digits before the decimal point and up to 6 digits after the decimal point. However, the type Real Quantity cannot have trailing zeros in the decimal quantities. Trailing zeros in the decimal quantity will result in a rejection. For example, a value of 100.00 would not be accepted for the type Real Quantity, only 100 would be accepted. Similarly, a value of 100.10 would not be accepted, only 100.1 is acceptable for the type Real Quantity. Real Quantity must not be a negative value. | |
| WholeQuantity | numeric | Numeric (12,0). An integer value with no decimal fraction component. Whole Quantity must not be a negative value. | |
| String | none | Alpha-numeric free format strings, can include any character or punctuation except the delimiter. All String fields are case sensitive (i.e. morstatt != Morstatt). | |
| StringList | none | | |
| Symbol | String | Text (22). Refer to Section 2.4.3 and Section 2.4.4 for more details on Equity and Options symbols. The string is case sensitive. | |
| Text | String | A string, composed of any printable ASCII character from 32 to 126. The string may not include the following characters which serve as delimiters: comma (ASCII decimal 44, hex 2C), pipe (ASCII decimal 124, hex 7C), double quote (ASCII decimal 34, hex 22), and @ (ASCII decimal 64, hex 40).
When a Text data type is described, it will include a number, indicating the maximum length of the field. For example, Text (7) means that the field can contain up to 7 characters. Text values are case sensitive.
When represented in JSON, the following rule applies:
Backslash ‘\’ is a reserved printable character in JSON and must be escaped in order to be used in strings by inserting a backslash prior to it within the string. For example: routedOrderID = 1234\ABCD must be reported to CAT as “routedOrderID”:”1234\\ABCD”.
If the backslash is not escaped, it will be omitted from the string. For example, if the following is reported to CAT, “routedOrderID”:”1234\ABCD”, it will be stored as routedOrderID = 1234ABCD. Escape characters do not participate in the field value length. | |
| Timestamp | none | A timestamp represents a moment in time. Two timestamp formats are supported including STRING and NUMBER. Timestamps formatted as a STRING have a maximum length of 25 and are formatted as ‘YYYYMMDD HHMMSS.CCCNNNNNN’ with the Date and Time portions, separated by a space (ASCII decimal 32, hex 20) or the letter T (ASCII decimal 84, hex 54). All timestamps submitted in STRING format must be in Eastern Time (ET). • The Date portion must include four digit year, two digit month, and two digit day. Valid values: YYYY = 0000 - 9999, MM = 00 - 12, DD = 00 – 31. • The Time portion must include a two digit hour, two digit minute, two digit seconds. Valid values: HH = 00 - 23, MM = 01 - 59, SS = 01 - 59, CCC = 000 – 999, NNNNNN = 000000 - 999999. Examples which comply with Timestamp in STRING format: • 20190617T000120.000000000 • 20190617T000120 • 20190617T000120.000 • 20170107T213000.123456789 • 20170107 213000.123456789 • 20190617 000120.123000000
Examples which do not comply with Timestamp in STRING format: • 20190617T0120 • 20190617T000120.
As an alternative format, timestamp can be submitted as a value of type Unsigned, representing the number of nanoseconds that have elapsed since 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970, not counting leap seconds. This is also commonly known as POSIX time or UNIX time. The same point in time from the above example would be represented as the number 1483842600123456789. Timestamps submitted in UTC must not be adjusted for Eastern Time.
Note that the data type is different between the two formats. In JSON, the first representation requires it to be surrounded by double quotes, while the second does not.
Examples which comply with Timestamp in NUMBER format: • 1483842600123456789
Examples which do not comply with Timestamp in NUMBER format: • 20190617T000120 • 20190617 000120 | |
| Unsigned | Integer | An unsigned value, greater than or equal to zero, with no decimal fraction component, in the inclusive range from 0 to 18,446,744,073,709,551,615 (the same range as a 64-bit unsigned integer). | |
| | | |
| | | |
| | | |