@@ -9,11 +9,11 @@ Not all FIX enumeration values are listed in the samples.
9
9
## SBE Message Schema
10
10
``` xml
11
11
<?xml version =" 1.0" encoding =" UTF-8" standalone =" yes" ?>
12
- <sbe : messageSchema xmlns : sbe =" http://fixprotocol.io/2017/sbe" xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance" package =" Examples" id =" 91" version =" 0" byteOrder =" littleEndian" >
12
+ <sbe : messageSchema xmlns : sbe =" http://fixprotocol.io/2017/sbe" xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance" package =" Examples" id =" 91" version =" 0" byteOrder =" littleEndian" xsi : schemaLocation = " http://fixprotocol.io/2017/sbe sbe-2.0rc2.xsd " >
13
13
<types >
14
14
<type name =" date" primitiveType =" uint16" />
15
15
<type name =" enumEncoding" primitiveType =" char" />
16
- <type name =" idString" length =" 8" primitiveType =" char" />
16
+ <type name =" idString" length =" 8" primitiveType =" char" characterEncoding = " ISO_8859_1 " />
17
17
<type name =" intEnumEncoding" primitiveType =" uint8" />
18
18
<type name =" currency" length =" 3" primitiveType =" char" description =" ISO 4217" />
19
19
<composite name =" DATA" >
@@ -97,38 +97,40 @@ Not all FIX enumeration values are listed in the samples.
97
97
<validValue name =" Sell" >2</validValue >
98
98
</enum >
99
99
</types >
100
- <sbe : message name =" BusinessMessageReject" id =" 97" blockLength =" 9" semanticType =" j" >
101
- <field name =" BusinesRejectRefId" id =" 379" type =" idString" offset =" 0" semanticType =" String" />
102
- <field name =" BusinessRejectReason" id =" 380" type =" businessRejectReasonEnum" offset =" 8" semanticType =" int" />
103
- <data name =" Text" id =" 58" type =" DATA" semanticType =" data" />
104
- </sbe : message >
105
- <sbe : message name =" ExecutionReport" id =" 98" blockLength =" 42" semanticType =" 8" >
106
- <field name =" OrderID" id =" 37" type =" idString" offset =" 0" semanticType =" String" />
107
- <field name =" ExecID" id =" 17" type =" idString" offset =" 8" semanticType =" String" />
108
- <field name =" ExecType" id =" 150" type =" execTypeEnum" offset =" 16" semanticType =" char" />
109
- <field name =" OrdStatus" id =" 39" type =" ordStatusEnum" offset =" 17" semanticType =" char" />
110
- <field name =" Symbol" id =" 55" type =" idString" offset =" 18" semanticType =" String" />
111
- <field name =" MaturityMonthYear" id =" 200" type =" MONTH_YEAR" offset =" 26" semanticType =" MonthYear" />
112
- <field name =" Side" id =" 54" type =" sideEnum" offset =" 31" semanticType =" char" />
113
- <field name =" LeavesQty" id =" 151" type =" qtyEncoding" offset =" 32" semanticType =" Qty" />
114
- <field name =" CumQty" id =" 14" type =" qtyEncoding" offset =" 36" semanticType =" Qty" />
115
- <field name =" TradeDate" id =" 75" type =" date" offset =" 40" semanticType =" LocalMktDate" />
116
- <group name =" FillsGrp" id =" 2112" blockLength =" 12" dimensionType =" groupSizeEncoding" >
117
- <field name =" FillPx" id =" 1364" type =" decimalEncoding" offset =" 0" semanticType =" Price" />
118
- <field name =" FillQty" id =" 1365" type =" qtyEncoding" offset =" 8" semanticType =" Qty" />
119
- </group >
120
- </sbe : message >
121
- <sbe : message name =" NewOrderSingle" id =" 99" blockLength =" 54" semanticType =" D" >
122
- <field name =" ClOrdId" id =" 11" type =" idString" offset =" 0" semanticType =" String" />
123
- <field name =" Account" id =" 1" type =" idString" offset =" 8" semanticType =" String" />
124
- <field name =" Symbol" id =" 55" type =" idString" offset =" 16" semanticType =" String" />
125
- <field name =" Side" id =" 54" type =" sideEnum" offset =" 24" semanticType =" char" />
126
- <field name =" TransactTime" id =" 60" type =" timestampEncoding" offset =" 25" semanticType =" UTCTimestamp" />
127
- <field name =" OrderQty" id =" 38" type =" qtyEncoding" offset =" 33" semanticType =" Qty" />
128
- <field name =" OrdType" id =" 40" type =" ordTypeEnum" offset =" 37" semanticType =" char" />
129
- <field name =" Price" id =" 44" type =" decimalEncoding" offset =" 38" semanticType =" Price" presence =" optional" />
130
- <field name =" StopPx" id =" 99" type =" decimalEncoding" offset =" 46" semanticType =" Price" presence =" optional" />
131
- </sbe : message >
100
+ <messages >
101
+ <sbe : message name =" BusinessMessageReject" id =" 97" blockLength =" 9" semanticType =" j" >
102
+ <field name =" BusinesRejectRefId" id =" 379" type =" idString" offset =" 0" semanticType =" String" />
103
+ <field name =" BusinessRejectReason" id =" 380" type =" businessRejectReasonEnum" offset =" 8" semanticType =" int" />
104
+ <data name =" Text" id =" 58" type =" DATA" semanticType =" data" />
105
+ </sbe : message >
106
+ <sbe : message name =" ExecutionReport" id =" 98" blockLength =" 42" semanticType =" 8" >
107
+ <field name =" OrderID" id =" 37" type =" idString" offset =" 0" semanticType =" String" />
108
+ <field name =" ExecID" id =" 17" type =" idString" offset =" 8" semanticType =" String" />
109
+ <field name =" ExecType" id =" 150" type =" execTypeEnum" offset =" 16" semanticType =" char" />
110
+ <field name =" OrdStatus" id =" 39" type =" ordStatusEnum" offset =" 17" semanticType =" char" />
111
+ <field name =" Symbol" id =" 55" type =" idString" offset =" 18" semanticType =" String" />
112
+ <field name =" MaturityMonthYear" id =" 200" type =" MONTH_YEAR" offset =" 26" semanticType =" MonthYear" />
113
+ <field name =" Side" id =" 54" type =" sideEnum" offset =" 31" semanticType =" char" />
114
+ <field name =" LeavesQty" id =" 151" type =" qtyEncoding" offset =" 32" semanticType =" Qty" />
115
+ <field name =" CumQty" id =" 14" type =" qtyEncoding" offset =" 36" semanticType =" Qty" />
116
+ <field name =" TradeDate" id =" 75" type =" date" offset =" 40" semanticType =" LocalMktDate" />
117
+ <group name =" FillsGrp" id =" 2112" blockLength =" 12" dimensionType =" groupSizeEncoding" >
118
+ <field name =" FillPx" id =" 1364" type =" decimalEncoding" offset =" 0" semanticType =" Price" />
119
+ <field name =" FillQty" id =" 1365" type =" qtyEncoding" offset =" 8" semanticType =" Qty" />
120
+ </group >
121
+ </sbe : message >
122
+ <sbe : message name =" NewOrderSingle" id =" 99" blockLength =" 54" semanticType =" D" >
123
+ <field name =" ClOrdId" id =" 11" type =" idString" offset =" 0" semanticType =" String" />
124
+ <field name =" Account" id =" 1" type =" idString" offset =" 8" semanticType =" String" />
125
+ <field name =" Symbol" id =" 55" type =" idString" offset =" 16" semanticType =" String" />
126
+ <field name =" Side" id =" 54" type =" sideEnum" offset =" 24" semanticType =" char" />
127
+ <field name =" TransactTime" id =" 60" type =" timestampEncoding" offset =" 25" semanticType =" UTCTimestamp" />
128
+ <field name =" OrderQty" id =" 38" type =" qtyEncoding" offset =" 33" semanticType =" Qty" />
129
+ <field name =" OrdType" id =" 40" type =" ordTypeEnum" offset =" 37" semanticType =" char" />
130
+ <field name =" Price" id =" 44" type =" decimalEncoding" offset =" 38" semanticType =" Price" presence =" optional" />
131
+ <field name =" StopPx" id =" 99" type =" decimalEncoding" offset =" 46" semanticType =" Price" presence =" optional" />
132
+ </sbe : message >
133
+ </messages >
132
134
</sbe : messageSchema >
133
135
```
134
136
@@ -184,13 +186,11 @@ Hexadecimal and ASCII representations (little-endian byte order):
184
186
```
185
187
00 00 00 48 eb 50 36 00 63 00 5b 00 00 00 00 00 : H P6 c [
186
188
00 00 4f 52 44 30 30 30 30 31 41 43 43 54 30 31 : ORD00001ACCT01
187
- 00 00 47 45 4d 34 00 00 00 00 31 00 a0 37 3a ce : GEM4 1 7:
188
- 10 40 15 07 00 00 00 32 1a 85 01 00 00 00 00 00 : @ 2
189
+ 00 00 47 45 4d 34 00 00 00 00 31 c0 1a 31 96 2a : GEM4 1 1 *
190
+ 5e b0 15 07 00 00 00 32 1a 85 01 00 00 00 00 00 :^ 2
189
191
00 00 00 00 00 00 00 80 :
190
192
```
191
-
192
- ** Interpretation**
193
-
193
+ ### Interpretation
194
194
| Wire format| Field ID| Name| Offset| Length| Interpreted value|
195
195
| -----------| -------:| ----| -----:| -----:| -----------------|
196
196
| ` 00000048 ` | | SOFH message length | 0 | 4 | 72 |
@@ -205,11 +205,12 @@ Hexadecimal and ASCII representations (little-endian byte order):
205
205
| ` 4143435430310000 ` | 1 | Account | 8 | 8 | ACCT01 |
206
206
| ` 47454d3400000000 ` | 55 | Symbol | 16 | 8 | GEM4 |
207
207
| ` 31 ` | 54 | Side | 24 | 1 | Buy |
208
- | ` 00a0373ace104015 ` | 60 | TransactTime | 25 | 8 | 2018 -07-10T17:05:51.232Z |
208
+ | ` c01a31962a5eb015 ` | 60 | TransactTime | 25 | 8 | 2019 -07-11T13:43:27.699Z |
209
209
| ` 07000000 ` | 38 | OrderQty | 33 | 4 | 7 |
210
210
| ` 32 ` | 40 | OrdType | 37 | 1 | Limit |
211
211
| ` 1a85010000000000 ` | 44 | Price | 38 | 8 | 99.610 |
212
- | ` 0000000000000080 ` | 99 | StopPx | 46 | 8 | null | |
212
+ | ` 0000000000000080 ` | 99 | StopPx | 46 | 8 | null |
213
+
213
214
214
215
Message with a repeating group
215
216
------------------------------
@@ -236,8 +237,7 @@ Hexadecimal and ASCII representations (little-endian byte order):
236
237
ff 31 01 00 00 00 06 00 00 00 75 3e 0c 00 02 00 : 1 u>
237
238
00 00 00 00 1a 85 01 00 00 00 00 00 02 00 00 00 :
238
239
24 85 01 00 00 00 00 00 04 00 00 00 :$
239
- ```
240
-
240
+ ```
241
241
### Interpretation
242
242
Offset is from beginning of block.
243
243
@@ -266,26 +266,22 @@ Offset is from beginning of block.
266
266
| ` 0000 ` | | No. of var data | 6 | 2 | 0 |
267
267
| ` 1a85010000000000 ` | 1364 | FillPx | 0 | 8 | 99.610 |
268
268
| ` 02000000 ` | 1365 | FillQty | 8 | 4 | 2 |
269
- | ` 2485010000000000 ` | 1364 | FillPx | 0 | 8 | 99.620 |
269
+ | ` 2485010000000000 ` | 1364 | FillPx | 0 | 8 | 99.620 |
270
270
| ` 04000000 ` | 1365 | FillQty | 8 | 4 | 4 |
271
271
272
272
Message with a variable-length field
273
273
------------------------------------
274
274
275
275
### Wire format of a business reject message
276
276
277
- Hexadecimal and ASCII representations (little-endian byte order):
278
-
279
277
```
280
278
00 00 00 44 eb 50 09 00 61 00 5b 00 00 00 00 00 : D P a [
281
279
01 00 4f 52 44 30 30 30 30 31 06 27 00 4e 6f 74 : ORD00001 ' Not
282
280
20 61 75 74 68 6f 72 69 7a 65 64 20 74 6f 20 74 : authorized to t
283
281
72 61 64 65 20 74 68 61 74 20 69 6e 73 74 72 75 :rade that instru
284
282
6d 65 6e 74 :ment
285
- ```
286
-
283
+ ```
287
284
### Interpretation
288
-
289
285
| Wire format| Field ID| Name| Offset| Length| Interpreted value|
290
286
| -----------| -------:| ----| -----:| -----:| -----------------|
291
287
| ` 00000044 ` | | SOFH message length | 0 | 4 | 68 |
0 commit comments