DXFeed Python API via C API
Project description
dxfeed package
This package provides access to dxFeed streaming data. The library is build as a thin wrapper over dxFeed C-API library. We use Cython in this project as it combines flexibility, reliability and usability in writing C extensions.
This package already contains basic C-API functions related to creating connections, subscriptions etc. Moreover default listeners (functions responsible for event processing) are ready to use. The user is also able to write his own custom listener in Cython
Installation
Requirements: python >3.6, cython, pandas
pip3 install cython pandas
Install package itself with PyPI
pip3 install dxfeed
or with tar.gz artifact
pip3 install dxfeed-x.x.x.tar.gz
NOTE
MacOS is not supported yet
Basic usage
All the functions in C API have similar ones in Python with the same name. Not all arguments are supported by now, this work is in progress.
Import dxfeed library:
import dxfeed as dx
Create connection:
con = dx.dxf_create_connection(address='demo.dxfeed.com:7300')
Create one or several subscriptions of certain event types:
sub1 = dx.dxf_create_subscription(con, 'Trade')
sub2 = dx.dxf_create_subscription(con, 'Quote')
'Trade', 'Quote', 'Summary', 'Profile', 'Order', 'TimeAndSale', 'Candle', 'TradeETH', 'SpreadOrder', 'Greeks', 'TheoPrice', 'Underlying', 'Series', 'Configuration' event types are supported.
Add tickers you want to get data for:
dx.dxf_add_symbols(sub1, ['AAPL', 'MSFT'])
dx.dxf_add_symbols(sub2, ['AAPL', 'C'])
Attach listeners:
dx.dxf_attach_listener(sub1)
dx.dxf_attach_listener(sub2)
dxfeed
has default listeners for each event type, but you are able to write
your custom one. You can find how to do it at example/Custom listener example.ipynb
.
Look at the data:
sub1.get_data()
sub2.get_data()
The data is stored in Subscription class. You can also turn dict to pandas DataFrame simply calling
sub1.to_dataframe()
.
Detach the listener, if you want to stop recieving data:
dx.dxf_detach_listener(sub1)
dx.dxf_detach_listener(sub2)
Finally, close your connection:
dx.dxf_close_connection(con)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.