Margin Software

Deployable Software User Guide - Futures and Options

This content describes the deployable margin software used to reconcile EOD margin requirements for futures and options products across CME Group's margin methodologies. 

The purpose of this document is to provide a comprehensive user guide for how to interact with CME Group futures and options deployable software and how to calculate margin results on futures and options products using SPAN Methodology & CME Group's Futures and Options Margin Model, SPAN 2. For assistance with this document or for general inquiries about the enhancements to SPAN, please contact PostTradeServices@cmegroup.com.

What to expect from the CME Group futures and options Deployable Margin Software
The futures and options Deployable SDK is a risk calculation library that firms can use to integrate directly into their own infrastructure.

Licensing

CME Group provides Margin Tools to clearing firms and trading firms pursuant to standardized License Agreements:

  • Firms interested in discussing details of SPAN 2 model methodology must sign an NDA

  • Firms interested in testing the futures and options deployable software must sign an evaluation agreement

  • Firms interested in using the SPAN trademark or SPAN 2 trademark must execute trademark license agreement

  • Licensing Options for system integration with CME Margin Models:

    • CME CORE API Agreement

      • Authorizes connectivity to CME's test and production environments

      • Service available today

    • Deployable software agreement

      • Authorizes use of the deployable software in production environment

      • Production agreement license available

  • CME CORE User Interface is a complimentary service onboarding is self-service

Key Licensing Concepts:

  • CME does not provide warranty or assume any liability for these services.

  • CME does not change or negotiate the terms of these Agreements.

Technical Integration Requirements

The futures and options deployable software is compatible to run on Windows and Linux. Further technical integration requirements for both Windows and Linux can be found in the README section of the SDK. Please note CME Group recommended technical requirements reflect our own technical recommendations and versions of software we are readily able to support. We recognize that there is often technical compatibility to use higher versions of Linux, Java and Redis and users have reported the deployable margin software is runnable on different infrastructure configurations relatively well; however, we provide no formalized support for technical setups outside of those listed in our user guide. We recommend users test their preferred setup in a lower environment.
Technical Prerequisites:

  • Azul Zulu Java 8 version 1.8.0_291 with Java 8 installed, and the Java bin directory is on your path.

  • Redis 5.0.5 https://redis.io/download. Redis may not be used for dev testing but is highly recommended for production for SPAN 2.

  • Maven 3 required if developing application to programmatically call API.

  • Valid RPF (Risk Parameter File) downloaded for specific points in time margin calls.

    • This can be retrieved from the CME SFTP site.

      • Access to CME Group SFTP location to download risk parameter files (RPFs) required for the deployable software.

  • SPAN 2 file size will be a minimum of 15gb – 20gb compressed.

    • The latest complete SPAN 2 RPF (Risk Parameter File) is ~11G but will grow as more products and asset classes are added.

Linux:

  • Red Hat Enterprise Linux Server release 7.9

  • Azul Zulu Java 8 version 1.7.9_271

  • Redis 5.0.5


Windows:

  • Windows Server 2012 R2

  • Microsoft Foundation Classes MFC should be installed: Visual C++ Redistributable for Visual Studio 2015-2022

  • The dlls that are required on Windows are:

  • MSVCP140.dll

  • VCRUNTIME140.dll

  • api-ms-win-crt-math-l1-1-0.dll

  • api-ms-win-crt-heap-l1-1-0.dll

  • api-ms-win-crt-string-l1-1-0.dll

  • api-ms-win-crt-locale-l1-1-0.dll

  • api-ms-win-crt-stdio-l1-1-0.dll

  • api-ms-win-crt-filesystem-l1-1-0.dll

  • api-ms-win-crt-convert-l1-1-0.dll

  • KERNEL32.dll

  • mfc140d.dll

  • KERNEL32.dll

  • USER32.dll

  • OLEAUT32.dll

  • MSVCP140D.dll

  • VCRUNTIME140D.dll

  • ucrtbased.dll

  • 2C1_seh_filter_dll

CME Hardware specifications for internal testing:

  • 8 cores

  • 64GB Ram

  • 32GB JVM

Supporting Multiple Technical Configurations

Support Definitions:

  • Full Support: Production support during standard SLA defined for deployable margin software application.

  • Best Effort Support: Non-production support provided when resources are available. No SLA.

  • No Support: Support only achievable under separate support agreement between CME and licensee.

Deployable Margin Software Application Support

Application

Operating System

CME-produced Component?

Full Support

Best Effort Support

No Support

Application

Operating System

CME-produced Component?

Full Support

Best Effort Support

No Support

Deployable Margin Software (ARCDL SDK)

CME recommended

Y

X

 

 

Deployable Margin Software (ARCDL SDK)

Any other OS with Azul Zulu JDK

Y

 

X

 

Deployable Margin Software (ARCDL SDK)

Any other OS without Azul Zulu JDK

Y

 

 

X

CME Group Recommended Dependent Application Support

Application

Operating System

Full Support

Best Effort Support

No Support

Application

Operating System

Full Support

Best Effort Support

No Support

Azul Zulu Java 8

CME recommended

X

 

 

Azul Zulu Java 11

CME recommended

X

 

 

Any other version of Azul Zulu Java

CME recommended

 

 

X

Azul Zulu Java 8

Any other OS

 

X

 

Azul Zulu Java 11

Any other OS

 

X

 

Any other version of Azul Zulu Java

Any other OS

 

 

X

Redis 5

CME recommended

X

 

 

Redis 6

CME recommended

 

X

 

Redis 7

CME recommended

 

X

 

Operating System Support

Operating System

Component

Full Support

Best Effort Support

No Support

Operating System

Component

Full Support

Best Effort Support

No Support

Redhat 7.9

Java Bytecode (Jar)

X

 

 

Redhat 7.9

JRE

X

 

 

Redhat 7.9

Native Libraries

X

 

 

Redhat 7.9

Networking

 

X

 

Redhat 7.9

Disk I/O

 

X

 

Redhat 7.9

Memory / Swap

 

X

 

Redhat 7.9

Kernel Tuning

 

 

X

Any other OS with Azul Zulu JDK

ARCDL SDK Exceptions

 

X

 

Any other OS with Azul Zulu JDK

Java Bytecode (Jar)

 

X

 

Any other OS with Azul Zulu JDK

JRE

 

X

 

Any other OS with Azul Zulu JDK

Native Libraries

 

 

X

Any other OS with Azul Zulu JDK

Networking

 

 

X

Any other OS with Azul Zulu JDK

Disk I/O

 

 

X

Any other OS with Azul Zulu JDK

Memory / Swap

 

 

X

Any other OS with Azul Zulu JDK

Kernel Tuning

 

 

X

Any other OS without Azul Zulu JDK

ARCDL SDK Exceptions

 

 

X

Any other OS without Azul Zulu JDK

Java Bytecode (Jar)

 

 

X

Any other OS without Azul Zulu JDK

JRE

 

 

X

Any other OS without Azul Zulu JDK

Native Libraries

 

 

X

Any other OS without Azul Zulu JDK

Networking

 

 

X

Any other OS without Azul Zulu JDK

Disk I/O

 

 

X

Any other OS without Azul Zulu JDK

Memory / Swap

 

 

X

Any other OS without Azul Zulu JDK

Kernel Tuning

 

 

X

Download and Install

Logging in to CME CORE

The CME Margin Software Support Team PostTradeServices@cmegroup.com will permission software downloads from CME CORE.  To access CME CORE, a CME Group Login is required. If you do not have one, please follow these instructions:

  1. Go to the CME CORE login screenhttps://login.cmegroup.com/sso/navmenu.action

  2. Click on the "Create Account" link and provide the required information

  3. Receive your CME Group Login and activation email

  4. Please contact PostTradeServices@cmegroup.com with any questions about creating a CME Group Login.

Downloading the Software

Once you have successfully logged into CME CORE, the futures and options deployable software can be found in the "Download Center".

  1. Navigate to Portfolio &Risk -> CORE Margin Calculator-NR -> Download Center -> Software

  2. The software can be found under the section labeled Java Deployable SDK.

Futures and options Java Deployable Margin SDK, includes:

  • JAR file – arcdl-deployable.jar

  • POM file – pom.xml

  • Software Development Kit

    • Sample java examples on how to margin and how to load/clear a remote Redis cache

    • Sample web service example

    • Sample postman collection endpoints

  • rpfs (Risk Parameter File) folder

  • READ ME

Futures and Options Deployable SDK Contents

The SDK (Software Development Kit) is for use by customers who want to either hit the API using a REST client or programmatically to request margins on a portfolio of trades. The SDK is bundled as a zip file which will need to be unzipped onto the target box.

The futures and options Deployable Margin SDK includes:

Readme.md

  • A README.md file containing technical details and instructions for developers on how to use the SDK.

    • This file will be changed and updated as new software builds are released.

licence.txt

  • licence.txt file contains licenses for any third-party jars distributed with the SDK.


arcDlApplication directory which holds:

  • Please note the already compiled Spring boot web example has been removed from the jar arcdl-web-example.jar with the introduction of the skinny jar.

  • Start scripts for Linux and Windows for the Spring Boot example web app in order to start it and test margining portfolios.

  • rpfs folder where the RPF (Risk Parameter File) should be placed.

    • There is a README in this folder describing the directory structure and where the RPF is to be placed.

  • Native directory containing the risk native C++ libraries and span dlls (which are only required for Windows).


examples directory holds the source for:

  • The example Sprint boot application (arcdl-web-example).

  • Standalone Java example classes that cover how to programmatically margin in a singlethreaded/multi-threaded manner.

  • Standalone Java example classes that cover how to load a local/distributed Redis cache with data from RPF.

  • Note: These are technical documentation samples; not intended for production use.

lib

  • Directory containing the arcdl-deployable.jar which is the jar to be used for integrating into your java tech stack. Examples on how to do this are in the above examples folder.

  • Also contains a pom.xml file with instructions for your local maven to download and include all the necessary dependencies required to be able to compile, package and run an application using our provided jar.


SampleData directory containing:

  • Example requests for importing into Postman which is a standard REST client interface (https://www.postman.com/product/api-client/).

  • cURL directory consisting of example cURL files. These can be used to make calls to an exposed end point in example spring boot web app.

  • Note: the supplied portfolio samples files contain test sample data and products contained therein may have expired. Updated samples are available in the CORE margin Calculator test (NR) environment for users logging in at https://cmecorenr.cmegroup.com/ then navigating to Download Center - Software.

Proceed to Testing the Futures and Options Deployable Software.




How was your Client Systems Wiki Experience? Submit Feedback

Copyright © 2024 CME Group Inc. All rights reserved.