SlideShare a Scribd company logo
Build Software to Test Software
exactpro.com
Global Exchanges FIX Protocol
Iosif Itkin
2 Build Software to Test Software
exactpro.com
#GX – Global Exchanges Training Course
Alyona Bulda, Head of the Global Exchanges Division at Exactpro
and the winner of the Women in Finance 2020 Rising Star Award
3 Build Software to Test Software
exactpro.com
Welcome to Exactpro YouTube Channel
https://www.youtube.com/c/exactprosystems
4 Build Software to Test Software
exactpro.com
What These Destinations Have in Common?
5 Build Software to Test Software
exactpro.com
What These Destinations Have in Common?
6 Build Software to Test Software
exactpro.com
What These Destinations Have in Common?
7 Build Software to Test Software
exactpro.com
What These Destinations Have in Common?
8 Build Software to Test Software
exactpro.com
What These Destinations Have in Common?
9 Build Software to Test Software
exactpro.com
FIX Protocol – A fun and energetic introduction
https://youtu.be/rW8sDkHBfQ4?t=14
10 Build Software to Test Software
exactpro.com
Trading Systems Types
Buy Side Sell Side Exchange
11 Build Software to Test Software
exactpro.com
Learn More About APIs
https://youtu.be/Ka6JNG12Qn4
12 Build Software to Test Software
exactpro.com
Trading Systems Types
https://exactpro.com/ideas/research-papers/reconciliation-testing-aspects-trading-systems-software-failures
Knight Capital
Runaway Algo
13 Build Software to Test Software
exactpro.com
Trading Systems Types
Buy Side
14 Build Software to Test Software
exactpro.com
Trading Systems Types
Buy Side
Sell Side
15 Build Software to Test Software
exactpro.com
Trading Systems Types
Buy Side
Sell Side
Exchange
16 Build Software to Test Software
exactpro.com
Trading Systems Types
Buy Side
Sell Side
Exchange
17 Build Software to Test Software
exactpro.com
Stock Exchange Reference Architecture
18 Build Software to Test Software
exactpro.com
Stock Exchange Reference Architecture
19 Build Software to Test Software
exactpro.com
FIX Use Cases
https://www.fixtrading.org/online-specification/
20 Build Software to Test Software
exactpro.com
FIX Use Cases
21 Build Software to Test Software
exactpro.com
FIX Trading Community
22 Build Software to Test Software
exactpro.com
FIX Trading Community
247 Members
24 Global Premier Members
23 Build Software to Test Software
exactpro.com
FIX Trading Community - Exchanges
24 Build Software to Test Software
exactpro.com
FIX Trading Community - Register
25 Build Software to Test Software
exactpro.com
FIX Trading Community - MOST
26 Build Software to Test Software
exactpro.com
TCP/IP Model OSI Model
Application Layer
Transport Layer
Internet Layer
Network Access Layer
Application Layer
Presentation Layer
Session Level
Transport Layer
Network Layer
Data Link Layer
Physical Layer
The place of the financial protocol in the overall structure
of network protocols
27 Build Software to Test Software
exactpro.com
FIX Technical Standards
28 Build Software to Test Software
exactpro.com
FIX Technical Standards
29 Build Software to Test Software
exactpro.com
Message Attributes
Messages sent by the client to the stock exchange (an order, modification or cancellation of an
order, etc…) and messages sent by the stock exchange to the client (acceptance report, status
change report, etc… ) possess a certain number of attributes.
TIME IN FORCE
ORDER TYPE
SIDE
Order
QUANTITY
SYMBOL
PRICE
EXECUTION TYPE
EXECUTED PRICE
ORDER ID
Report
EXECUTED QUANTITY
ORDER STATUS
SYMBOL
30 Build Software to Test Software
exactpro.com
The Essence of the FIX Protocol
However, in most cases a string, which is a set of bytes, is a more convenient form for sending.
It’s logical to represent such a string as Field = Value pairs separated by a certain special character.
For example:
MessageType=NewOrder | Symbol=FOX24 | Side=Buy | OrderType=Limit | Quantity=100 | TimeInForce = DAY
| Price= 10 | Client_Order_ID = Fox24_order_1 | PartyID = User1
MessageType=ExecutionReport | Symbol=FOX24 | Side=Buy | ExecutionType=Trade| OrderStatus = Filled |
ExecutedQty=50 | ExecutedPrice= 9.9 | Client_Order_ID = Fox24_order_1 | PartyID = User1
31 Build Software to Test Software
exactpro.com
It can be represented in a table form:
Field (attribute) Value
Message Type New Order
Symbol FOX24
Side Buy
Order Type Limit
Quantity 100
Time in Force DAY
Price 10
Client Order ID Fox24_order_1
Party ID User1
Field (attribute) Value
Message Type Execution Report
Symbol FOX24
Side Buy
Execution Type Trade
Order Status Filled
Executed Qty 50
Executed Price 9.9
Client Order ID Fox24_order_1
Party ID User1
Such tables can be sent as files (for example, .csv or .xml)
Message Attributes
32 Build Software to Test Software
exactpro.com
To reduce the length of the string, it’s possible to match a unique number (tag number) to every
attribute (field/tag). For example:
Tag number Field
Value
(example)
35 Message
Type
New Order
55 Symbol FOX24
54 Side Buy
40 Order Type Limit
38 Quantity 100
59 Time in
Force
DAY
44 Price 10
11 Client Order
ID
Fox24_order_
1
448 Party ID User1
Tag number Field Value (example)
35 Message Type Execution
Report
55 Symbol FOX24
54 Side Buy
150 Execution Type Trade
39 Order Status Filled
32 Executed Qty 50
31 Executed Price 9.9
11 Client Order ID Fox24_order_1
448 Party ID User1
The Essence of the FIX Protocol
33 Build Software to Test Software
exactpro.com
Order Type
The next step is accepting the denominations for the field values in the case when there are relatively
few possible values. For example:
Market 1
Limit 2
Stop 3
Stop Limit 4
Side
Buy 1
Sell 2
Time In Force
DAY 0
GTC 1
OPG 2
IOC 3
FOK 4
Execution Type
New 0
Cancelled 4
Replaced 5
Rejected 8
Expired C
Trade F
Order Status
New 0
Partially
Filled
1
Filled 2
Cancelled 4
Rejected 8
Expired C
Message Type
New Order D
Execution
Report
8
Logon A
Logout 5
The Essence of the FIX Protocol
34 Build Software to Test Software
exactpro.com
As a result, our strings will look as follows:
MessageType=NewOrder | Symbol=FOX24 | Side=Buy | OrderType=Limit | Quantity=100 | TimeInForce = DAY
| Price= 10 | Client_Order_ID = Fox24_order_1 | PartyID = User1
35=D|55=FOX24|54=1|40=2|38=100|59=0|44=10|11=Fox24_order_1|448=User1
MessageType=ExecutionReport | Symbol=FOX24 | Side=Buy | ExecutionType=Trade| OrderStatus = Filled |
ExecutedQty=50 | ExecutedPrice= 9.9 | Client_Order_ID = Fox24_order_1 | PartyID = User1
35=8|55=FOX24|54=1|150=F|39=2|32=50|31=9.9|11=Fox24_order_1|448 = User1
The Essence of the FIX Protocol
35 Build Software to Test Software
exactpro.com
Let’s add a few more tags to our messages:
1. Since the messages can be identical (for example, Logon):
SenderCompID (49) is the sender. TargetCompID (56) is the receiver.
2. To be sure we haven’t lost any messages:
MsgSeqNum (34) is the sequential number of the message
3. To be able to tell when one message ends and the other one begins, and also to tell messages from garbage:
BeginString (8), BodyLength (9), CheckSum (10)
Our messages have become a little longer:
8=FIXT.1.1|9=90|35=D|49=User1|56=FGW|34=2|55=FOX24|54=1|40=2|38=100|59=0|44=10|11=Fox24_order_1|448
=User1|10=197
8=FIXT.1.1|9=91|35=8|49=FGW|56=User1|34=2|55=FOX24|54=1|150=F|39=2|32=50|31=9.9|11=Fox24_order_1|448
= User1|10=009
The Essence of the FIX Protocol
36 Build Software to Test Software
exactpro.com
In essence, these are almost FIX messages. It remains to note that they are coded as big strings, that is, all
characters are replaced by their ASCII codes. The SOH (0x01) character is used as a separator.
8=FIXT.1.1|9=90|35=D|49=User1|56=FGW|34=2|55=FOX24|54=1|40=2|38=100|59=0|44=10|11=Fox24_order_1|448=User1|10=1
97
38 3d 46 49 58 54 2e 31 2e 31 01 39 3d 39 30 01 33 35 3d 44 01 34 39 3d 55 73 65 72 31 01 35 36 3d 46 47 57 01 33 34 3d 32
01 35 35 3d 56 54 42 32 34 01 35 34 3d 31 01 34 30 3d 32 01 33 38 3d 31 30 30 01 35 39 3d 30 01 34 34 3d 31 30 01 31 31 3d
56 74 62 32 34 5f 6f 72 64 65 72 5f 31 01 34 34 38 3d 55 73 65 72 31 01 31 30 3d 31 39 37
8=FIXT.1.1|9=91|35=8|49=FGW|56=User1|34=2|55=FOX24|54=1|150=F|39=2|32=50|31=9.9|11=Fox24_order_1|448 =
User1|10=009
38 3d 46 49 58 54 2e 31 2e 31 01 39 3d 39 31 01 33 35 3d 38 01 34 39 3d 46 47 57 01 35 36 3d 55 73 65 72 31 01 33 34 3d 32
01 35 35 3d 56 54 42 32 34 01 35 34 3d 31 01 31 35 30 3d 46 01 33 39 3d 32 01 33 32 3d 35 30 01 33 31 3d 39 2e 39 01 31 31
3d 56 74 62 32 34 5f 6f 72 64 65 72 5f 31 01 34 34 38 3d 55 73 65 72 31 01 31 30 3d 30 30 39
The Essence of the FIX Protocol
37 Build Software to Test Software
exactpro.com
Internal Data Types of the FIX Protocol
Even though the FIX message as such is coded just as a string, each field uses an “internal” data type, and
it is not always String. Thus, for the Price (44) field it seems logical to use the float data type, and for the
MsgSeqNum (34) field, Unsigned Integer etc...
In fact, in the FIX protocol there is a large number of its own data types derived from the basic ones (Int,
Float, String, etc.).
The stock exchange gateway or the analog of a gateway on the broker’s side validates each field for
compliance with the internal data type. If the check-up wasn’t passed, the message gets rejected at the
gateway level, and a special Reject message is generated (35=3). It is necessary to make sure that the
stock exchange/SOR core doesn’t get some obvious gibberish inside, which can crash the system.
It’s worth noting that according to the general specification some fields have length limitations, while others
don’t.
38 Build Software to Test Software
exactpro.com
Internal Data Types of the FIX Protocol
https://fiximate.fixtrading.org/
39 Build Software to Test Software
exactpro.com
Internal Data Types of the FIX Protocol
40 Build Software to Test Software
exactpro.com
FIX History
https://www.fixtrading.org/beginners-resources/
41 Build Software to Test Software
exactpro.com
Tag = Value
25 Pages
42 Build Software to Test Software
exactpro.com
It’s necessary to remember that every particular stock exchange/broker uses only a part of
the FIX protocol’s functionality, that is, not all fields and/or possible field values are used.
Besides, changes are possible in the internal data types, and some tags can even be used,
which are not present in the general FIX specification.
Therefore you should refer to the FIX specification belonging to a particular broker or stock
exchange.
FIX Specifications
43 Build Software to Test Software
exactpro.com
FIX Specification Samples
https://exante.eu/clientsarea/media/manu
als/docs/2020/01/ExanteFIX_1.13.3.pdf
44 Build Software to Test Software
exactpro.com
FIX Specification Samples
https://www.lseg.com/sites/default/files/content/documents/TQ201_Trading_Gateway_FIX.pdf
45 Build Software to Test Software
exactpro.com
FIX User Defined Fields
46 Build Software to Test Software
exactpro.com
Pros and Cons
The FIX protocol is the most common in the financial area. It is supported by the majority of brokers and
stock exchanges, and it gets expanded all the time. Therefore, it has imbibed all the benefits and
drawbacks of universality:
Benefits:
● Simplicity/clarity
● Universality/widespread use
● Informativeness
● The possibility to add new fields and/or
values without a significant revamping of
the protocol’s library
● The length of the fields is not fixed
● The fields can be specified or not specified
Drawbacks:
● Big size of the message
● For a particular stock exchange there are
too many unused fields/values
● The length of fields/whole message is not
fixed
● Multiple possibilities to send something
wrong
47 Build Software to Test Software
exactpro.com
Some aspects remain outside the limits of this lecture, such as:
• Detailed description of the Header and the Trailer
• Repeating groups
• Administrative messages
• Monitoring, Onboarding and Software Testing
Conclusion
Human readable
Machine readable
Specifications
48 Build Software to Test Software
exactpro.com
Questions

More Related Content

Similar to Exactpro FinTech Webinar - Global Exchanges FIX Protocol

Sujith ~ cross applications
Sujith ~ cross applicationsSujith ~ cross applications
Sujith ~ cross applicationsKranthi Kumar
 
Algorithmic Trading and FIX Protocol
Algorithmic Trading and FIX ProtocolAlgorithmic Trading and FIX Protocol
Algorithmic Trading and FIX Protocol
EXANTE
 
Exactpro: Non-functional testing approach
Exactpro: Non-functional testing approachExactpro: Non-functional testing approach
Exactpro: Non-functional testing approach
Iosif Itkin
 
Core .NET Framework 4.0 Enhancements
Core .NET Framework 4.0 EnhancementsCore .NET Framework 4.0 Enhancements
Core .NET Framework 4.0 EnhancementsRobert MacLean
 
A Decompiler for Blackhain-Based Smart Contracts Bytecode
A Decompiler for Blackhain-Based Smart Contracts BytecodeA Decompiler for Blackhain-Based Smart Contracts Bytecode
A Decompiler for Blackhain-Based Smart Contracts Bytecode
Shakacon
 
Yeastar MyPBX-Basic configuration
Yeastar MyPBX-Basic configurationYeastar MyPBX-Basic configuration
Yeastar MyPBX-Basic configuration
Hossein Yavari
 
06 chapter03 04_control_logix_tags_memory_structure_fa16
06 chapter03 04_control_logix_tags_memory_structure_fa1606 chapter03 04_control_logix_tags_memory_structure_fa16
06 chapter03 04_control_logix_tags_memory_structure_fa16
John Todora
 
C programming part2
C programming part2C programming part2
C programming part2
Keroles karam khalil
 
C programming part2
C programming part2C programming part2
C programming part2
Keroles karam khalil
 
C programming part2
C programming part2C programming part2
C programming part2
Keroles karam khalil
 
Reversing malware analysis training part6 practical reversing
Reversing malware analysis training part6 practical reversingReversing malware analysis training part6 practical reversing
Reversing malware analysis training part6 practical reversing
Cysinfo Cyber Security Community
 
Yacc (yet another compiler compiler)
Yacc (yet another compiler compiler)Yacc (yet another compiler compiler)
Yacc (yet another compiler compiler)
omercomail
 
Unmanged code InterOperability
Unmanged code InterOperabilityUnmanged code InterOperability
Unmanged code InterOperability
Rohit Vipin Mathews
 
FIX Protocol Overview.
FIX Protocol Overview.FIX Protocol Overview.
FIX Protocol Overview.aiQUANT
 
FIX Protocol Overview.
FIX Protocol Overview.FIX Protocol Overview.
FIX Protocol Overview.aiQUANT
 
Bis 345-final-exam-guide-set-2-new
Bis 345-final-exam-guide-set-2-newBis 345-final-exam-guide-set-2-new
Bis 345-final-exam-guide-set-2-new
assignmentcloud85
 
Rock Your Code with Code Contracts
Rock Your Code with Code ContractsRock Your Code with Code Contracts
Rock Your Code with Code Contracts
David McCarter
 
LF_APIStrat17_Standing Taller with Technology: APIs, IoT, and the Digital Wor...
LF_APIStrat17_Standing Taller with Technology: APIs, IoT, and the Digital Wor...LF_APIStrat17_Standing Taller with Technology: APIs, IoT, and the Digital Wor...
LF_APIStrat17_Standing Taller with Technology: APIs, IoT, and the Digital Wor...
LF_APIStrat
 
Иосиф Иткин, Exactpro - TBA
Иосиф Иткин, Exactpro - TBAИосиф Иткин, Exactpro - TBA
Иосиф Иткин, Exactpro - TBA
AIST
 
Whats new in .net framework 4
Whats new in .net framework 4Whats new in .net framework 4
Whats new in .net framework 4Pramod Chavan
 

Similar to Exactpro FinTech Webinar - Global Exchanges FIX Protocol (20)

Sujith ~ cross applications
Sujith ~ cross applicationsSujith ~ cross applications
Sujith ~ cross applications
 
Algorithmic Trading and FIX Protocol
Algorithmic Trading and FIX ProtocolAlgorithmic Trading and FIX Protocol
Algorithmic Trading and FIX Protocol
 
Exactpro: Non-functional testing approach
Exactpro: Non-functional testing approachExactpro: Non-functional testing approach
Exactpro: Non-functional testing approach
 
Core .NET Framework 4.0 Enhancements
Core .NET Framework 4.0 EnhancementsCore .NET Framework 4.0 Enhancements
Core .NET Framework 4.0 Enhancements
 
A Decompiler for Blackhain-Based Smart Contracts Bytecode
A Decompiler for Blackhain-Based Smart Contracts BytecodeA Decompiler for Blackhain-Based Smart Contracts Bytecode
A Decompiler for Blackhain-Based Smart Contracts Bytecode
 
Yeastar MyPBX-Basic configuration
Yeastar MyPBX-Basic configurationYeastar MyPBX-Basic configuration
Yeastar MyPBX-Basic configuration
 
06 chapter03 04_control_logix_tags_memory_structure_fa16
06 chapter03 04_control_logix_tags_memory_structure_fa1606 chapter03 04_control_logix_tags_memory_structure_fa16
06 chapter03 04_control_logix_tags_memory_structure_fa16
 
C programming part2
C programming part2C programming part2
C programming part2
 
C programming part2
C programming part2C programming part2
C programming part2
 
C programming part2
C programming part2C programming part2
C programming part2
 
Reversing malware analysis training part6 practical reversing
Reversing malware analysis training part6 practical reversingReversing malware analysis training part6 practical reversing
Reversing malware analysis training part6 practical reversing
 
Yacc (yet another compiler compiler)
Yacc (yet another compiler compiler)Yacc (yet another compiler compiler)
Yacc (yet another compiler compiler)
 
Unmanged code InterOperability
Unmanged code InterOperabilityUnmanged code InterOperability
Unmanged code InterOperability
 
FIX Protocol Overview.
FIX Protocol Overview.FIX Protocol Overview.
FIX Protocol Overview.
 
FIX Protocol Overview.
FIX Protocol Overview.FIX Protocol Overview.
FIX Protocol Overview.
 
Bis 345-final-exam-guide-set-2-new
Bis 345-final-exam-guide-set-2-newBis 345-final-exam-guide-set-2-new
Bis 345-final-exam-guide-set-2-new
 
Rock Your Code with Code Contracts
Rock Your Code with Code ContractsRock Your Code with Code Contracts
Rock Your Code with Code Contracts
 
LF_APIStrat17_Standing Taller with Technology: APIs, IoT, and the Digital Wor...
LF_APIStrat17_Standing Taller with Technology: APIs, IoT, and the Digital Wor...LF_APIStrat17_Standing Taller with Technology: APIs, IoT, and the Digital Wor...
LF_APIStrat17_Standing Taller with Technology: APIs, IoT, and the Digital Wor...
 
Иосиф Иткин, Exactpro - TBA
Иосиф Иткин, Exactpro - TBAИосиф Иткин, Exactpro - TBA
Иосиф Иткин, Exactpro - TBA
 
Whats new in .net framework 4
Whats new in .net framework 4Whats new in .net framework 4
Whats new in .net framework 4
 

More from Iosif Itkin

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4
Iosif Itkin
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
Iosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Iosif Itkin
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market Infrastructures
Iosif Itkin
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
Iosif Itkin
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AI
Iosif Itkin
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
Iosif Itkin
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
Iosif Itkin
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
Iosif Itkin
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
Iosif Itkin
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)
Iosif Itkin
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop Testing
Iosif Itkin
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
Iosif Itkin
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in Review
Iosif Itkin
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and Strategy
Iosif Itkin
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
Iosif Itkin
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
Iosif Itkin
 
Sibos 2017: Disruptive functional testing - the next frontier in post-trade s...
Sibos 2017: Disruptive functional testing - the next frontier in post-trade s...Sibos 2017: Disruptive functional testing - the next frontier in post-trade s...
Sibos 2017: Disruptive functional testing - the next frontier in post-trade s...
Iosif Itkin
 
Using Cluster Analysis for Characteristics Detection in Software Defect Reports
Using Cluster Analysis for Characteristics Detection in Software Defect ReportsUsing Cluster Analysis for Characteristics Detection in Software Defect Reports
Using Cluster Analysis for Characteristics Detection in Software Defect Reports
Iosif Itkin
 
EXTENT-2017: Testing in Distributed Ledger Systems
EXTENT-2017: Testing in Distributed Ledger SystemsEXTENT-2017: Testing in Distributed Ledger Systems
EXTENT-2017: Testing in Distributed Ledger Systems
Iosif Itkin
 

More from Iosif Itkin (20)

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test Oracles
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market Infrastructures
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AI
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop Testing
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in Review
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and Strategy
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
 
Sibos 2017: Disruptive functional testing - the next frontier in post-trade s...
Sibos 2017: Disruptive functional testing - the next frontier in post-trade s...Sibos 2017: Disruptive functional testing - the next frontier in post-trade s...
Sibos 2017: Disruptive functional testing - the next frontier in post-trade s...
 
Using Cluster Analysis for Characteristics Detection in Software Defect Reports
Using Cluster Analysis for Characteristics Detection in Software Defect ReportsUsing Cluster Analysis for Characteristics Detection in Software Defect Reports
Using Cluster Analysis for Characteristics Detection in Software Defect Reports
 
EXTENT-2017: Testing in Distributed Ledger Systems
EXTENT-2017: Testing in Distributed Ledger SystemsEXTENT-2017: Testing in Distributed Ledger Systems
EXTENT-2017: Testing in Distributed Ledger Systems
 

Recently uploaded

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 

Recently uploaded (20)

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 

Exactpro FinTech Webinar - Global Exchanges FIX Protocol

  • 1. Build Software to Test Software exactpro.com Global Exchanges FIX Protocol Iosif Itkin
  • 2. 2 Build Software to Test Software exactpro.com #GX – Global Exchanges Training Course Alyona Bulda, Head of the Global Exchanges Division at Exactpro and the winner of the Women in Finance 2020 Rising Star Award
  • 3. 3 Build Software to Test Software exactpro.com Welcome to Exactpro YouTube Channel https://www.youtube.com/c/exactprosystems
  • 4. 4 Build Software to Test Software exactpro.com What These Destinations Have in Common?
  • 5. 5 Build Software to Test Software exactpro.com What These Destinations Have in Common?
  • 6. 6 Build Software to Test Software exactpro.com What These Destinations Have in Common?
  • 7. 7 Build Software to Test Software exactpro.com What These Destinations Have in Common?
  • 8. 8 Build Software to Test Software exactpro.com What These Destinations Have in Common?
  • 9. 9 Build Software to Test Software exactpro.com FIX Protocol – A fun and energetic introduction https://youtu.be/rW8sDkHBfQ4?t=14
  • 10. 10 Build Software to Test Software exactpro.com Trading Systems Types Buy Side Sell Side Exchange
  • 11. 11 Build Software to Test Software exactpro.com Learn More About APIs https://youtu.be/Ka6JNG12Qn4
  • 12. 12 Build Software to Test Software exactpro.com Trading Systems Types https://exactpro.com/ideas/research-papers/reconciliation-testing-aspects-trading-systems-software-failures Knight Capital Runaway Algo
  • 13. 13 Build Software to Test Software exactpro.com Trading Systems Types Buy Side
  • 14. 14 Build Software to Test Software exactpro.com Trading Systems Types Buy Side Sell Side
  • 15. 15 Build Software to Test Software exactpro.com Trading Systems Types Buy Side Sell Side Exchange
  • 16. 16 Build Software to Test Software exactpro.com Trading Systems Types Buy Side Sell Side Exchange
  • 17. 17 Build Software to Test Software exactpro.com Stock Exchange Reference Architecture
  • 18. 18 Build Software to Test Software exactpro.com Stock Exchange Reference Architecture
  • 19. 19 Build Software to Test Software exactpro.com FIX Use Cases https://www.fixtrading.org/online-specification/
  • 20. 20 Build Software to Test Software exactpro.com FIX Use Cases
  • 21. 21 Build Software to Test Software exactpro.com FIX Trading Community
  • 22. 22 Build Software to Test Software exactpro.com FIX Trading Community 247 Members 24 Global Premier Members
  • 23. 23 Build Software to Test Software exactpro.com FIX Trading Community - Exchanges
  • 24. 24 Build Software to Test Software exactpro.com FIX Trading Community - Register
  • 25. 25 Build Software to Test Software exactpro.com FIX Trading Community - MOST
  • 26. 26 Build Software to Test Software exactpro.com TCP/IP Model OSI Model Application Layer Transport Layer Internet Layer Network Access Layer Application Layer Presentation Layer Session Level Transport Layer Network Layer Data Link Layer Physical Layer The place of the financial protocol in the overall structure of network protocols
  • 27. 27 Build Software to Test Software exactpro.com FIX Technical Standards
  • 28. 28 Build Software to Test Software exactpro.com FIX Technical Standards
  • 29. 29 Build Software to Test Software exactpro.com Message Attributes Messages sent by the client to the stock exchange (an order, modification or cancellation of an order, etc…) and messages sent by the stock exchange to the client (acceptance report, status change report, etc… ) possess a certain number of attributes. TIME IN FORCE ORDER TYPE SIDE Order QUANTITY SYMBOL PRICE EXECUTION TYPE EXECUTED PRICE ORDER ID Report EXECUTED QUANTITY ORDER STATUS SYMBOL
  • 30. 30 Build Software to Test Software exactpro.com The Essence of the FIX Protocol However, in most cases a string, which is a set of bytes, is a more convenient form for sending. It’s logical to represent such a string as Field = Value pairs separated by a certain special character. For example: MessageType=NewOrder | Symbol=FOX24 | Side=Buy | OrderType=Limit | Quantity=100 | TimeInForce = DAY | Price= 10 | Client_Order_ID = Fox24_order_1 | PartyID = User1 MessageType=ExecutionReport | Symbol=FOX24 | Side=Buy | ExecutionType=Trade| OrderStatus = Filled | ExecutedQty=50 | ExecutedPrice= 9.9 | Client_Order_ID = Fox24_order_1 | PartyID = User1
  • 31. 31 Build Software to Test Software exactpro.com It can be represented in a table form: Field (attribute) Value Message Type New Order Symbol FOX24 Side Buy Order Type Limit Quantity 100 Time in Force DAY Price 10 Client Order ID Fox24_order_1 Party ID User1 Field (attribute) Value Message Type Execution Report Symbol FOX24 Side Buy Execution Type Trade Order Status Filled Executed Qty 50 Executed Price 9.9 Client Order ID Fox24_order_1 Party ID User1 Such tables can be sent as files (for example, .csv or .xml) Message Attributes
  • 32. 32 Build Software to Test Software exactpro.com To reduce the length of the string, it’s possible to match a unique number (tag number) to every attribute (field/tag). For example: Tag number Field Value (example) 35 Message Type New Order 55 Symbol FOX24 54 Side Buy 40 Order Type Limit 38 Quantity 100 59 Time in Force DAY 44 Price 10 11 Client Order ID Fox24_order_ 1 448 Party ID User1 Tag number Field Value (example) 35 Message Type Execution Report 55 Symbol FOX24 54 Side Buy 150 Execution Type Trade 39 Order Status Filled 32 Executed Qty 50 31 Executed Price 9.9 11 Client Order ID Fox24_order_1 448 Party ID User1 The Essence of the FIX Protocol
  • 33. 33 Build Software to Test Software exactpro.com Order Type The next step is accepting the denominations for the field values in the case when there are relatively few possible values. For example: Market 1 Limit 2 Stop 3 Stop Limit 4 Side Buy 1 Sell 2 Time In Force DAY 0 GTC 1 OPG 2 IOC 3 FOK 4 Execution Type New 0 Cancelled 4 Replaced 5 Rejected 8 Expired C Trade F Order Status New 0 Partially Filled 1 Filled 2 Cancelled 4 Rejected 8 Expired C Message Type New Order D Execution Report 8 Logon A Logout 5 The Essence of the FIX Protocol
  • 34. 34 Build Software to Test Software exactpro.com As a result, our strings will look as follows: MessageType=NewOrder | Symbol=FOX24 | Side=Buy | OrderType=Limit | Quantity=100 | TimeInForce = DAY | Price= 10 | Client_Order_ID = Fox24_order_1 | PartyID = User1 35=D|55=FOX24|54=1|40=2|38=100|59=0|44=10|11=Fox24_order_1|448=User1 MessageType=ExecutionReport | Symbol=FOX24 | Side=Buy | ExecutionType=Trade| OrderStatus = Filled | ExecutedQty=50 | ExecutedPrice= 9.9 | Client_Order_ID = Fox24_order_1 | PartyID = User1 35=8|55=FOX24|54=1|150=F|39=2|32=50|31=9.9|11=Fox24_order_1|448 = User1 The Essence of the FIX Protocol
  • 35. 35 Build Software to Test Software exactpro.com Let’s add a few more tags to our messages: 1. Since the messages can be identical (for example, Logon): SenderCompID (49) is the sender. TargetCompID (56) is the receiver. 2. To be sure we haven’t lost any messages: MsgSeqNum (34) is the sequential number of the message 3. To be able to tell when one message ends and the other one begins, and also to tell messages from garbage: BeginString (8), BodyLength (9), CheckSum (10) Our messages have become a little longer: 8=FIXT.1.1|9=90|35=D|49=User1|56=FGW|34=2|55=FOX24|54=1|40=2|38=100|59=0|44=10|11=Fox24_order_1|448 =User1|10=197 8=FIXT.1.1|9=91|35=8|49=FGW|56=User1|34=2|55=FOX24|54=1|150=F|39=2|32=50|31=9.9|11=Fox24_order_1|448 = User1|10=009 The Essence of the FIX Protocol
  • 36. 36 Build Software to Test Software exactpro.com In essence, these are almost FIX messages. It remains to note that they are coded as big strings, that is, all characters are replaced by their ASCII codes. The SOH (0x01) character is used as a separator. 8=FIXT.1.1|9=90|35=D|49=User1|56=FGW|34=2|55=FOX24|54=1|40=2|38=100|59=0|44=10|11=Fox24_order_1|448=User1|10=1 97 38 3d 46 49 58 54 2e 31 2e 31 01 39 3d 39 30 01 33 35 3d 44 01 34 39 3d 55 73 65 72 31 01 35 36 3d 46 47 57 01 33 34 3d 32 01 35 35 3d 56 54 42 32 34 01 35 34 3d 31 01 34 30 3d 32 01 33 38 3d 31 30 30 01 35 39 3d 30 01 34 34 3d 31 30 01 31 31 3d 56 74 62 32 34 5f 6f 72 64 65 72 5f 31 01 34 34 38 3d 55 73 65 72 31 01 31 30 3d 31 39 37 8=FIXT.1.1|9=91|35=8|49=FGW|56=User1|34=2|55=FOX24|54=1|150=F|39=2|32=50|31=9.9|11=Fox24_order_1|448 = User1|10=009 38 3d 46 49 58 54 2e 31 2e 31 01 39 3d 39 31 01 33 35 3d 38 01 34 39 3d 46 47 57 01 35 36 3d 55 73 65 72 31 01 33 34 3d 32 01 35 35 3d 56 54 42 32 34 01 35 34 3d 31 01 31 35 30 3d 46 01 33 39 3d 32 01 33 32 3d 35 30 01 33 31 3d 39 2e 39 01 31 31 3d 56 74 62 32 34 5f 6f 72 64 65 72 5f 31 01 34 34 38 3d 55 73 65 72 31 01 31 30 3d 30 30 39 The Essence of the FIX Protocol
  • 37. 37 Build Software to Test Software exactpro.com Internal Data Types of the FIX Protocol Even though the FIX message as such is coded just as a string, each field uses an “internal” data type, and it is not always String. Thus, for the Price (44) field it seems logical to use the float data type, and for the MsgSeqNum (34) field, Unsigned Integer etc... In fact, in the FIX protocol there is a large number of its own data types derived from the basic ones (Int, Float, String, etc.). The stock exchange gateway or the analog of a gateway on the broker’s side validates each field for compliance with the internal data type. If the check-up wasn’t passed, the message gets rejected at the gateway level, and a special Reject message is generated (35=3). It is necessary to make sure that the stock exchange/SOR core doesn’t get some obvious gibberish inside, which can crash the system. It’s worth noting that according to the general specification some fields have length limitations, while others don’t.
  • 38. 38 Build Software to Test Software exactpro.com Internal Data Types of the FIX Protocol https://fiximate.fixtrading.org/
  • 39. 39 Build Software to Test Software exactpro.com Internal Data Types of the FIX Protocol
  • 40. 40 Build Software to Test Software exactpro.com FIX History https://www.fixtrading.org/beginners-resources/
  • 41. 41 Build Software to Test Software exactpro.com Tag = Value 25 Pages
  • 42. 42 Build Software to Test Software exactpro.com It’s necessary to remember that every particular stock exchange/broker uses only a part of the FIX protocol’s functionality, that is, not all fields and/or possible field values are used. Besides, changes are possible in the internal data types, and some tags can even be used, which are not present in the general FIX specification. Therefore you should refer to the FIX specification belonging to a particular broker or stock exchange. FIX Specifications
  • 43. 43 Build Software to Test Software exactpro.com FIX Specification Samples https://exante.eu/clientsarea/media/manu als/docs/2020/01/ExanteFIX_1.13.3.pdf
  • 44. 44 Build Software to Test Software exactpro.com FIX Specification Samples https://www.lseg.com/sites/default/files/content/documents/TQ201_Trading_Gateway_FIX.pdf
  • 45. 45 Build Software to Test Software exactpro.com FIX User Defined Fields
  • 46. 46 Build Software to Test Software exactpro.com Pros and Cons The FIX protocol is the most common in the financial area. It is supported by the majority of brokers and stock exchanges, and it gets expanded all the time. Therefore, it has imbibed all the benefits and drawbacks of universality: Benefits: ● Simplicity/clarity ● Universality/widespread use ● Informativeness ● The possibility to add new fields and/or values without a significant revamping of the protocol’s library ● The length of the fields is not fixed ● The fields can be specified or not specified Drawbacks: ● Big size of the message ● For a particular stock exchange there are too many unused fields/values ● The length of fields/whole message is not fixed ● Multiple possibilities to send something wrong
  • 47. 47 Build Software to Test Software exactpro.com Some aspects remain outside the limits of this lecture, such as: • Detailed description of the Header and the Trailer • Repeating groups • Administrative messages • Monitoring, Onboarding and Software Testing Conclusion Human readable Machine readable Specifications
  • 48. 48 Build Software to Test Software exactpro.com Questions