PyRFA enables Python users to access real-time Thomson Reuters market data systems e.g. Elektron, TREP-RT, RDF-D, legacy RMDS -- delivered via a high-speed network. It empowers Python applications with market information from Thomson Reuters global data feeds and leverage on Python's vast mathematic and analytic libraries. Either you want to incorporate market data into quant modeling or embed it in a web site, it's never been easier.
PyRFA is available from PyPI with support on both Windows and Linux. Download stats are available here. PyRFA can be installed with:
pip install pyrfa
Below is an example of a PyRFA consumer application. Data updates are in Python tuple and dict format which can be used immediately.
p = pyrfa.Pyrfa()
end = False
while not end:
updates = p.dispatchEventQueue(100)
for u in updates:
print(u['SERVICE'] + " - " + u['RIC'])
for k,v in u.items():
print("%15s %g" % (k,v) if type(v) is float else "%15s %s" % (k,v))
end = True
NIP - EUR=
PyRFA hides complicated layers of RFA classes and takes care of redundant function calls in C++, internally encodes and decodes messages then exposes the simplest interfaces to a user and yet maintain strict concepts of RFA such as Session, Config Database, Event Queue.
Python programming language works well with C/C++ libraries like RFA. Its core libraries allow building extension in C++ and export interfaces to Python. With huge range of supported libraries, users find Python is a language of choice when building either a standalone application or web framework with scalability and robustness.
PyRFA extensively implements RFA threading models to ensure that a user can still select between latency or throughput constraints at the configuration level.
Performance matters. Our software design pattern ensures PyRFA performance to be as close as to a native RFA C++ application.
PyRFA 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.
Streaming 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 service with selectable peroid.
See an example.
Full-cached non-interactive data publication capability for standard OMM level 1, 2, depth, order book, symbol list and service directory.
Build Your Own Historical Database
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.
Linux vs. Windows
PyRFA supports for both 32/64bit Windows and 64bit Linux. Requires Python 2.6 or later.
Python Data Type
PyRFA outputs decoded data into native Python data type such as tuple and dict allowing quick access of data records.
Include dictionary download, symbol list, service direcotry listing, NIC binding, logging and more.
Check out API documentation
Available in PyRFA Enterprise Support