Request
XPath | Name | Type | Required | Notes |
---|---|---|---|---|
/marginReq@reqUserId | Requesting User ID | String | No | |
/marginReq/margin@portfolioId | Portfolio ID | String | Yes | |
/marginReq/margin@riskFramework | Risk Framework | String | No | Specifies if the request should be margined in the SPAN or the SPAN 2 methodology. This is relevant to Futures & Options users only. |
Response
XPath | Name | Type | Required | Notes |
---|---|---|---|---|
/marginRpt@status | Status | Async Status | Yes | |
/marginRpt/margin@createTime | Create Time | Date/Time | Yes | |
/marginRpt/margin@id | ID | String | Yes | |
/marginRpt/margin@portfolioId | Portfolio ID | String | Yes | |
/marginRpt/margin@updateTime | Update Time | Date/Time | Yes | |
/marginRpt/error@code | Error Message | String | No | |
/marginRpt/error@msg | Error Message | String | No |
Errors
Code | Description |
---|---|
400 | Bad XML syntax or missing content. More information will be provided in the error message. |
403 | Returned if the user does not have permission to perform calculations on the portfolio |
500 | The server was not able to process the request. More information (if available) will be provided in the error message. |
Examples
Basic
This example requests that a portfolio with ID 123
be margined. The unique ID of the margin request is returned along with the portfolio identifier.
Calculating Margin for CME
Request - All Margin Methodologies
POST {{API_URL}}/margins
<core:marginReq xmlns:core="http://cmegroup.com/schema/core/1.2"> <margin portfolioId="123" /> </core:marginReq>
Request - SPAN 2 Margin
For the SPAN 2 project, the CORE API has been enhanced with a new attribute "riskFramework" which specifies if the request should be margined in the SPAN or the SPAN 2 methodology during the SPAN 2 transition. This is relevant to Futures & Options users only.
Expected values in riskFramework attribute:
- CURRENT - current production margin framework
- This will equate to SPAN methodology until the SPAN 2 project go live
- NEXT - upcoming production margin framework, in production parallel
- This will equate to SPAN 2 methodology for in-scope products
For Top day margin request in CORE ,please refer to the below table for approximate timings.
<core:marginReq xmlns:core="http://cmegroup.com/schema/core/1.12"> <margin portfolioId="123" riskFramework="NEXT" /> </core:marginReq>
Response
<ns2:marginRpt xmlns:ns2="http://cmegroup.com/schema/core/1.2" status="PROCESSING"> <margin portfolioId="123" id="321"/> </ns2:marginRpt>
Request - Historical Margin
The CORE API now supports historical margin calculations and two new attributes "date" and "code" have been added to the request. This is relevant to Futures & Options users only.
New attributes:
Date: CME core allows user to margin portfolios in SPAN 2 framework as of late 2022 and in SPAN framework as of late 2021. Acceptable date format is yyyy-mm-dd.
Code: For last 5 business days, user can select from several daily cycles, please refer to the below table. For margin request prior to 5 business days, .I, .s and .c cycles are available.
SPAN request
<core:marginReq xmlns:core="http://www.cmegroup.com/schema/core/1.14"> <cycle date="2023-03-31" code="ITD"/> <margin portfolioId="123" riskFramework="CURRENT"/> </core:marginReq>
SPAN 2 Request
<core:marginReq xmlns:core="http://www.cmegroup.com/schema/core/1.14"> <cycle date="2023-03-31" code="EOD"/> <margin portfolioId="123" riskFramework="NEXT"/> </core:marginReq>
Response
<ns2:marginRpt xmlns:ns2="http://cmegroup.com/schema/core/1.2" status="PROCESSING"> <margin portfolioId="123" id="321"/> </ns2:marginRpt>