Information technology — Financial information exchange — Simple binary encoding

This document provides the normative specification of Simple Binary Encoding (SBE), which is one of the possible syntaxes for FIX messages, but not limited to FIX messages. The scope comprises the encoding (wire format) and the message schema for SBE.

Titre manque

General Information

Status
Published
Publication Date
22-Apr-2025
Current Stage
6060 - International Standard published
Start Date
23-Apr-2025
Due Date
30-Jan-2026
Completion Date
23-Apr-2025
Ref Project
Standard
ISO/IEC 25390:2025 - Information technology — Financial information exchange — Simple binary encoding Released:23. 04. 2025
English language
55 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


International
Standard
ISO/IEC 25390
First edition
Information technology — Financial
2025-04
information exchange — Simple
binary encoding
Reference number
© ISO/IEC 2025
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting on
the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address below
or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
© ISO/IEC 2025 – All rights reserved
ii
Table of Contents
Table of Contents . iii
Foreword .vii
Introduction . viii
1 Scope . 1
2 Normative references . 1
3 Terms and definitions . 1
3.1 datatype . 1
3.2 encoding . 1
3.3 field .1
3.4 message schema . 1
3.5 message template. 2
3.6 session protocol . 2
3.7 XML schema . 2
3.8 Specification terms . 2
4 Objectives . 2
4.1 General . 2
4.2 Binary type system . 2
4.3 Design principles . 2
4.4 Message schema . 3
4.5 Documentation . 3
4.5.1 General. 3
4.5.2 Document format . 3
5 Field Encoding . 3
5.1 Field aspects . 3
5.1.1 General. 3
5.1.2 Semantic datatype . 3
5.1.3 Encoding . 4
5.1.4 Metadata . 4
5.1.5 Field presence . 4
5.1.6 Default value . 4
5.2 FIX datatype summary . 4
5.3 Common field schema attributes . 7
5.3.1 General. 7
5.3.2 Inherited attributes. 8
5.3.3 Non-FIX types . 8
5.4 Integer encoding . 8
5.4.1 General. 8
5.4.2 Primitive type encodings . 8
5.4.3 Range attributes for integer fields . 8
5.4.4 Byte order . 9
5.4.5 Integer encoding specifications . 9
5.4.6 Examples of integer fields . 9
5.5 Decimal encoding . 10
5.5.1 General. 10
5.5.2 Composite encodings . 10
5.5.3 Range attributes for decimal fields . 10
5.5.4 Encoding specifications for decimal types . 11
5.5.5 Composite encoding padding . 11
5.5.6 Examples of decimal fields . 11
5.6 Float encoding . 11
5.6.1 General. 11
5.6.2 Primitive types . 12
5.6.3 Null values . 12
© ISO/IEC 2025 – All rights reserved
iii
5.6.4 Byte order . 12
5.6.5 Float encoding specifications . 12
5.6.6 Examples of floating point fields . 12
5.7 String encodings . 12
5.7.1 General. 12
5.7.2 Character . 12
5.7.3 Fixed-length character array . 13
5.7.4 Variable-length string encoding . 14
5.7.5 Range attributes for string Length . 14
5.7.6 Encoding specifications for variable-length string . 14
5.7.7 Example of a variable-length string field . 15
5.8 Data encodings . 15
5.8.1 General. 15
5.8.2 Fixed-length data . 15
5.8.3 Variable-length data encoding . 15
5.8.4 Range attributes for variable-length data Length . 16
5.8.5 Encoding specifications for variable-length data . 16
5.8.6 Example of a data field . 16
5.9 MonthYear encoding . 16
5.9.1 General. 16
5.9.2 Composite encoding padding . 17
5.9.3 Encoding specifications for MonthYear . 17
5.10 Date and time encoding . 17
5.10.1 General. 17
5.10.2 Epoch . 17
5.10.3 Time unit. 17
5.10.4 Encoding specifications for date and time . 18
5.10.5 Examples of date/time fields . 18
5.11 Local date encoding. 19
5.12 Local time encoding . 19
5.12.1 General. 19
5.12.2 TZTimestamp encoding . 19
5.12.3 Composite encoding padding . 20
5.12.4 TZTimeOnly encoding . 20
5.12.5 Composite encoding padding . 20
5.13 Enumeration encoding . 21
5.13.1 General. 21
5.13.2 Primitive type encodings . 21
5.13.3 Value encoding . 21
5.13.4 Encoding specification of enumeration . 21
5.13.5 Enumeration examples . 21
5.13.6 Constant field of an enumeration value . 22
5.13.7 Boolean encoding . 22
5.14 Multi-value choice encoding . 23
5.14.1 General. 23
5.14.2 Primitive type encodings . 23
5.14.3 Value encoding . 23
5.14.4 Encoding specification of multi-value choice . 23
5.14.5 Multi-value example . 23
5.15 Field value validation . 24
6 Message Structure . 24
6.1 Message Framing . 24
6.1.1 General. 24
6.1.2 Simple Open Framing Header . 24
6.2 SBE Message Encoding Header . 25
6.2.1 General. 25
6.2.2 Message header schema . 25
6.2.3 Root block length . 26
6.2.4 Template ID . 26
© ISO/IEC 2025 – All rights reserved
iv
6.2.5 Schema ID . 26
6.2.6 Schema version . 26
6.2.7 Number of repeating groups . 26
6.2.8 Number of variable-length fields . 26
6.3 Message Body . 26
6.3.1 General. 26
6.3.2 Data only on the wire . 27
6.3.3 Direct access . 27
6.3.4 Field position and padding . 27
6.4 Repeating Groups . 28
6.4.1 General. 28
6.4.2 Schema specification of a group . 28
6.4.3 Group block length . 28
6.4.4 Padding at end of a group entry . 28
6.4.5 Entry counter . 29
6.4.6 Empty group. 29
6.4.7 Multiple repeating groups . 29
6.4.8 Nested repeating group specification . 29
6.4.9 Nested repeating group wire format . 29
6.4.10 Empty group means nested group is empty . 29
6.4.11 Group dimension encoding . 30
6.5 Sequence of message body elements . 31
6.5.1 Root level elements . 31
6.5.2 Repeating group elements . 31
6.6 Message structure validation . 31
7 Message Schema . 32
7.1 XML schema for SBE message schemas . 32
7.2 XML namespace . 32
7.3 Naming convention . 32
7.3.1 General. 32
7.3.2 Capitalization . 32
7.4 Root element . 32
7.4.1 General. 32
7.4.2 attributes . 32
7.4.3 Schema versioning . 33
7.5 Data encodings . 33
7.5.1 Encoding sets . 33
7.5.2 Encoding name . 33
7.5.3 Simple encodings . 33
7.5.4 General. 33
7.5.5 Composite encodings . 35
7.5.6 Reference to reusable types . 36
7.5.7 Enumeration encodings . 37
7.5.8 Multi-value choice encodings (bitset) . 38
7.6 Message template . 40
7.6.1 General. 40
7.6.2 Reserved space . 40
7.6.3 Message members . 40
7.6.4 Member order . 40
7.6.5 element attributes. 40
7.7 Field attributes . 41
7.8 Repeating group schema. 42
7.9 Schema validation . 43
7.9.1 General. 43
7.9.2 Message with a repeating group . 44
7.9.3 Message with raw data fields . 44
7.10 Reserved element names . 44
7.10.1 Composite types . 44
7.10.2 Composite type elements . 44
© ISO/IEC 2025 – All rights reserved
v
8 Schema Extension Mechanism . 45
8.1 Objective . 45
8.1.1 General. 45
8.1.2 Constraints . 45
8.2 Message schema features for extension. 46
8.2.1 Schema version . 46
8.2.2 Since version . 46
8.2.3 Block length . 46
8.2.4 Deprecated elements. 46
8.3 Wire format features for extension . 46
8.3.1 Block size . 46
8.3.2 Number of repeating groups and variable data . 46
8.4 Compatibility strategy . 46
8.5 Message schema extension example . 47
8.5.1 Initial version of a message schema . 47
8.5.2 Second version - a new message is added . 47
8.5.3 Third version - a field is added . 47
9 Usage Guidelines . 48
9.1 Identifier encodings . 48
10 Examples . 48
10.1 General . 48
10.2 Flat, fixed-length message . 48
10.2.1 General. 48
10.2.2 Sample order message schema . 48
10.2.3 Wire format of an order message . 50
10.3 Message with a repeating group . 51
10.3.1 General. 51
10.3.2 Sample execution report message schema . 51
10.3.3 Wire format of an execution message . 52
10.3.4 Interpretation . 52
10.4 Message with a variable-length field . 53
10.4.1 Sample business reject message schema . 53
10.4.2 Wire format of a business reject message . 53
10.4.3 Interpretation . 54
Bibliography . 55

© ISO/IEC 2025 – All rights reserved
vi
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission)
form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC
participate in the development of International Standards through technical committees established by the
respective organization to deal with particular fields of technical activity. ISO and IEC technical committees
collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental,
in liaison with ISO and IEC, also take part in the work.
The procedures used to develop this document and those intended for its further maintenance are described in
the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed for the different types of
document should be noted (see www.iso.org/directives or www.iec.ch/members_experts/refdocs).
ISO and IEC draw attention to the possibility that the implementation of this document may involve the use of (a)
patent(s). ISO and IEC take no position concerning the evidence, validity or applicability of any claimed patent
rights in respect thereof. As of the date of publication of this document, ISO and IEC had not received notice of (a)
patent(s) which may be required to implement this document. However, implementers are cautioned that this
may not represent the latest information, which may be obtained from the patent database available at
www.iso.org/patents and https://patents.iec.ch. ISO and IEC shall not be held responsible for identifying any or
all such patent rights.
Any trade name used in this document is information given for the convenience of users and does not constitute
an endorsement.
For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and expressions related
to conformity assessment, as well as information about ISO's adherence to the World Trade Organization (WTO)
principles in the Technical Barriers to Trade (TBT), see www.iso.org/iso/foreword.html. In the IEC, see
www.iec.ch/understanding-standards.
This document was prepared by FIX Trading Community [as FIX Simple Binary Encoding (SBE)] and drafted in
accordance with its editorial rules. It was adopted, under the JTC 1 PAS procedure, by Joint Technical Committee
ISO/IEC JTC 1, Information technology.
Any feedback or questions on this document should be directed to the user’s national standards body. A complete
listing of these bodies can be found at www.iso.org/members.html and www.iec.ch/national-committees.
© ISO/IEC 2025 – All rights reserved
vii
Introduction
The Financial Information eXchange Simple Binary Encoding (SBE) targets high performance trading systems. It
is optimized for low latency of encoding and decoding while keeping bandwidth utilization reasonably small. For
compatibility, it is intended to represent all FIX semantics. SBE is primarily a fixed length wire format but also
supports variable length fields and repeating groups with fixed length entries. The wire format does not contain
any meta-data other than length information for variable elements. The meta-data is a message schema provided
out-of-band as an XML Schema Definition (XSD) file.
© ISO/IEC 2025 – All rights reserved
viii
Financial Services – Financial Information eXchange – Simple
Binary Encoding
1 Scope
This document provides the normative specification of Simple Binary Encoding (SBE), which is one of the possible
syntaxes for FIX messages, but not limited to FIX messages. The scope comprises the encoding (wire format) and
the message schema for SBE.
2 Normative references
The following documents are referred to in the text in such a way that some or all of their content constitutes
requirements of this document. For dated references, only the edition cited applies. For undated references, the
latest edition of the referenced document (including any amendments) applies.
— IETF RFC 2119 – Key words for use in RFCs to Indicate Requirement Levels March 1997
3 Terms and definitions
For the purposes of this document, the terms and definitions given in ISO/IEC 11404 and the following apply.
ISO and IEC maintain terminological databases for use in standardization at the following addresses:
—– ISO Online browsing platform: available at https://www.iso.org/obp
—– IEC Electropedia: available at http://www.electropedia.org/
3.1 datatype
field type with its associated encoding attributes
Note 1 to entry: Includes backing primitive types and valid values or range. Some types have additional attributes,
e.g. epoch of a date.
3.2 encoding
message format for interchange
Note 1 to entry: The term is commonly used to mean the conversion of one data format t
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...