TSX and Pure Trading Feed Reader Service
The Feed Reader service provides a Microsoft Excel Real Time Data (RTD)
interface and a TCP socket interface to the following stock exchange data feeds:
- Toronto Stock Exchange (TSX) level 1 (TL1, CL1, CNQ, CDL, TCM, XL1, FX1, FX2, NEN etc) feeds
- TSX level 2 (TL2, CL2) feeds
- Pure Trading (PT) level 1 feed (PL1)
- PT level 2 feed (PL2)
The Feed Reader service manages all details of the TSX and PT feed protocols.
Reception of multicast and retransmission UDP packets and connection to the retransmission
server are handled by the Feed Reader service and the client application is
presented with a simple TCP or RTD interface that provides a reliable stream
of TSX and PT level 1 or 2 feed data in real time with minimal latency.
The Feed Reader service consists of multiple processing modules (PM) with a
minimum of 2 PMs to provide redundant service.
Additional PMs can be added to support more connections.
The Feed Reader service connects to the TSX and/or PT provided routers on one Ethernet
interface and to the client Local Area Network (LAN) on a second Ethernet interface.
An optional client provided firewall can sit between the Feed Reader service
and the client LAN. The client firewall is configured to allow incoming
connections to the published list of services provided by the Feed Reader
service, one per TSX or PT feed.
The Feed Reader service does not route between the TSX or PT segment and the client LAN segment.
A web interface allows the system to be configured and monitored (bandwidth, # packets etc.)
As well, the system generates alerts upon common failures (no heartbeats from TSX or PT, retransmission requests etc.)
Feed Reader Web Interface - State
Feed Reader Web Interface - Bandwidth
Latency will increase as the number of connections increases,
but the quoted hardware supports a reasonable number of RTD connections and TCP connections.
The system can scale linearly by adding more PMs.
Feed Reader Technical Overview Diagram
The Feed Reader service provides a Microsoft Excel Real Time Data (RTD) interfaces
to one or more TSX level 1 (TL1, CL1, etc) feeds and the PT level 1 feed (PL1).
Only level 1 (TL1, CL1) RTD data are included with the Feed Reader service.
A level 2 (TL2, CL2, PL2) RTD interface is included with the optional Market By Price Service and
Market By Order Service described below.
A Windows DLL is provided for the Excel RTD interface, allowing level 1 data
(ask/bid price, ask/bid volume, trade price, trade volume, buy/sell broker ID)
to be accessed in an Excel spreadsheet.
Feed Reader API Document
There are no per seat charges, unlimited connections to applications are allowed,
up to the limit that can be supported by the hardware.
It the responsibility of the client to handle the reporting and payment for fee liable data to the TSX and/or Pure Trading.
There are no per TSX or PT feed charges,
all feeds as received from the TSX or PT can be accessed.
New TSX or PT feeds can be added on the fly with no additional configuration or cost.
A pair of redundant PMs provide fault tolerant access to TSX and PT feeds
and are designed to handle all single failures and some multiple failures
and still deliver uninterupted TSX and PT data to the client applications.
Client applications will need to implement the same redundant architecture in
order to achieve the same level of fault tolerance.
Client applications can implement load balancing by preferentially connecting
to different Feed Reader PMs based on a random, round robin or other scheduling algorithms.
Fault tolerant Feed Reader service is based on the following redundant components and assumptions:
- Separate data communications circuits to the TSX/PT Markham and Toronto data centers,
each circuit should follow a unique path such that no lines or equipment are
shared in common.
- Separate routers terminating the TSX/PT Toronto and Markham circuits.
This is manditory due to restrictions imposed on routing multicast traffic
to the same port from different multicast group addresses.
- Feed Reader service has exclusive use of the TSX/PT Toronto and Markhan
circuits. This is to avoid bandwidth and TSX/PT retransmission server
- Separate UPS for each Feed Reader PM, TSX/PT terminating router and
optional client LAN firewall pair.
Each UPS should be on a different AC power circuit.
- Each Feed Reader PM should terminate on a different client LAN segment
to avoid loss of service due to the failure of a single client LAN router and/or switch.
Feed Reader Support Responsibilites Diagram