SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Trading Day Logs Replay Limitations and Test Tools Applicability 01 November 2014 I.Itkin, A.Khristenok, T.Pavlyuk, A.-M.Lukina, A.Alexeenko, P.Protsenko
Content 
2 
•Log Replay Approach vs Modern Trading System Complexity 
•Sailfish functional test tool 
•Load Injector non-functional test tool 
•Mini-Robots test tool 
•Experience and Observations
Log Replay Approach vs Modern Trading System Complexity 
3 
Log replay approach: 
•Repeating the normal behaviour of systems (full day replay). 
•Reproducing failures. 
Used across different industries: 
-Telecommunications; 
-Web-portals; 
-Industrial automation; 
-Etc..
Log Replay Approach vs Modern Trading System Complexity (cont.) 
4
Log Replay Approach vs Modern Trading System Complexity 
5
Test tools 
•Sailfish - Functional testing; 
•LoadInjector - Load testing; 
•Mini-Robots - Testing at the confluence of functional and non-functional testing. 
6
Sailfish functional test tool 
7
Sailfish functional test tool 
8 
Item 
Description 
Exactpro Test Strategy Step(s) 
STEP 1: Test Server Functionality by FIX or other standard protocol; STEP 2: ‘GUI Bypass’ Testing; STEP 4: Semi Automated GUI Testing 
Testing Type 
Active Real-Time 
Target SUT 
Trading Platforms, Market Data Delivery and Post-Trade Systems 
SUT Interface 
Back-end (typically connected to message gateways / APIs, and DBs); GUI Testing Capabilities supported via plug-ins to other tools (e.g., Selenium) 
SUT Interaction Method 
Message injection and capture for testing of real-time low-latency bi-directional message flows; DB queries for data verification 
Protocols 
Extant plug-ins for Industry-standard (FIX and dialects, FAST, SWIFT, ITCH, HTTP, SOAP, etc.) and Proprietary (MIT, SAIL, HSVF, RTF, RV, Reuters, Fidessa OA, Quant House, etc.) protocols. New plug-ins for additional protocols developed by request (codecs are shared between Sailfish and Shsha) 
Test Scripts 
Human-readable CSV files; scripts generated manually by test analysts or automatically by test script generator using results of passive testing performed by other tool (e.g., Shsha) 
Test Management, Execution and Reporting 
Integrated (Web front-end), allows for multiple simultaneous heterogeneous connections, consecutive execution of multiple planned scripts, test results summary and detailed test reports. REST API supports remote control of Sailfish instances. Optional Big Button framework supported 
Platform requirements 
Low footprint cross-platform application, MySQL or other RDBMS 
Primary Competitor 
VeriFIX by Greenline
Load Injector non-functional test tool 
9
Load Injector non-functional test tool 
10 
Item 
Description 
Exactpro Test Strategy Step(s) 
Load generation in trading systems 
Testing Type 
Active Load and Non Functional Testing 
Target SUT 
Trading Platforms, Market Data Delivery and Post-Trade Systems and their combinations 
SUT Interface 
Back-end (typically connected to message gateways / APIs; data streams generation: mcast/ucast); GUI Testing Capabilities not supported 
SUT Interaction Method 
Inputs and outputs are generated based on the configured load shapes, parameters and templates. Captured messages can be viewed and analyzed post-factum using the DB queries (Shsha) or/and performance calculator tool (also developed by Exactpro) 
Protocols 
Extant plug-ins for Industry-standard (FIX and dialects, FAST, ITCH, etc.) and Proprietary (MIT, SAIL, HSVF, RTF, RV, Quant House, etc.) protocols. New plug-ins for additional protocols developed by request 
Test Scripts 
Capable to stress the system with high rate of transactions including microbursts. Used for Throughput, Bandwidth, Latency tests. Can be used for support of fault tolerance (Failover) tests 
Test Management, Execution and Reporting 
Simulation of multiple client connections with specified load shape for each connection or group of connections (configure number of connections, messages templates, Load Shape for each connection or group of connections, messages distribution for each connection or group of connections), throughput up to 80000 msg per core per second 
Simulation of market data streams with required SLAs 
Platform requirements 
Linux on 64-bit platform 
Primary Competitor 
VeriFix TestPilot, HP Load Runner, IBM Rational Performance Tester, JMeter, Yandex.Tank
Mini-Robots test tool 
11
Mini-Robots test tool 
12 
Item 
Description 
Exactpro Test Strategy Step(s) 
STEP 1: Test Server Functionality by FIX or other standard protocol; STEP 2: ‘GUI Bypass’ Testing; STEP 4: Semi Automated GUI Testing 
Testing Type 
Active Multi-Participants (applicable for testing at the confluence of functional and non-functional testing) 
Target SUT 
Trading Platforms and Market Data Delivery Systems 
SUT Interface 
Back-end (typically connected to message gateways / APIs); GUI Testing Capabilities not supported 
SUT Interaction Method 
Message injection and capture to emulate multiple participants’ activity in electronic markets (essential when there is a need to reproduce complex scenarios that can be created by trading algorithms) 
Protocols 
Extant plug-ins for Industry-standard (FIX and dialects, etc.) and proprietary protocols. New plug-ins for additional protocols developed by request 
Test Scripts 
Multi-threaded Java code specifying different liquidity profiles 
Test Management, Execution and Reporting 
Integrated (Web front-end), allows for multiple simultaneous heterogeneous connections, concurrent emulation of multiple participants, detailed test reports. Optional Big Button framework supported 
Platform requirements 
Low footprint cross-platform application, MySQL or other RDBMS 
Primary Competitor 
Custom market and algo trading simulation solutions
Experience and Observations 
13 
•Three levels of complexity in matching engines behaviour 
–Simple – confined order book independent for each instrument. This is usually true for European lit cash markets 
–Reference price - instrument independent from each other that should take into account prices from some external market data feed. It is true for European dark cash markets 
–Strategies – multi-leg instruments and strategies, such as spreads, butterflies, condors, etc. Due to the presence of the strategies, instruments are no longer independent and any movement for a single instrument can result in changes across many other instruments through implied liquidity 
–North American markets introduce an extra level of complexity due to the necessity of passing through to other markets orders that could not be executed within the National Best Bid Offer (NBBO) 
•It is possible to use all three tools to recreate steps for most of the observed failures
Experience and Observations (cont.) 
14 
•Data replay will not recreate the exact sequence of events at the first attempt 
–Load Injector works in a microsecond range. Mini-Robots have milliseconds precision, while the precision of Sailfish is at least an order of magnitude worse 
•Test tool precision has three main aspects 
–Logical events sequencing (sequence of orders arriving on the market. A single recording can result in several replay options) 
–Time scale (is important for concurrency scenarios executed within the time frames comparable to internal processing delays, e.g. within a millisecond: session transitions, GTT order, etc) 
–Absolute physical time (To promote market fairness and reduce the space for manipulation, many exchange systems introduce random uncrossing times for auctions and circuit breakers) 
•Inconsistent data replay is ok for issue reproduction but not for the whole trading day replay 
–Test automation tools enable one to repeat the sequence a reasonable number of times 
–Non-100% replay stability for a single scenario means a certain deviation in case of hundreds of thousands of transactions per instrument which can cause volatility interruptions and affect order book status during session transitions
Experience and Observations (cont.) 
15 
•Things that may help: 
–Tweaking exchange systems parameters 
–Using inbound market data to change the prices of outbound messages 
–Using risk control software to filter inbound messages that can cause volatility interruption 
–Adding extra liquidity after submitting recorded messages to bring the order book state towards original execution pattern. 
•Any given trading day contains a small percentage of functional test libraries from those used by QA teams 
•The volumes normally are far away from the peak systems’ throughput 
•What is required to simulate the whole day properly: 
–Synchronized inbound data feeds; 
–Control over events sequencing within a distributed trading system, 
–the ability to re-order events across gateways and internal components; 
–The ability to replace physical timing with logical timing; 
–The ability to intervene at original time scale; 
–Control over non-deterministic nature of the trading system

Contenu connexe

Plus de 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
 

Plus de Iosif Itkin (20)

EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
 
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
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
 
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
 
EXTENT-2017: Independent QA in Agile
EXTENT-2017: Independent QA in AgileEXTENT-2017: Independent QA in Agile
EXTENT-2017: Independent QA in Agile
 
EXTENT-2017: Re-Engineering Capital Market Business Models to Use Different T...
EXTENT-2017: Re-Engineering Capital Market Business Models to Use Different T...EXTENT-2017: Re-Engineering Capital Market Business Models to Use Different T...
EXTENT-2017: Re-Engineering Capital Market Business Models to Use Different T...
 
EXTENT-2017: Keep Investing in QA
EXTENT-2017: Keep Investing in QAEXTENT-2017: Keep Investing in QA
EXTENT-2017: Keep Investing in QA
 
EXTENT-2017: MiFID II and Impacts on Trading Workflow
EXTENT-2017: MiFID II and Impacts on Trading WorkflowEXTENT-2017: MiFID II and Impacts on Trading Workflow
EXTENT-2017: MiFID II and Impacts on Trading Workflow
 

Dernier

Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Sérgio Sacani
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
Sérgio Sacani
 
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
ssuser79fe74
 
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsBiogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Sérgio Sacani
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
PirithiRaju
 
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
Lokesh Kothari
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
gindu3009
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
RizalinePalanog2
 

Dernier (20)

GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)
 
CELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdfCELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdf
 
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
 
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
VIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C PVIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C P
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRL
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRLKochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRL
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRL
 
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
 
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsBiogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdf
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
 
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticsPulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
 

Trading Day Logs Replay Limitations and Test Tools Applicability

  • 1. Trading Day Logs Replay Limitations and Test Tools Applicability 01 November 2014 I.Itkin, A.Khristenok, T.Pavlyuk, A.-M.Lukina, A.Alexeenko, P.Protsenko
  • 2. Content 2 •Log Replay Approach vs Modern Trading System Complexity •Sailfish functional test tool •Load Injector non-functional test tool •Mini-Robots test tool •Experience and Observations
  • 3. Log Replay Approach vs Modern Trading System Complexity 3 Log replay approach: •Repeating the normal behaviour of systems (full day replay). •Reproducing failures. Used across different industries: -Telecommunications; -Web-portals; -Industrial automation; -Etc..
  • 4. Log Replay Approach vs Modern Trading System Complexity (cont.) 4
  • 5. Log Replay Approach vs Modern Trading System Complexity 5
  • 6. Test tools •Sailfish - Functional testing; •LoadInjector - Load testing; •Mini-Robots - Testing at the confluence of functional and non-functional testing. 6
  • 8. Sailfish functional test tool 8 Item Description Exactpro Test Strategy Step(s) STEP 1: Test Server Functionality by FIX or other standard protocol; STEP 2: ‘GUI Bypass’ Testing; STEP 4: Semi Automated GUI Testing Testing Type Active Real-Time Target SUT Trading Platforms, Market Data Delivery and Post-Trade Systems SUT Interface Back-end (typically connected to message gateways / APIs, and DBs); GUI Testing Capabilities supported via plug-ins to other tools (e.g., Selenium) SUT Interaction Method Message injection and capture for testing of real-time low-latency bi-directional message flows; DB queries for data verification Protocols Extant plug-ins for Industry-standard (FIX and dialects, FAST, SWIFT, ITCH, HTTP, SOAP, etc.) and Proprietary (MIT, SAIL, HSVF, RTF, RV, Reuters, Fidessa OA, Quant House, etc.) protocols. New plug-ins for additional protocols developed by request (codecs are shared between Sailfish and Shsha) Test Scripts Human-readable CSV files; scripts generated manually by test analysts or automatically by test script generator using results of passive testing performed by other tool (e.g., Shsha) Test Management, Execution and Reporting Integrated (Web front-end), allows for multiple simultaneous heterogeneous connections, consecutive execution of multiple planned scripts, test results summary and detailed test reports. REST API supports remote control of Sailfish instances. Optional Big Button framework supported Platform requirements Low footprint cross-platform application, MySQL or other RDBMS Primary Competitor VeriFIX by Greenline
  • 10. Load Injector non-functional test tool 10 Item Description Exactpro Test Strategy Step(s) Load generation in trading systems Testing Type Active Load and Non Functional Testing Target SUT Trading Platforms, Market Data Delivery and Post-Trade Systems and their combinations SUT Interface Back-end (typically connected to message gateways / APIs; data streams generation: mcast/ucast); GUI Testing Capabilities not supported SUT Interaction Method Inputs and outputs are generated based on the configured load shapes, parameters and templates. Captured messages can be viewed and analyzed post-factum using the DB queries (Shsha) or/and performance calculator tool (also developed by Exactpro) Protocols Extant plug-ins for Industry-standard (FIX and dialects, FAST, ITCH, etc.) and Proprietary (MIT, SAIL, HSVF, RTF, RV, Quant House, etc.) protocols. New plug-ins for additional protocols developed by request Test Scripts Capable to stress the system with high rate of transactions including microbursts. Used for Throughput, Bandwidth, Latency tests. Can be used for support of fault tolerance (Failover) tests Test Management, Execution and Reporting Simulation of multiple client connections with specified load shape for each connection or group of connections (configure number of connections, messages templates, Load Shape for each connection or group of connections, messages distribution for each connection or group of connections), throughput up to 80000 msg per core per second Simulation of market data streams with required SLAs Platform requirements Linux on 64-bit platform Primary Competitor VeriFix TestPilot, HP Load Runner, IBM Rational Performance Tester, JMeter, Yandex.Tank
  • 12. Mini-Robots test tool 12 Item Description Exactpro Test Strategy Step(s) STEP 1: Test Server Functionality by FIX or other standard protocol; STEP 2: ‘GUI Bypass’ Testing; STEP 4: Semi Automated GUI Testing Testing Type Active Multi-Participants (applicable for testing at the confluence of functional and non-functional testing) Target SUT Trading Platforms and Market Data Delivery Systems SUT Interface Back-end (typically connected to message gateways / APIs); GUI Testing Capabilities not supported SUT Interaction Method Message injection and capture to emulate multiple participants’ activity in electronic markets (essential when there is a need to reproduce complex scenarios that can be created by trading algorithms) Protocols Extant plug-ins for Industry-standard (FIX and dialects, etc.) and proprietary protocols. New plug-ins for additional protocols developed by request Test Scripts Multi-threaded Java code specifying different liquidity profiles Test Management, Execution and Reporting Integrated (Web front-end), allows for multiple simultaneous heterogeneous connections, concurrent emulation of multiple participants, detailed test reports. Optional Big Button framework supported Platform requirements Low footprint cross-platform application, MySQL or other RDBMS Primary Competitor Custom market and algo trading simulation solutions
  • 13. Experience and Observations 13 •Three levels of complexity in matching engines behaviour –Simple – confined order book independent for each instrument. This is usually true for European lit cash markets –Reference price - instrument independent from each other that should take into account prices from some external market data feed. It is true for European dark cash markets –Strategies – multi-leg instruments and strategies, such as spreads, butterflies, condors, etc. Due to the presence of the strategies, instruments are no longer independent and any movement for a single instrument can result in changes across many other instruments through implied liquidity –North American markets introduce an extra level of complexity due to the necessity of passing through to other markets orders that could not be executed within the National Best Bid Offer (NBBO) •It is possible to use all three tools to recreate steps for most of the observed failures
  • 14. Experience and Observations (cont.) 14 •Data replay will not recreate the exact sequence of events at the first attempt –Load Injector works in a microsecond range. Mini-Robots have milliseconds precision, while the precision of Sailfish is at least an order of magnitude worse •Test tool precision has three main aspects –Logical events sequencing (sequence of orders arriving on the market. A single recording can result in several replay options) –Time scale (is important for concurrency scenarios executed within the time frames comparable to internal processing delays, e.g. within a millisecond: session transitions, GTT order, etc) –Absolute physical time (To promote market fairness and reduce the space for manipulation, many exchange systems introduce random uncrossing times for auctions and circuit breakers) •Inconsistent data replay is ok for issue reproduction but not for the whole trading day replay –Test automation tools enable one to repeat the sequence a reasonable number of times –Non-100% replay stability for a single scenario means a certain deviation in case of hundreds of thousands of transactions per instrument which can cause volatility interruptions and affect order book status during session transitions
  • 15. Experience and Observations (cont.) 15 •Things that may help: –Tweaking exchange systems parameters –Using inbound market data to change the prices of outbound messages –Using risk control software to filter inbound messages that can cause volatility interruption –Adding extra liquidity after submitting recorded messages to bring the order book state towards original execution pattern. •Any given trading day contains a small percentage of functional test libraries from those used by QA teams •The volumes normally are far away from the peak systems’ throughput •What is required to simulate the whole day properly: –Synchronized inbound data feeds; –Control over events sequencing within a distributed trading system, –the ability to re-order events across gateways and internal components; –The ability to replace physical timing with logical timing; –The ability to intervene at original time scale; –Control over non-deterministic nature of the trading system