Fill Server: Overview
The Fill Server manages functions related to fills and positions within the TT Gateway. In real time, the Fill Server receives real-time fill records, administrator delivered manual fill records, and SOD/DSOD position corrections from the Fillsource and broadcasts this information to client applications. Additionally, the Fill Server responds to requests for historical fill data, fill confirmations, and position records.
For this discussion on the Fill Server, the following terms and definitions apply:
- Fillsource: The component within an application
that communicates with the Fill Server. Some examples of Fillsources
include Order Servers, Orders Routers, Back Office BridgeTM (formally Position
Mover) and X_RISK®.
Multiple fillsources can deliver information to one Fill Server and each fillsource can broadcast information to multiple Fill Servers.
- Exchange-Flavor_ID_Mode_fills.tbl: The Fillsource creates this file to store and forward fill data.
- Exchange-Flavor_ID_Mode_bof.tbl: The Fill Server creates this file to store, update, and manage fill data.
- Net Position: The cumulative sum of a trader’s current position and Start of Day position for a particular contract.
- Start of Day (SOD): With Auto-Calculate-SOD enabled, the SOD equals the net position that a trader had on a specific contract during a previous trading session. Since Auto-Calculate-SOD is disabled by default, the SOD equals zero at rollover.
- Detailed Start of Day (DSOD): Similar to SOD, DSOD add specific trader information to the fill and position records. This allows traders to match fills based on a specific account number or account type.
- Rollover: The time at which the Fill Server switches from one trading session to the next. At this time, the Fill Server also generates Start of Day position records.
Real Time Fill Data
The Fill Server validates all incoming fills and stores them to the *_bof.tbl file. All data in this file is indexed by sequence number and a unique fill key.
The Fill Server can guarantee that fill keys are unique within either the number of days set by the Trim_File_Interval parameter in the Aconfig Utility or a maximum of ten (10) days.
The Fill Server assigns each fill an incrementing sequence number based on the order it was received. In an environment with multiple Fill Servers, sequence numbers are not synchronized and can only uniquely identify a fill record on a single Fill Server. In this scenario, the fill key ensures uniqueness across failover Fill Servers.
Manual fills allow an administrator to deliver back office fills similar to Back Office BridgeTM. Using X_RISK®, administrators can view, enter, and update fills for trades not placed through client applications. X_RISK® forwards manual fills in real-time to the selected trader’s X_TRADER®. Also, once published, X_RISK® considers manual fills in risk limit calculations.
Risk administrators can publish manual fills even with Auto-Calculate-SOD enabled.
Historical Fill Data
The Fill Server responds to client requests for historical fills by searching its rolling cache. The Fill Server has a default cache of 80000 which is configurable by the Cache-Size parameter in the AConfigUtil. This parameter is located at AConfigCoreServerExchange-SpecificExchange-flavorFill-Server.
If the amount of fills exceeds the value set by the Cache-Size parameter (i.e., the cache rolls over), then the Fill Server caches the most recent fills and stores the remaining older fills in the *.bof* file. Stored fills in the *.bof* files are also available for searches.