Skip to main content

Trayport (.NET) Market Data Connector

Trayport Data Connector based on Joule Direct API (.NET Core).

Features

trayport_netConnector Key
Instrument Types
FuturesEnergy
Technology
Custom API
Feed Mode
Real-Time
Order Book Update Mode
SnapshotIncremental Updates
Order Book Type
Non-Aggregated
Message Types
Level 1
Level 2
Level 3
Trades
Funding Rates

Configuration

Data Connector Parameters

ParameterDefault ValueDescription
ServerN/AAddress of the Trayport server.
Port443Port number of the Trayport server.
Proxy Host127.0.0.1Address of the internal GV API Proxy. Usually, you don't have to change this value, it should be 127.0.0.1
Proxy Port31337Port number of the internal GV API Proxy.
User NameN/AUser name for connecting to the Trayport server.
PasswordN/APassword for connecting to the Trayport server.
Use L3 ModefalseEnable to use L3 Universal Data Model instead of L2 Model.
Output Book Size20Size of the output book.
Snapshot Interval10SThis property sets an interval in seconds between periodical Level2 snapshots which sent to Aggregator.

Snapshots will be generated as soon as this threshold is exceeded AND the next increment message arrives. Conversely, snapshots are NOT generated every period if no data is coming in.

Default value is 10 seconds.
Broker ID As ExchangefalseSplit L2 order book by BrokerID field.

Note: OrderSummary messages subscription is not allowed in this mode. Trade will use InitiatorBrokerId as Exchange.
Split Implied BooksfalseSplit L2 order book by order's ImpliedType field.
Implied type will be encoded in the exchange name postfix: .Native, .Venue or nothing for None implied type.
Autofilter TradestrueIf checked, trade messages are filtered by action (Insert and Query only). Uncheck to get raw TRADE stream.
Filter Untradable OrdersfalseIf checked, orders with IsTradable=No field will not be processed for L1/L2 data.
Process FIRM Orders OnlyfalseIf checked, only orders with status=Firm will be processed for L2 data.
Calculated Prices Depth0If you want to enable calculated prices connection option, set maximum depth number. Zero to disable this option.
Trade Update On MetadatafalseIf you want to enable ENABLE_TRADE_UPDATE_ON_METADATA connection option, set this option true. Required for InitiatorJDMemo and AggressorJDMemo fields of TradeEntry.

Symbology

Trayport symbol code consist of InstrumentID, Type, SequenceID, FirstSequenceItemID and SecondSequenceItemID divided by sharp symbol (#)

ExamplesDescription
10001126#Single#10000106#10#0(Yearly Germany Baseload for 2013)
10001126#Single(Group subscription)

Use the TrayportMetadata utility to dump live referential data (instruments, sequences, sequence items, and groups) and look up the IDs that make up a symbol.

Utilities

The connector ships with standalone command-line utilities under the tools folder of the Trayport (.NET) connector distribution (next to TrayportProxy). Binaries are published per runtime: tools/win-x64, tools/linux-x64, and tools/osx-arm64.

TrayportMetadata

Connects to a Trayport Joule Direct server and exports instrument referential metadata to XML files in the current working directory. Use these files to discover symbol components (InstrumentID, SequenceID, sequence items, groups) for subscriptions.

Prerequisites: .NET 9 runtime (Microsoft.NETCore.App 9.x) and valid Trayport credentials (same host/port/user/password as the connector).

Usage:

TrayportMetadata <host> <port> <user> '<password>'
ArgumentDescription
hostAddress of the Trayport server (same as the connector Server parameter).
portPort number of the Trayport server (same as Port, typically 443).
userUser name for connecting to the Trayport server.
passwordPassword for connecting to the Trayport server. Quote the value if it contains spaces or shell-special characters.

Output files (written to the process working directory):

FileContents
Instruments.xmlInstrument definitions (InstDefinitions.QueryAll).
Sequences.xmlSequences.
SequenceItems.xmlSequence items.
Groups.xmlGroups (useful for group subscriptions such as InstrumentID#Single).

Windows example:

cd C:\path\to\trayport_net\tools\win-x64
TrayportMetadata.exe jouledirecttest 443 USERNAME "PASSWORD"

Linux / macOS example:

cd /path/to/trayport_net/tools/linux-x64 # or osx-arm64
./TrayportMetadata jouledirecttest 443 USERNAME 'PASSWORD'

On success the utility prints progress to stdout (Connecting…, Querying Instruments…, …, Done.) and exits with code 0. Session establishment or unexpected errors are reported to stdout with an [ERROR] prefix and a non-zero exit code.

Logging

To enable detailed logging, use these lines in the <QSHOME>/config/gflog.xml file:

<logger name="deltix.qsrv.hf.plugins.data.trayport_net" level="TRACE">
<appender-ref ref="safeAppender"/>
</logger>