General information, structure, and performance
The architecture of QUIK Software Package employs client-server technology. The core of the software package is the QUIK server which provides functionality for data exchange between external software packages and transaction processing, as well as additional functionality for arrangement of the broker's and his clients' operations. User applications connect to the QUIK server via the Internet (TCP/IP), receive data, and send transactions to trading systems (trading platforms of partner brokers) through the server. In some cases, external systems can interact with the QUIK server through dedicated communication channels (trading platforms of asset managers, accounting systems).
Current information from trading systems (trading platforms of partner brokers) is processed directly in the RAM, while such information as user's registration data, system rights, operation logs that must be kept for at least one day is entered into a database. Communication with the database requires a special interface which simplifies the change of the DBMS type. The received data is stored in a cache for quick recovery after a fault.
Scalability achieved through intermediary access servers. Developers of the QUIK Software used Microsoft Visual Studio, C++, and Borland Delphi. The server and client software both employ the Windows operating system.
The QUIK Software Package is certified for available trading systems, and inter-broker technological infrastructures.
General Structure of the System
The speed of response in the software package between the server and the QUIK workstation depends on several variables:
- Delay of market data delivery depends on channel capacity, and the percentage of lost data packets. Data translation delay on the broker's server used by clients is less than 1 second. High speed of the information supply is ensured by using push-technology, and a specially designed communication protocol.
- The speed of transmitting transactions to the trading system depends on the response time of a trading system's gateway. This value varies widely from one trading system to another. Time delays related to transaction processing in QUIK by the broker's server are ten times shorter than the response time of the trading system, and are not critical.
- Most information is processed in the RAM of the server, and is cached on the drive in the form of binary files. In the case when the server needs to be restarted, the information is synchronized directly with the trading system. This is of fundamental importance as it enables high performance of data processing and minimal trading latency.
Special Server Communication Protocol
To achieve the best performance of data transfer over the Internet, a special optimized protocol for communication with the server was developed. Its advantages include:
- quick recovery after a communication failure enables work with the program within seconds after connection is reestablished.
- supply of new data important for evaluation of the market situation has priority over historical data which is transmitted in between new data.
- optimized traffic: the workstation can automatically restrict the number of instruments transmitted from the server and related parameters required for its operation, and thus reduce the communication channel load.
QUIK Administrator manages user rights and the server business logic.
The software administrator can configure user authority levels for access to information and operations, set up individual tariff plans for commissions, and margin lending parameters.
In addition to the main terminal, there is a special application QMonitor. It monitors the server robustness, and connections to external program platforms.
The following performance statistics of QUIK Software were measured during actual operation:
Average load on the communication channel
about 50 Kbit/s per user
Number of trades per server per session
over 10 000 000
Number of users simultaneously served on one server
over 5,000, with Access Servers, the number of simultaneously serviced client accounts is virtually limitless
Time of placing an order in the ASTS trading system
800 per second from a single server
Time of placing an order in the SPECTRA trading system
600 per second from a single server