Transforming Thomson Reuters' high performance RFA C++ API as an extension in Tcl programming language. With TclRFA, you can have a working Thomson Reuters market data consumer application in an amazingly simple 20 lines of code and not thousands as in traditional C++. Better yet, the same script runs on both Windows and Linux without modifying of base scripts.


package require tclrfa
set t [tclrfa]
$t createConfigDb "./tclrfa.cfg"
$t acquireSession "Session1"
$t createOMMConsumer
$t login
$t directoryRequest
$t dictionaryRequest
$t marketPriceRequest "JPY= EUR= AUDSGD= SGDTHB="
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]"
$t marketPriceCloseAllRequest
BID 1.2901
ASK 1.2914
BID_1 1.2907
BID_HIGH_1 1.2939
BID_LOW_1 1.2886
ASK_1 1.2911
TIMACT 09:59



RFA Interfaces
TclRFA hides complicated layers of RFA classes, take care of redundant function calls in C, internally encode/decode messages and expose the simplest interfaces to a user and yet maintain strict concepts of RFA such as Session, Config Database, Event Queue.

Why Tcl?
Tcl is probably the most kept secret scripting language in the entire industry with powerful regular expression engine (powerful enough that RFA uses it internally), flexible syntax, package management and ease of bilding a C extension and its nature of dynamic typing as opposed to static typing in C++ and Java that makes coding less complicated.

C/C++ Underneath
Our design pattern ensures TclRFA performance to be close to a native RFA C++ application. Feed data including real-time, snapshot, order book, depth and time-series are pushed into a Tcl dict format allowing quick access to specific fileds.

TclRFA is free software and released under MIT License.

But Why Free?
It is made out from our own needs and we use it in-house extensively.

Latest Update
Read our changelog.


Subscription or Snapshot
Supports market price, depth and order book subscription via OMM messaging.

Supports native Thomson Reuters DAC auth including Username, Position and App ID.

Ability to download and decode time-series data from TS1 services with selectable peroid.

Data Publication
Only with PyRFA that allows you to build your own indexed time-series and store the data in TREP-RT platform for internal distribution leveraging on OMM custom domain.

Build Your Own Historical Database
Only with PyRFA, it allows you to build your own indexed time-series and store the data in TREP-RT for distribution leveraging on OMM custom domain.

Linux vs. Windows
TclRFA supports for both 32bit Windows and 64bit Linux and requires Tcl 8.5 or later.

Stub Aware
TclRFA is build with Tcl stubs technology. Meaning it will be forward compatible with Tcl future versions.

Other Goodies
Include dictionary download, symbol list, service direcotry listing, NIC binding, logging and more.


Visit our GitHub page for downloads and API guide


Need Help?

Report an issue on GitHub