Python API for Thomson Reuters Enterprise Platform
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
examples Update directory.py example Feb 7, 2018
API.md 8.5.0 release Jul 18, 2018
CHANGELOG7.md 8.1.0 release Mar 17, 2017
CHANGELOG8.md 8.5.2 release Sep 7, 2018
LICENSE.txt 8.4.0 release Apr 24, 2018
README.md Update README.md Nov 6, 2018

README.md

PyRFA

version pyversion version platform license downloads

PyRFA is a Python API for accessing Thomson Reuters market data feeds known as Elektron, Thomson Reuter Enterprise Platform for Real-time (TREP-RT) or legacy RMDS. It supports subscription and publication of market data using OMM data message model.

application

Features

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

Installation

PyRFA supports both Windows and Linux platforms. Simply install from PyPI using pip:

> pip install pyrfa

Windows users might need to install Microsoft Visual C++ 2010 SP1 Redistributable Package (x64) or (x86).

Platform Availability

Windows

Version Release Date 64bit-Windows, Python 3.6 64bit-Windows, Python 3.5 64bit-Windows, Python 3.4 64bit-Windows, Python 2.7 64bit-Windows, Python 2.6 32bit-Windows, Python 2.7 32bit-Windows, Python 2.6
8.5.2 7 Sep 18
7.7.0 17 Mar 17

Linux

Version Release Date 64bit-Linux, Python 3.6 64bit-Linux, Python 3.5 64bit-Linux, Python 3.4 64bit-Linux/RHEL7, Python 2.7 64bit-Linux/RHEL6, Python 2.6
8.5.2 7 Sep 18

Example

import pyrfa
p = pyrfa.Pyrfa()
p.createConfigDb("./pyrfa.cfg")
p.acquireSession("Session1")
p.createOMMConsumer()
p.login()
p.directoryRequest()
p.dictionaryRequest()
p.marketPriceRequest("JPY=,EUR=")
end = False
while not end:
    try:
        for data in p.dispatchEventQueue(10):
            print(data)
    except KeyboardInterrupt:
        end = True

Output:

...
{'MTYPE': 'UPDATE', 'RIC': 'JPY=', 'SERVICE': 'IDN_RDF_SDS', 'IRGPRC': 0.24}
{'MTYPE': 'UPDATE', 'ASIA_NETCH': 0.7, 'SERVICE': 'IDN_RDF_SDS', 'RIC': 'JPY='}
{'MTYPE': 'UPDATE', 'BID_NET_CH': 0.26, 'RIC': 'JPY=', 'SERVICE': 'IDN_RDF_SDS'}
...

Support

Available support including API documentation, Replay Service guide, changelog, issue tracker: