Automating the trade execution process can be a very big step and will require careful design and planning. Start out with a conversation with your FCM. Get their published specifications. Ask them for references of other traders who are using their automated trade execution platform. How reliable and responsive is the FCM’s platform? What happens in the event that their platform is down or inaccessible? What are their disaster recovery procedures? Do they have a separate disaster recovery site that can be used in the event that the main production site is inaccessible?
Next, take a look at your hardware infrastructure. To properly monitor the trade execution software, you may need to purchase additional hardware, software and monitoring tools. By setting up the proper hardware infrastructure, you can minimize the risk that the automated trader would be down and no one would know about it. "Getting on the same page," (below) shows how the automated trader would be responsible for checking on the connection to the FCM and reporting a "heartbeat" to the database.
Monitoring your vital signs
The monitoring/alerting hardware would then check on the heartbeat in the database to ensure that the automated trader is active and functioning. The monitoring/alerting hardware also would write a heartbeat to the database and the automated trader would similarly check on this heartbeat to make sure the monitoring hardware was running. If either the monitoring/alerting hardware or the automated trader hardware does not detect the proper heartbeat then an alert would be sent to the human trader that something was wrong. Both the automated trader and the monitoring/alerting hardware generate a positive alert or heartbeat to the database saying "Hey, I am up and running and this is the last date/time I checked in."
Also, both machines check the heartbeat of the other machine to make sure the last time the other machine checked in was less than a user-defined number of seconds or minutes. This triangular monitoring will reduce the risk that the automated trader is not functioning without an alert
To complete the hardware infrastructure, several environments may be needed. In addition to the production environment, there also should be a quality assurance environment for user testing and implementation of code changes. A disaster recovery environment also should be set up in a separate location with separate connections to the FCM in the event of a disaster that disables the primary production environment.