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.
Link for downloading Java https://www.azul.com/downloads/?architecture=x86-64-bit&package=jdk
If you then scroll down to the Java 8 (LTS) section, then you can download the version for whatever OS you are using.
Azul Java 8 version 1.8.0_311 and version 1.11.0_12 have also been tested successfully in CME environments.
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.
Downloaded from this location https://maven.apache.org/download.cgi
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 |
---|---|---|---|---|---|
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 |
---|---|---|---|---|
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 |
---|---|---|---|---|
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:
Go to the CME CORE login screen: https://login.cmegroup.com/sso/navmenu.action
Click on the "Create Account" link and provide the required information
Receive your CME Group Login and activation email
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".
Navigate to Portfolio &Risk -> CORE Margin Calculator-NR -> Download Center -> Software
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.