Post by Sapphire Capital on Jul 15, 2008 4:27:40 GMT 4
White Paper
Testing Dark Pool Trading
Systems
Last Updated: 6th May, 2008
AppLabs.com
App_WhitePaper_Testing_DarkPool_Trading_1v00 Page © 2008 AppLabs
Introduction
The rapid changes in the financial markets have resulted
in liquidity being of paramount importance to investors.
Investment objectives have changed, technology has
changed and there are newer, more innovative products
available. The latency reduction concept is also playing a
part; every firm is now building or using systems that can
match orders within a fraction of second, giving them an
edge over their competitors. Almost every brokerage house
on Wall Street now operates an internal, electronic trading
system that takes incoming trades from clients and tries
to find a match internally before turning to other brokers,
electronic networks or the exchanges.
These internal systems, known as Dark Pool Trading
Systems are intended to trade stocks privately with the
objective of liquidating large stock positions at lower costs.
Recently, the changes in the financial markets in terms of
trading strategies, new product innovations, regulatory
requirements and growth in technology have resulted in an
increase in trading volumes. In addition to the increased
volumes on the exchanges, the volumes of trade on the
Dark Pool Trading Systems are growing daily. There are
currently 40 Dark Pool Trading Systems operational in the
US market. The pictorial representation of a dark pool
trade execution is shown as Appendix 1.
The Dark Pool Trading systems, mainly used by the
institutional traders who trade in large volumes, help
institutional investors in getting more liquidity with lower
transaction costs and less transparency. They also help
fund managers’ strategies that are best implemented with
the use of algorithmic trading.
High Risk Solution = Rigorous
Testing
IAs described above, the systems are complex by nature
and also involve significant financial transactions, so the
impact of any issues arising out of system downtime
is massive. It is therefore imperative that these systems
are well tested before their implementation into the
production environment. The testing must ensure that all
trading strategies, latency issues, regulatory compliances,
technological changes and the communication flow between
internal and external interfaces have been accounted
for and are functioning correctly. To remain competitive,
firms need to ensure the rapid internal development of
algorithms, since conditions that support algorithmic
variables can change rapidly and requirements can differ
greatly from one financial markets institution to the next.
These requirements need to be tested in advance before
implementing them in the real environment. In addition, to
quickly identify and address performance issues, firms need
the ability to monitor transaction costs, execution statistics
and other performance measurements in real time.
Challenges in testing
There are certain challenges when testing Dark Pool
Trading Systems:
Dark Pool Systems are developed mainly to provide
more liquidity to the market players. It is very important
that real time market scenarios are created in the testing
environment with market participation;
All the functionalities related to the product, business
rules and regulations, regulatory compliances, order
management and routing criteria etc., must be identified
in order to conduct complete end to end testing;
These systems support different products in different
regulatory environments and as such it must be
confirmed that these systems satisfy all the regulatory
requirements of each environment;
Each and every execution strategy must be tested;
The functionality must be identified and complex
scenarios for testing must be developed and
executed;
There must be verification of the logs generated during
the data flow between the different interfaces;
As communication between various internal and external
interfaces plays a major role for a smooth trading flow in
Dark Pool Trading applications, identifying the various
interfaces and ensuring an effective communication
flow between them becomes crucial.
Testing approach
Considering the complexity of these trading systems in
terms of technology, speed, functionality and system
performance, it is very important that functional testing
is conducted in addition to the gateways testing and
performance testing that must be done.
AppLabs.com
App_WhitePaper_Testing_DarkPool_Trading_1v00 Page © 2008 AppLabs
Functional Testing
As these applications are multi-product, multi-segment
and multi-user, end to end functionality testing of the
application is required. This requires the identification of
each functional area, and the subsequent smoke and unit
test cases of each need to be developed.
As the Dark Pool Trading Systems are linked with middle
office and back office systems for margining, accounting
and settlement, it is very important that all these systems
are integrated online/offline. So, integration test cases
and scenarios covering multiple functionalities need to be
developed and executed in the testing environment. The
trading opportunity exists only for a fraction of second,
therefore scenarios covering multiple trading strategies
need to be developed and tested to ensure each strategy
works.
In the discovery phase of the functional testing, it is very
important to understand the complete product, identify all
the functionality and define a test plan. Once the test plan is
ready, the testing environment (which will simulate the real
time market) needs to be set up. Unit, smoke, regression
and integration test cases then need to be authored and
reviewed. Once the testing environment and test data are
ready, the test cases covering all the functionality need to
be authored and reviewed. Once the testing environment
and test data are ready, the test cases covering all the
functionality need to be executed. The functional testing
approach is explained in the below diagram:
AppLabs.com
App_WhitePaper_Testing_DarkPool_Trading_1v00 Page © 2008 AppLabs
Gateways (Interface) Testing:
Dark Pool Trading Systems communicate with various
internal and external systems. It is very important that the
communication between these interfaces is rapid with no
threat of data loss. As these systems are mainly used by
institutional traders and bulk executions occur in a short
space of time, interface testing plays a crucial role in
validating the data flow.
Testing of the interfaces basically ensures the existence
of communication between the client and server. The
validation of backend messages is done by connecting
to the various FIX gateways like DMA, IDCE, etc. The
various message tags are also validated for the protocols
like FIX (Financial Information Exchange), SIP (Securities
Information Processing) and ITS (Inter market Trading
System) in the respective gateways.
All the gateway testing is to be done using any of the
protocols (usually FIX is used for trading applications) to
ensure smooth flow of communication between various
gateways associated with the Dark Pool Trading Systems.
Performance Testing:
As the application deals with fast paced transactions,
any performance issues can lead to significant loss of
investment. It is very important that the application is
rigorously tested for its performance.
The performance testing approach is to go through the
networks, operating system, databases, application
validation levels, number of users, data flow, trading
volumes etc. and analyze each of the elements to ensure
it is performing at the desired capacity or service levels
and determine the elements which are degrading the
performance of the system.
As these applications are multi user, it is very crucial to
carry out the load testing of these applications which
helps in evaluating the performance of the hardware and
application with respect to performance and volume
targets. Load testing differs from traditional performance
testing as it usually refers to the practice of modeling the
expected usage of the system by simulating multiple users
accessing the program’s services concurrently. This is
critical to understand prior to implementation.
Conclusions
The volumes of the Dark Pool Trading Systems are
increasing every day and there is a huge scope for more
organizations to make an entry into this market. To remain
competitive, organizations need to ensure the rapid internal
development of algorithms, since conditions that support
algorithmic variables can change quickly and requirements
can differ greatly from one financial market to the other
and from one participant to the other. In addition, to give
the highest benefit to the client in terms of transactional
cost, and also to ensure the highest efficiency in execution,
the companies need to have a strong grasp on all system
performance. As the risk of failure is catastrophic, all these
strategies need to be rigorously tested before implementing
them in a live environment.
AppLabs.com
App_WhitePaper_Testing_DarkPool_Trading_1v00 Page © 2008 AppLabs
EXHIBIT - I
Testing Dark Pool Trading
Systems
Last Updated: 6th May, 2008
AppLabs.com
App_WhitePaper_Testing_DarkPool_Trading_1v00 Page © 2008 AppLabs
Introduction
The rapid changes in the financial markets have resulted
in liquidity being of paramount importance to investors.
Investment objectives have changed, technology has
changed and there are newer, more innovative products
available. The latency reduction concept is also playing a
part; every firm is now building or using systems that can
match orders within a fraction of second, giving them an
edge over their competitors. Almost every brokerage house
on Wall Street now operates an internal, electronic trading
system that takes incoming trades from clients and tries
to find a match internally before turning to other brokers,
electronic networks or the exchanges.
These internal systems, known as Dark Pool Trading
Systems are intended to trade stocks privately with the
objective of liquidating large stock positions at lower costs.
Recently, the changes in the financial markets in terms of
trading strategies, new product innovations, regulatory
requirements and growth in technology have resulted in an
increase in trading volumes. In addition to the increased
volumes on the exchanges, the volumes of trade on the
Dark Pool Trading Systems are growing daily. There are
currently 40 Dark Pool Trading Systems operational in the
US market. The pictorial representation of a dark pool
trade execution is shown as Appendix 1.
The Dark Pool Trading systems, mainly used by the
institutional traders who trade in large volumes, help
institutional investors in getting more liquidity with lower
transaction costs and less transparency. They also help
fund managers’ strategies that are best implemented with
the use of algorithmic trading.
High Risk Solution = Rigorous
Testing
IAs described above, the systems are complex by nature
and also involve significant financial transactions, so the
impact of any issues arising out of system downtime
is massive. It is therefore imperative that these systems
are well tested before their implementation into the
production environment. The testing must ensure that all
trading strategies, latency issues, regulatory compliances,
technological changes and the communication flow between
internal and external interfaces have been accounted
for and are functioning correctly. To remain competitive,
firms need to ensure the rapid internal development of
algorithms, since conditions that support algorithmic
variables can change rapidly and requirements can differ
greatly from one financial markets institution to the next.
These requirements need to be tested in advance before
implementing them in the real environment. In addition, to
quickly identify and address performance issues, firms need
the ability to monitor transaction costs, execution statistics
and other performance measurements in real time.
Challenges in testing
There are certain challenges when testing Dark Pool
Trading Systems:
Dark Pool Systems are developed mainly to provide
more liquidity to the market players. It is very important
that real time market scenarios are created in the testing
environment with market participation;
All the functionalities related to the product, business
rules and regulations, regulatory compliances, order
management and routing criteria etc., must be identified
in order to conduct complete end to end testing;
These systems support different products in different
regulatory environments and as such it must be
confirmed that these systems satisfy all the regulatory
requirements of each environment;
Each and every execution strategy must be tested;
The functionality must be identified and complex
scenarios for testing must be developed and
executed;
There must be verification of the logs generated during
the data flow between the different interfaces;
As communication between various internal and external
interfaces plays a major role for a smooth trading flow in
Dark Pool Trading applications, identifying the various
interfaces and ensuring an effective communication
flow between them becomes crucial.
Testing approach
Considering the complexity of these trading systems in
terms of technology, speed, functionality and system
performance, it is very important that functional testing
is conducted in addition to the gateways testing and
performance testing that must be done.
AppLabs.com
App_WhitePaper_Testing_DarkPool_Trading_1v00 Page © 2008 AppLabs
Functional Testing
As these applications are multi-product, multi-segment
and multi-user, end to end functionality testing of the
application is required. This requires the identification of
each functional area, and the subsequent smoke and unit
test cases of each need to be developed.
As the Dark Pool Trading Systems are linked with middle
office and back office systems for margining, accounting
and settlement, it is very important that all these systems
are integrated online/offline. So, integration test cases
and scenarios covering multiple functionalities need to be
developed and executed in the testing environment. The
trading opportunity exists only for a fraction of second,
therefore scenarios covering multiple trading strategies
need to be developed and tested to ensure each strategy
works.
In the discovery phase of the functional testing, it is very
important to understand the complete product, identify all
the functionality and define a test plan. Once the test plan is
ready, the testing environment (which will simulate the real
time market) needs to be set up. Unit, smoke, regression
and integration test cases then need to be authored and
reviewed. Once the testing environment and test data are
ready, the test cases covering all the functionality need to
be authored and reviewed. Once the testing environment
and test data are ready, the test cases covering all the
functionality need to be executed. The functional testing
approach is explained in the below diagram:
AppLabs.com
App_WhitePaper_Testing_DarkPool_Trading_1v00 Page © 2008 AppLabs
Gateways (Interface) Testing:
Dark Pool Trading Systems communicate with various
internal and external systems. It is very important that the
communication between these interfaces is rapid with no
threat of data loss. As these systems are mainly used by
institutional traders and bulk executions occur in a short
space of time, interface testing plays a crucial role in
validating the data flow.
Testing of the interfaces basically ensures the existence
of communication between the client and server. The
validation of backend messages is done by connecting
to the various FIX gateways like DMA, IDCE, etc. The
various message tags are also validated for the protocols
like FIX (Financial Information Exchange), SIP (Securities
Information Processing) and ITS (Inter market Trading
System) in the respective gateways.
All the gateway testing is to be done using any of the
protocols (usually FIX is used for trading applications) to
ensure smooth flow of communication between various
gateways associated with the Dark Pool Trading Systems.
Performance Testing:
As the application deals with fast paced transactions,
any performance issues can lead to significant loss of
investment. It is very important that the application is
rigorously tested for its performance.
The performance testing approach is to go through the
networks, operating system, databases, application
validation levels, number of users, data flow, trading
volumes etc. and analyze each of the elements to ensure
it is performing at the desired capacity or service levels
and determine the elements which are degrading the
performance of the system.
As these applications are multi user, it is very crucial to
carry out the load testing of these applications which
helps in evaluating the performance of the hardware and
application with respect to performance and volume
targets. Load testing differs from traditional performance
testing as it usually refers to the practice of modeling the
expected usage of the system by simulating multiple users
accessing the program’s services concurrently. This is
critical to understand prior to implementation.
Conclusions
The volumes of the Dark Pool Trading Systems are
increasing every day and there is a huge scope for more
organizations to make an entry into this market. To remain
competitive, organizations need to ensure the rapid internal
development of algorithms, since conditions that support
algorithmic variables can change quickly and requirements
can differ greatly from one financial market to the other
and from one participant to the other. In addition, to give
the highest benefit to the client in terms of transactional
cost, and also to ensure the highest efficiency in execution,
the companies need to have a strong grasp on all system
performance. As the risk of failure is catastrophic, all these
strategies need to be rigorously tested before implementing
them in a live environment.
AppLabs.com
App_WhitePaper_Testing_DarkPool_Trading_1v00 Page © 2008 AppLabs
EXHIBIT - I