Skip to content

Tcl API for accessing Thomson Reuters real-time data feeds (Elektron, TREP-RT, RMDS, RDFD)

License

Notifications You must be signed in to change notification settings

devcartel/tclrfa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TCLRFA

TclRFA provides Tcl extension for accessing Thomson Reuters market data feeds such as Elektron, RMDS,Thomson Reuter Enterprise Platform for Real-time (TREP-RT) or RDF-D. It supports subscription and publication of level 1 and 2 market data using OMM data message model.

Features:

  • Subscription for Market Price (level 1)
  • Subscription for Market by Order (order book)
  • Subscription for Market by Price (market depth)
  • Snapshot request
  • Multiple service subscription
  • Pause and resume subscription
  • OMM Posting
  • View
  • Dictionary download or using local files
  • Directory request
  • Symbol list request
  • Timeseries request and decoder for IDN TS1
  • Custom domain MMT_HISTORY which can be used for intraday publishing
  • Non-interactive provider for MARKET_PRICE, MARKET_BY_ORDER, MARKET_BY_PRICE, SYMBOLLIST, HISTORY domain
  • Interactive provider for MARKET_PRICE domain
  • Debug mode
  • Logging
  • Low-latency mode
  • Subscription outbound NIC binding

Tclrfa is written with C++ and ported as a stub extension for Tcl 8.5+

INSTALLATION

Download a package from:

Version Release Date Windows (64-bit) Linux (64-bit) Windows (x86)
8.1.0 17 Mar 17 download download -
7.7.0 17 Mar 17 - - download

Then run:

> unzip tclrfa<version>-<platform>.zip
> cd tclrfa<version>-<platform>/
> tclsh setup.tcl install

See changelog.

SUPPORTED SYSTEMS

  • Linux x86 64bit
  • Windows x86 32 and 64bit

With Tcl8.5+. We recommend ActiveTcl 8.5 from ActiveState.

EXAMPLE

package require tclrfa
set t [tclrfa]
$t createConfigDb "./tclrfa.cfg"
$t acquireSession "Session1"
$t createOMMConsumer
$t login
$t directoryRequest
$t dictionaryRequest
$t marketPriceRequest "EUR= JPY="

while {1} {
    foreach u [$t dispatchEventQueue] {
        puts "\n[dict get $u SERVICE] - [dict get $u RIC]"
        foreach {k v} $u {
            puts "[format "%15s    %-10s" $k $v]"
        }
    }
}

SUPPORT