Minirobots - Realistic Market Agents Simulation for Testing Purposes
- simulate the behavior of trader using complex algo-trading systems
- create realistic market conditions in your test environment to react to
- create a realistic load in your test environment
- test at the confluence of functional and non-functional testing to catch intermittent functional defects that only manifest themselves under load
Minirobots is an active multi-participant testing tool which simulates the behavior of real traders. The tool has complete autonomy in making routine decisions under specific market conditions. Depending on what the testing needs are, each of the robots can act either together or independently.
The tool can be used for back-end testing by being connected to message gateways/APIs and databases of the systems being tested. GUI testing capabilities are also supported via plug-ins to other tools (e.g. Selenium).
- Executes multi-threaded Java code
- Allows the test developer to determine the complexity of test algorithms
- Supports multiple client connections, order entry and market data via FIX
- Can use GUI to iterate through sent and received messages
The test scripts are multi-threaded Java code. They allow the test developer to reproduce a variety of complex market scenarios according to the testing needs.
The Minirobots Skill Set
- Market Making
- ‘Slicing’ algorithms
- Abusive market behavior
- Realistic market environment
- Test regression
- Returning market data replay
Characteristics of Minirobots
- Capacity & Precision
- Hundreds to thousands of messages, depending on the algorithm complexity. Millisecond precision.
- Testing Type
- Active, Multi-Participant (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)
- Extant plug-ins for Industry-standard (FIX and dialects, etc.) and proprietary protocols. New bespoke 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
- Written in Java
Reference test harness for algorithmic trading platforms
The safety and stability of algorithmic trading software is an ongoing concern for exchanges, market participants and the society in general. Financial regulators
worldwide are trying to create effective rules to prevent selfenforced market volatility and technology crashes caused by computer-aided trading. Specifying relevant requirements for dynamic software verification of algorithmic trading platforms remains is an on-going task. Yet, there has been little progress to date in locating efficient and commonly accepted approaches. This paper introduces a reference test harness implementation for algo trading platforms created by the authors.
Victoria Leonchik, QA Lead, Technology, Reference Data, Exactpro, LSEG
Alexey Sukhov, QA Lead, Technology, Exactpro, LSEG
Eugene Ushakov, QA Lead, Technology, Market Data, Exactpro, LSEG
Iosif Itkin, CEO, Exactpro, LSEG
Anna-Maria Lukina, QA Team Lead, Exactpro, LSEG
Trading Day Logs Replay Limitations and Test Tools Applicability
This paper is an experience report on replaying full trading day production log files for dynamic verification of securities exchange matching engines. Three types of test automation tools developed in-house are described along with their characteristics. The paper analyzes various approaches to reproduce processes and scenarios observed in the systems during their production usage. The applicability and limitations of these approaches are also considered. The authors point out that for most complex distributed real-time trading systems it is extremely difficult to obtain an identical behavior using production logs replay via external gateways. It might be possible to achieve this by implementing additional instrumentation inside the exchange system’s core. The authors assume however that such an intrusion has limited value and should not be prioritized
over other, more appropriate, test design methods for testing such systems.
Pavel Protsenko, Account Management, Exactpro
Anna Khristenok, Head of NFT, Exactpro
Anna-Maria Lukina, QA Team Lead, Exactpro
Andrey Alexeenko, QA Team Lead, Exactpro
Tatiana Pavlyuk, NFT QA Team Lead, Exactpro
Iosif Itkin, CEO, Exactpro
Special Features of Testing Tools Applicable for Use in Trading Systems Production
The paper examines basic requirements for tools developed for verification of correct work of electronic trading systems by applying High Volume Automated Testing (HiVAT) methods and analyzes the applicability of such tools during production operation of trading systems.
EXTENT-2016: Machine Learning and Software Testing
Advances in data analysis and artificial intelligence rapidly change the world around us. The presence of machines that think will soon affect all industries, processes and occupations.
Iosif Itkin, CEO, Exactpro, London Stock Exchange Group