CME Order Routing Adapter Sample

Sample Overview

This topic describes how to run the TIBCO StreamBase® Adapter for CME iLink sample application, which illustrates how to use the operators with a CME server. For more information on this adapter, see CME iLink Order Routing Adapter.

This sample includes an input and output iLink operators, which are configured to share a connection via a session definition named Test MSGW Session (you will need to alter this session definition to fit your needs as explained below). Once connected, use the sample to send and receive FIX messages with the CME server.

Note

This adapter relies on StreamBase's High Performance FIX Engine, which requires a separate license from TIBCO and is available as a separate installer from TIBCO's download site.

Importing This Sample into StreamBase Studio

In StreamBase Studio, import this sample with the following steps:

  • From the top-level menu, select File>Load StreamBase Sample.

  • Enter CME to narrow the list of options.

  • Select CME iLink Order Entry adapter from the StreamBase Trade Execution Adapters category.

  • Click OK.

StreamBase Studio creates a single project for the CME Order Routing Adapter in your current Studio workspace.

Running This Sample in StreamBase Studio

Run this sample in Studio using the following steps:

  1. Before running you must:

    • Obtain a copy of your trading account's access keys, provided to you by CME.

    • Edit the src/main/resources/adapter-configurations.xml file to insert the correct values for your desired session's settings (host, port, comp ids, access keys file and so on).

  2. In the Project Explorer view, open the sample you just loaded.

    If you see red marks on a project folder, wait a moment for the project to load its features.

    If the red marks do not resolve themselves after a minute, select the project, right-click, and select Maven>Update Project from the context menu.

  3. Open the src/main/eventflow/packageName folder.

  4. Open the cme-ilink.sbapp file and click the Run button. This opens the SB Test/Debug perspective and starts the module.

  5. In the Manual Input view, select the Commands input stream.

  6. Enter the following values:

    • command: connect

    • param1: startofweek (if trying to connect for the first time on a given week), or midweek otherwise.

    Click Send Data (which triggers the adapter to log onto the CME server).

  7. In the NewOrderNewSingleNewOrderCross stream, enter the following values and click Send Data to create a new order:

    • MsgType: D

    • All other fields: Fill in any fields needed to create a valid order of the type you wish to send, leaving unneeded fields null.

  8. If the order was properly formulated, expect to receive one or more ExecutionReport messages back on the Input operator's ExecutionReport port. If the order was rejected, expect to see a Reject message on the operator's AdminMessages port, an ExecutionReport with its OrdStatus field set to 8 (Rejected), or some other FIX message explaining the error (depending on the nature of the problem).

  9. When done, press F9 or click the Terminate EventFlow Fragment button.

This Sample's Files

This sample contains the following files:

  • The sample EventFlow application, cme-ilink.sbapp.

  • A corresponding adapter-configurations.xml, which the StreamBase Server uses to configure the Java environment to locate the CME iLink server(s).

  • A fixengine.properties file, required for proper operation of the High Performance FIX Engine underlying the adapter.

  • A placeholder file (in this case called cmeKeys.txt) that serves as an example for the access keys you will need to obtain from CME in order to be allowed access to their systems.

Sample Location

When you load the sample into StreamBase Studio, Studio copies the sample project's files to your Studio workspace, which is normally part of your home directory, with full access rights.

Important

Load this sample in StreamBase Studio, and thereafter use the Studio workspace copy of the sample to run and test it, even when running from the command prompt.

Using the workspace copy of the sample avoids permission problems. The default workspace location for this sample is:

studio-workspace/sample_cme-ilink

See Default Installation Directories for the default location of studio-workspace on your system.