This topic describes expected use cases for the CME Treasury Rules-based Offset Engine, RBOE, which is used to build offsetting positions in Fixed Income Clearing Corporation (FICC)/CME Cross-margin Allocation Process. Eligible products for risk offset between CME and FICC will need to be moved into designated position accounts within CME Clearing. This content covers both a manual approach and an automated approach for position transfers via the CME Optimizer software. This content is considered a draft for discussion purposes. This content is supplemental to normal Optimizer release notes.
Please see Optimizer release notes for additional details on release scope.
Table of Contents
Anchor | ||||
---|---|---|---|---|
|
CME Group and FICC are working together to enhance the capital efficiencies available to our common members (and their affiliates, where applicable) when trading U.S. Treasury Securities and CME interest rate futures that have offsetting risk exposures. For the avoidance of doubt, this content refers to the FICC Cross-margin arrangement within the Background section but subsequently refers to all CME operational workflows as the Treasury Rules-based Offset Engine or RBOE. This can be used interchangably with RBOE.
Anchor | ||||
---|---|---|---|---|
|
Key Enhancements Planned
- Introduce active management aspect applicable to CME positions; passive management remains for FICC positions.
- Expand the eligibility of interest rate futures products available for cross-margining
Timeline to Delivery:
- Target Production Date: Pending Regulatory Approval
Eligibility:
- Eligibility for the arrangement remains house (proprietary) accounts of CME Clearing Members & FICC GSD Netting Members, however, subject to regulatory analyses and approvals, CME & FICC are supportive of extending this program beyond house accounts as part of a later phase
Anchor | ||||
---|---|---|---|---|
|
- Treasury rules-based offset engine (RBOE): term used to define the operational offset process at a high level. Can be used synonymously with CME / FICC offset process.
- Target allocation: the allocation of CME futures selected to offset FICC cash treasuries as defined in Equivalent Position Report. Conversion of treasury cash to CME futures applied via DV01. Represented in FutAllocQty field in the equivalent position report.
- FICC position account: This account is new for the CME/FICC Cross Margin Program and is the account which contains CME eligible interest rate futures positions that will available to offset the FICC treasury cash positions. Clearing firms can move positions into this account by performing transfers in FEC+ (manual or API) or by running the RBOE within the Optimizer software. Firms may also give up or directly execute into this account. All positions margined in this account are subject to 3-day MPOR margin treatment.
- Portfolio Margin (PM) position account: existing trading account containing offsets to cleared IRS positions. Clearing firm, via manual process or Optimizer software, transfers or directly executes into this account to achieve offsets using 5-day MPOR. Not all participants of RBOE offsets participate in this account structure.
- Futures and Options position account: existing trading account capturing all futures and options positions not allocated to a special function trading account per above. Margined via 1-day or 2-day MPOR in SPAN® margin methodology.
Anchor | ||||
---|---|---|---|---|
|
...
A diagram of the updated account structure is below. In this example, the clearing firm also participates in the portfolio margin program for Interest Rate Swaps versus futures and options at CME. For users not participating in that program, disregard the Portfolio Margin structure on the right.
It is expected Clearing Firms may want to implement additional account structures within their back office to assist with position keeping such as using a bridge or offset account which acts as a holder of transfer offset positions between the normal futures and options position account and the new FICC position account. This setup is common to clearing firms but is not part of the CME Group account set up. Firms interested in this setup should review review additional documentation and speak with back office service providers.
...
- Producer of file: CME
- File location:
- Secure FTP local: /FXXXFTP/cme/ftp/XXX/Outgoing where (XXX is the firm ID)
- EREP user interface (please contact support team for entitlement details)
- File availability: daily in conjunction with multiple cycles including ITD, EOD, FINAL
Production filename convention: "XMFICCPOSN_\[cycle code\].yyyymmdd.\[firm id\].csv
- For example. the EOD file for August 22, 2022 for test firm 123 would be XMFICCPOSN_EOD.20220822.123.csv
- Test filename convention: same as production with "NR_" prefix
- File Format: Comma-delimited Value (CSV)
Detailed file specification:
Field | Index | Type | Description | Links to Other Optimizer Inputs |
---|---|---|---|---|
BusDate | 0 | Date | YYYY-MM-DD | |
Cycle | 1 | String | ITD, EOD, EODXM, CUR | |
Run | 2 | Integer | Non-negative number | |
RunTime | 3 | String | Timestamp | |
CO | 4 | String | Clearing organization | |
CMF | 5 | String | Clearing member firm ID | |
PBA | 6 | String | FICC Performance bond (margin) account ID. | Maps to FICCPBAccountID in FICCPositions.csv. |
Seg | 7 | Enum | Segregation type e.g. HOUS/CUST | Maps to Origin in FICCPositions.csv and Positons.csv |
FICC_ID | 8 | String | DTCC participant ID | |
PA | 9 | String | FICC Position account ID | Maps to FICCAccountID in FICCPositions.csv. |
CME_TMF | 10 | String | Trade management firm ID for CME products. | |
CBT_TMF | 11 | String | Trade management firm for CBOT products. | |
Exch | 12 | String | Exchange ID of the synthetic contract for margining e.g. CBT | |
PFCode | 13 | String | Product code of the synthetic e.g. XM21 | |
PFType | 14 | Enum | Product type of the synthetic i.e. FUT | |
Period | 15 | PeriodCode | Period code of the synthetic e.g. 202209 | |
LongPosn | 16 | Double | Total notional long position for this bucket (2dp) | |
ShortPosn | 17 | Double | Total notional short position for this bucket (2dp) | |
LongEquivPosn | 18 | Integer | Total converted-equivalent of long positions (rounded) | |
ShortEquivPosn | 19 | Integer | Total converted-equivalent of short positions (rounded) | |
NetEquivPosn | 20 | Integer, can be negative | Net converted equivalent position for margining | |
FutAllocQty | 21 | Integer, can be negative | Treasury futures allocation net quantity. This is the optimal amount of treasury futures in this maturity bucket. CME uses the cheapest-to-deliver DV01 to convert from the NetEquivPosn field. | Used as target allocation in FICC Position Account by Optimizer during RBOE function. |
Anchor | ||||
---|---|---|---|---|
|
Users of Optimizer also must generate a new positions input file expressing positions only residing in the FICC position account or account mapping details, should no positions exist. This file is very similar to the existing positions.csv file format Optimizer uses but has been customized for FICC position representation. Users will also need to use the positions.csv file to represent futures positions that are not in FICC position account.
Filename convention:- Producer of file: Clearing Firm
- If using manual process described below in 4.1, disregard this file.
- File location: clearing firm back office
- Filename convention: FICCPositions.csv is the default filename pattern, though users can amend the filename manually in the Optimizer's configuration.json file (found in the Optimizer's Plugins directory).
- File Format:
Comma-delimited Value (CSV)Anchor FileSpecification FileSpecification - Special use: when no positions are present in a FICC position account (for instance on the first day of using the program), users must specify a line item for each FICC position account defining indexes 0 – 6 and 18 below. All others are blank (null, not 0). This line item is used by Optimizer as an account definition.
- Examples of the new FICCPositions file is available in the Optimizer's \[local dir\]\Samples.
Detailed file specification:
Field | Index | Type | Description | Links to Other Optimizer Inputs | Present when no positions in FICC account? |
---|---|---|---|---|---|
FICCPbAccountID | 0 | String | Links to PBA in FICC Equivalent Position Firm Report. This is the FICC performance bond (margin) account. | Maps to PBA in XMFICCPOSN . . .csv. | Y |
SegTMFID | 1 | String | Maps to SegTMFID in Positions.csv. | Y | |
FICCTMFID | 2 | String | Maps to CME_TMF or CBT_TMF in XMFICCPOSN . . .csv. | Y | |
SEGAccountID | 3 | String | Maps to SEGAccountId in Positions.csv. | Y | |
FICCAccountID | 4 | String | Maps to PA in XMFICCPOSN . . .csv. | Y | |
Origin | 5 | Enum | Account origin. Applicable Values: C, H | Maps to Seg in XMFICCPOSN. . .csv and Origin in Positions.csv | Y |
AccountType | 6 | Enum | Account type. Should only contain FICC position account in this file. Applicable Values: FICC | Y | |
ProductCode | 7 | String | Represents a typical product code i.e. 17, 21 etc. in the FICC position account. Can also include synthetic contacts (i.e. "XM17") which Optimizer ignores. | N | |
ProductType | 8 | Enum | Product Type. Only FUT supported day 1. | N | |
OptionExpiration | 9 | PeriodCode | Left blank, for future expansion. | N | |
FutureExpiration | 10 | PeriodCode | Follows existing period code formats. | N | |
CallPut | 11 | Enum | Left blank, for future expansion. | N | |
Strike | 12 | Double | Left blank, for future expansion. | N | |
TotalLong | 13 | Integer | Non-negative integer value. | N | |
TotalShort | 14 | Integer | Non-negative integer value. | N | |
TradeDate | 15 | Date | Trade date in either YYYYMMDD or MM/DD/YYYY or M/D/YYYY format. | N | |
ExchangeCode | 16 | String | Exchange code e.g. CME, CBT | N | |
NettingEligible | 17 | Boolean | Indicates if portfolio is eligible for netting. Applicable Values: N or Y (false or true respectively) | Maps to NettingEligible in Positions.csv | N |
PBAccountId | 18 | String | Conditional: used to relate a given FICC position with an IRS position (position.csv). | Maps to PBAccountId in Positions.csv | Y |
Anchor | ||||
---|---|---|---|---|
|
Clearing firms can, as always, directly execute trading activity in the new FICC position account. This action assumes the Clearing Firm's trading strategy evaluates potential offsets to be realized against cash treasury positions in the FICC position account prior to execution. Note all positions in the FICC position account during ITD and EOD margin settlement cycles will be margined using the SPAN Methodology calibrated to 3-day Margin Period of Risk to meet regulatory requirements. Clearing Firms should only move risk offsetting positions into the FICC positions account.
Users of the rules-based offset engine have two alternative integration methods to achieve treasury offsets:
Anchor | ||||
---|---|---|---|---|
|
One option for Clearing Firms to realize treasury offsets is to consume a new file produced by CME, the XMFICCPOSN file described above, then use their a standard BAU process to give-up/transfer positions from the normal futures and options trading account to the FICC position account. BAU give-up/transfer processes include direct transfer entry in the Front End Clearing (FEC+) user interface or programmatically via existing message queues. Positions in the FICC position account during ITD and EOD margin settlement cycles will be used to offset treasury cash positions defined in a new position file shared between CME and DTCC at regular intervals throughout the business day.
The target allocation of positions which should be allocated in the FICC position account is available in
...
the FutAllocQty field by instrument and FICC margin account in the XMFICCPOSN file.
Clearing Firms must use the available allocation from their books and records to satisfy, if possible, the target allocation. Note all standard firm regulatory reporting is required, no new open interest is to be created as a result of the new offsetting process.
Note positions transferred to the FICC position account during prior day cycles will be retained in the FICC position account day over day, so a re-evaluation and re-establishment of the target allocation from the XMFICCPOSN file is necessary daily. In some cases the target allocation may be lower on T compared to T-1 and a transfer from the FICC position account back to the normal futures and options account would be expected.
Here is an operational workflow:
Workflow in depth:
- Position data shared between FICC and CME (multiple times daily).
- CME generates reports, including the Equivalent Position Report (XMFICCPOSN)
- The Equivalent Position Report (XMFICCPOSN) is shared to firm secure FTP directories and picked up by Clearing Firms.
- Clearing Firm runs internal process comparing target allocation to available allocation and identifies the offset to be achieved.
- Transfers booked via standard BAU process.
Anchor | ||||
---|---|---|---|---|
|
A second solution for Clearing Firms to realize treasury offsets is to utilize the CME Optimizer software, which is being enhanced to support a rules-based offset allocation in Q4 2022. The Optimizer solution allows firms to automate the process of deriving and generating offsetting transfers to the new FICC position account in the firm back office.
The operational process is very similar to the manual solution above, aside from step 3-4, where a Clearing Firm utilizes the Optimizer to build transfers versus generating transfers via their own internal process. Interested users should read the Optimizer RBOE user Guide below.
Here is an operational workflow:
Workflow in depth:
- Position data shared between FICC and CME (multiple times daily).
- CME generates reports, including the Equivalent Position Report (XMFICCPOSN)
- The Equivalent Position Report (XMFICCPOSN) is shared to firm secure FTP directories and picked up by Clearing Firms. Firm generates new input FICCPositions.csv.
- Clearing Firm runs Optimizer software, which compares the target allocation to available allocation and identifies the offset to be achieved.
- Transfers booked via standard BAU process.
...
This section defines expected RBOE use cases for the Optimizer software. RBOE use cases are supported from Optimizer software version 18, expected for release September 30, 2022. This content is not expected to take precedence over the normal Optimizer User Guide here.
Users new to Optimizer should also review the user guide as well as release notes here during during testing.
Running the Optimizer's Samples directory (found in Optimizer at \[local path\]\Samples) is also recommended as a reference.
...
The Optimizer requires a configuration file to run, the "configuration.json" file. This file is saved, by default, in the program's "\[local path\]\Plugins\Optimizer" directory. Please review details on all configuration properties and settings in the User Guide here.
This version of Optimizer reuses some existing configurations for RBOE workflows:
...
Property | Type | Default | Description |
---|---|---|---|
Enabled | Boolean | FALSE | Determines if RBOE optimization is enabled or not. Default false implies RBOE optimization is not enabled, must be updated by user to enable. |
ExecutionMode | Enum | AfterIrsOptimization | Determines where the RBOE optimization occurs within the Optimizer pipeline. |
Applicable Values: BeforeNetting (0), BeforeIrsOptimization (1), AfterIrsOptimization (2). Ignored for users not interacting with IRS PM. | |||
OptimizeMoveDecision | Enum | LIFO | Determines the order of offsets and transfers when optimizing RBOE positions. |
Applicable Values: LIFO, FIFO, SNT | |||
UseBackMonthContracts | Boolean | TRUE | Allows Optimizer to select positions from back month in same contract if target future allocation cannot be met by front month contract. |
FiccPositionsFilename | String | FICCPositions_*.csv | Filename prefix for the FICC positions file. Default filename is recommended to ensure that it is not misinterpreted with the standard positions filename prefix i.e. "Positions_" |
FiccEquivalentPositionsFilename | String | XMFICCPOSN_.csv | Filename pattern for the Equivalent positions files. Note that the filename in NR may be prefixed with "NR_". |
...
- Users indicating RBOE occurs before IRS Optimization, via ExecutionMode = BeforeIrsOptimization, are prioritizing offsets in the FICC position account. With this configuration, the RBOE runs first and uses all available positions in the FICC, futures and options, and IRS PM position accounts to satisfy the target allocation specified in the XMFICCPOSN equivalent position file and generate transfersOnce the RBOE completes running, the remaining eligible futures and options positions will be considered for IRS Optimization.
- Conversely, users indicating RBOE occurs after IRS Optimization, via ExecutionMode = AfterIrsOptimization, are prioritizing offsets in the IRS portfolio margin account. With this configuration, the Optimizer uses all available positions in the FICC, futures and options, and IRS PM accounts to satisfy the IRS portfolio margin target. Only residual positions in the futures and options position account will be considered for RBOE. . The NettingEligible flag, described in more detail below, must also be Y when using this configuration.
- Users interested in running some other sequence of IRS Optimization and RBOE can also choose to run the IRS and RBOE Optimization processes separately during the EOD batch process. In that setup, users have complete control over both the sequence of Optimization events and the portfolios provided to the Optimizer during both optimization workflows. If interested in this setup, please contact CME to discuss.
CME has observed the risk correlation for CME treasury futures versus FICC cash positions leads to potentially higher offsets when the user prioritizes the RBOE workflow before IRS Optimization but, overall, it is recommended user test both configurations to determine their preferred workflow. Initial margin savings, as always, will be depedant dependent on unique portfolio characteristics, regardless of the user's preferred workflow.
As described earlier, the RBOE workflow is rules-based and is not explicitly attempting to minimize initial margin.
...
The Optimizer software allows users to configure if an account is to be treated as 'net,' meaning all positions in a given instrument are a single net long or short quantity; or 'gross,' meaning positions in a given instrument are simultaneously long and short, representing potentially multiple sub-accounts or other account structures not known to CME. This can be configured using the fields 'NettingEligible' in both Positions.csv and FICCPositions.csv files described in Expected Inputs above. The NettingEligible flag is expected to be consistent between these files for a given account and only one value (Y or N) is expected per account.
Gross Account Treatment
Leveraging the setting NettingEligible = N (i.e. a gross account) enables optimizer software to theoretically use both a long position and short position independently to achieve risk offsets in either the RBOE or OTC Optimization process.
Below is a simple example representing the total position in a given interest rate product that is eligible for both RBOE and the OTC PM program. The Optimizer is configured to run gross (NettingEligible = N) and is configured to run RBOE process before IRS Optimization.
- The target allocation in the FICC position account is 350 short, established in "RBOE Offset Process" below.
- The Optimized allocation in the PM Position account is 100 short, established in "FUT/IRS Optimization Process."
- The starting position across all three accounts (FICC position account, F&O futures and options account, PM account) is 200 long by 500 short, established in "Input to Optimizer."
- Achieving the target RBOE allocation 350 short is possible because the F&O futures and options account short quantity 400 exceeds the target 350.
- Achieving the Optimized allocation is also possible because the 100 short position is in the PM Position account.
- This configuration is expected to receive the highest potential savings in the FICC position account, but please note close-outs are not managed by the Optimizer.
Net Account Treatment
Leveraging the setting NettingEligible = Y (i.e. a net account) is expected to result in more limited savings in the FICC position account because the Optimizer can choose only a net quantity to satisfy the target allocation specified in the XMFICCPOSN file.
Below is a simple example representing the total position in a given interest rate product that is eligible for both RBOE and the OTC PM program. The Optimizer is configured to run net (NettingEligible = Y) and is configured to run IRS Optimizatin Optimization before the RBOE process.
- The target RBOE allocation in the FICC position account, the Optimized allocation in the PM account and the starting position are the same as the above.
- Achieving the target RBOE allocation 350 short is not possible because netting has reduced the total allocation available from 200x500 to 0x300.
- Achieving the Optimized allocation is possible.
- This netting configuration is typical for Optimizer users. This configuration is expected to receive lower potential savings, but netting is managed between accounts by Optimizer.
Anchor | ||||
---|---|---|---|---|
|
...
All other outputs, aside from the log file which highlights the RBOE process, are the same as prior versions of Optimizer. Note the margin approximation reports are not expected to include positions in the FICC position account within the margin calculations. Please review the outputs here the outputs (after "Position Netting" section) for more information.
Anchor | ||||
---|---|---|---|---|
|
...
This topic illustrates the Rules-based Offset Engine and changes to the Optimizer software supporting this new program. If you have any questions, please contact contact posttradeservices@cmegroup.com.