How to Request Market Events
How to get data
Check what symbols are available for you in your IPF.
Check available market depth.
Make a request via API.
Java API
import com.dxfeed.api.DXFeed; import com.dxfeed.api.DXFeedSubscription; import com.dxfeed.event.market.Quote; /** * Subscribes to Quote events for a specified symbol and prints them until terminated. */ public class PrintQuoteEvents { public static void main(String[] args) throws InterruptedException { String symbol = args[0]; // Use default DXFeed instance for that data feed address is defined by dxfeed.properties file DXFeedSubscription<Quote> sub = DXFeed.getInstance().createSubscription(Quote.class); sub.addEventListener(events -> { for (Quote quote : events) System.out.println(quote); }); sub.addSymbols(symbol); Thread.sleep(Long.MAX_VALUE); } }
Rest API
Web:
https://tools.dxfeed.com/webservice/rest/events.json?events=Trade&symbols=AAPL,MSFT,IBM
C# API
Python API
import dxfeed as dx # We need this package to use sleep() import time from datetime import datetime, timedelta endpoint = dx.Endpoint('demo.dxfeed.com:7300') symbols = ['AAPL'] print(f'Connected address: {endpoint.address}') print(f'Connection status: {endpoint.connection_status}') trade_sub = endpoint.create_subscription('Trade') trade_handler = dx.DefaultHandler() trade_sub.set_event_handler(trade_handler); trade_sub = trade_sub.add_symbols(symbols) # The date we specify here is start date. # When it is datetime.now() it won't return anything, probably, # as effectively we say: "Give me TimeAndSales that happened just now". # Let's say we need all TimeAndSales for the last 24h untill now. tns_sub = endpoint.create_subscription('TimeAndSale', date_time=datetime.now() - timedelta(days=1)) \ .add_symbols(symbols) tns_handler = tns_sub.get_event_handler() print(f'TimeAndSale subscription event type: {tns_sub.event_type}') print(f'Trade columns: {trade_handler.columns}') # We need to wait for a while to allow for data reception # otherwise program may exit before receiving anything time.sleep(2) # Default handler just stores everything it receives inside itself. # We can access it as a list or dataframe print(tns_handler.get_dataframe()) trade_sub.close_subscription() tns_sub.close_subscription() endpoint.close_connection() print(f'Connection status: {endpoint.connection_status}')