Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

308 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyRFA

version pyversion format platform license downloads Sponsor

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.7 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.3 19 Nov 18
7.7.0 17 Mar 17

Linux

Version Release Date 64bit-Linux, Python 3.7 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.3 19 Nov 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:

Releases

Packages

Used by

Contributors

Languages