The software for a comprehensive automatic negotiation system, as well as running the whole negotiation process and generate the necessary information for follow-up, must have some characteristics that are essential for their utilization and require the use of different technologies that I will enumerate, referring to them by their acronyms, which may be somewhat tedious but it is nevertheless the most simple and accurate to do so.
1. Reliability or trustworthiness
This is the feature I think is the most important and that translates into the ability of software to run the algorithm, exactly as planned, without errors or crashes that often invalidate the real-time systems.
This requires the use of a stable platform for development and implementation of software, which includes the Operating System, Relational Database Management System (RDBMS) accessed through SQL (Structured Query Language), and the IDE (Integrated Development Environment), whose central part is the programming language.
The software should be designed in a structured way, preferably using Object Oriented Programming (OOP) methodology, which allow the linking of data to procedures and events, resulting in a more tidy code, easy to maintain and therefore more reliable.
2. Communicability
Communicability is the software's ability to dialogue easily with external heterogeneous systems to exchange information.
Besides the usual interaction with the software keyboard, mouse, reading devices and data storage, monitor and printer there are other needs specific to a trading system;
i) Communication with the Broker
Large institutions use the FIX (Financial Information eXchange) protocol, based on XML for direct market access (DMA) to stock exchanges.
As alternative hypothesis, communication can be made with a broker to receive quotes and send orders, since it has developed an interface and make it available to its customers typically through an API (Application Programming Interface) with the trading station, usually using methodologies such as Component Object Model (COM), OLE Automation, ActiveX or Dynamic Data Exchange (DDE) which allows the use of objects (data, functions and events) described in different programming languages.
ii) Dial-up modem
Issuing of alerts to warn of abnormal situations (such as the interruption in receiving quotes) can be done locally through the speakers connected to the computer itself.
If the interruption has been originated with a break of service of the Internet access and the responsible for monitoring is missing, it could be accomplished using an alternative method: the dial-up phone number of the responsible person for, using a modem connected to a serial port and the public switched telephone network, which will ensure an immediate alert.
However, it is prudent to admit that, despite several rounds of debugging done and given their inherent complexity, the negotiation application can fail at any given moment no one is monitor it.
So how do you know if the application is always running?
iii) Windows API and its system of internal exchange of messages
One possible solution is to use a simple local application, whose mission is to oversee the negotiation application, mantaining a 'conversation' with her constantly, using API Windows functions and is messaging system, and respond (by example making a phone call) when do not receive response after a given timeout period.
iv) TCP / IP ports and Windows Sockets
This solution does not solve the situation of computer failure, since both applications would stop simultaneously.
To resolve such, it must be installed a remote application with the same functionality in a remote computer in the network or in any other physical location, linked by TCP / IP and with the same functionality, which will use the Windows sockets, and their ports to communicate.
v) Synchronization using Time Servers
Dispersion of components of the Trading Platform at various computers located in remote locations, requires their synchronization using a computer network (WAN) Wide Area Network to communicate with Time servers using NTP (Network Time Protocol).
Time Servers are server computers that read the time of an atomic clock and distribute it via the Internet.
vi) SMTP using Secure Sockets Layer (SSL)
It will also be very useful to send automatic emails with information about the negotiation state (transactions, positions held and portfolios valuation).
To this end it may be used a protocol for mail transfer (SMTP) to communicate with mail servers securely, encrypting it by using Secure Sockets Layer (SSL).
vii) SMS sending through gateways using SOAP
Using Simple Object Access Protocol (SOAP) for sending automatic summary information by SMS (Short Message Service), to selected mobile operators / customers, for reception anywhere in the world through the GSM (Global System for Mobile Communications).
viii) Placement of information on a site via FTP or Web Services
To achieve global coverage, the information can be formatted in HTML (HyperText Markup Language) and put in place in real time using a protocol for file transfer (FTP or Web Services), and may be accessed by anyone anywhere across the Internet.
ATrader - Automatic or Algorithmic Trader is a trading platform that uses listed above ITs (Information Technologies) .
No comments:
Post a Comment