Market data (tickstream)

We extract from /var/log/messages both Market data,
and History information, as retrieved by the
trading-shim, for the Dow Mini, a 'FUT' (Future), ticker 'YM',
traded through Interactive Brokers through their 'SMART' exchange.

Order management

[full size, in a new panel for study]
This is an interesting screen shot on the way to orders --
The tool being used to 'visualize' the network packet flow is
tcpdump. All
sniffing is being done at the client [IP: 10.16.1.101]
running the shim.

The order was placed from the client computer
by the bin/unsafe testing script driving the shim
with commands (center left panel); this uses the database information which
ships with the standard trading-shim SQL load, using:
sql/create.sql :

In turn (in part), the shim consulted its database
of 'Contract ID's' to
validate the command, and then converted this to a socket command
stream (top right panel) that the TWS can understand,
and sent to the TWS across the network:

13:38:34.086341 AIG.STK..0.00..1.SMART..USD..SELL.100.MKT.0.0.0.0.DAY

As said, that was sent out on the wire to another computer
[IP: 10.16.1.105] running the TWS.

That upstream computer
communicated to IB, and then returned a execution report of it being filled
as received back from IB by that TWS. This is out of the
screenshot, as it would not fit both frames:

The very last line in the panel peeking from underneath at the bottom left
shows the trade:

SLD 100 AIG Stock AIG 66.57 USD ISLAND 20061102 13:38:34 00018037...

And the shim reports the trade in the fourth through sixth lines
starting with the word: Nov in the top left panel.
Note that these lines
wrap across the screen and are displayed with a spillover linewrap
continuation. We spread them out a bit here

Order takeaways

Yes, the order completed round trip, from transmission of a well-formed
request to fill confirmation,
in 0.164853 Sec.,
and the shim finished reporting the fill in a formatted form to
the downstream client through logging
0.000472 Sec. after that. Sub Second fills, and sub milliSecond reporting.
We are really pleased with the speed here, in light of our focus on 'design
for scalability to hundreds of simultaneous lines of inquiry'.