Skip to main content

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, pandas

pip3 install pandas

Install package via PyPI

pip3 install dxfeed

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.

Attach listeners:

dx.dxf_attach_listener(sub1)
dx.dxf_attach_listener(sub2)

Add tickers you want to get data for:

dx.dxf_add_symbols(sub1, ['AAPL', 'MSFT'])
dx.dxf_add_symbols(sub2, ['AAPL', 'C'])

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dxfeed-0.2.0.tar.gz (407.1 kB view details)

Uploaded Source

File details

Details for the file dxfeed-0.2.0.tar.gz.

File metadata

  • Download URL: dxfeed-0.2.0.tar.gz
  • Upload date:
  • Size: 407.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.3 CPython/3.7.3 Windows/10

File hashes

Hashes for dxfeed-0.2.0.tar.gz
Algorithm Hash digest
SHA256 12ea98a9e5661af5640777cd18de9bf192eccfc3a25a0ef689cffda5fe909d18
MD5 091502915f1390e1bc008625dfaf3ffc
BLAKE2b-256 824a4840d60837c60b9cb7dfdb6c79866741b3ce2509fed1d2a2710577034ebd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page