How to set -up the DX application.
This chapter is not a duplicate of the Temenos user guide, quite well documented but with missing critical parts. It intends to be an add-on, including specific tricks based on my own experience All below information refers to R8.005 release.
FUTURES Setup Check-list
- Preliminaries
- Core
- Commissions
- Contracts Definitions
- Delivery
- Limits
- COB / Batch
- Local Customization
- Misc.
Among whilst:
DX.OBJECT.LIBRARY
DX.CLOSEOUT.METHOD
DX.ITEM.STATUS.TYPE
DX.MARGIN.CALC
EB.FORMAT.ENTRY
LOCKING – PGM.FILE
Need to ensure you have a record FBNK.DX.TRADE with content= DXTRA2400100001 / FBNK.DX.ORDER with content= DXORD2400100001. In PGM.FILE, these 2 apps should also have in field 3-ADDITIONAL.INFO the value .IDA. This will ensure when user inputs <DX.TRADE I F3> he will get new transaction key automatically incremented.
BATCH.NEW.COMPANY
DYNAMIC.TEXT
EB.SYSTEM.ID
OVERRIDE
- Two new codes required in RE.TXN.CODE
CLO DERIVATIVES CONTRACT CLOSEOUT
UOV DERIVATIVES UNREALIZED OPTION VALUE
(used in the updating of the CRF)
- Records to create manually
in DX.PRICE.SET, records CLOSING & INTRADAY
- SUB.ASSET.TYPE
Potentially new records to be created+associated to Derivatives products in DX.CONTRACT.MASTER.
TRANSACTION (to be used for all DX events types)
CATEGORY (to be used for all DX events types)
ACCOUNT.CLASS
ACCOUNT.CLASS ID | Type | Description |
SUSPDXIMCR | Account | Suspense account for credit initial margin |
SUSPDXIMDR | Account | Suspense account for debit initial margin |
SUSPDXVMCR | Account | Suspense account for credit futures variation |
SUSPDXVMDR | Account | Suspense account for debit futures variation margin |
SUSPDXOMCR | Account | Suspense account for credit option variation margin. |
SUSPDXOMDR | Account | Suspense account for debit option variation margin. |
SUSPDXCGCR | Account | Suspense account for credit derivatives charges SUSPD |
SUSPDXPRCR | Account | Suspense payments |
SUSPDXPRDR | Account | Suspense account for debit option premium |
SUSPDXRPCR | Account | Suspense account for credit |
SUSPDXRPDR | Account | Suspense account for debit realised P&L |
DXCSNDUE | P&L | P&L category FOR derivatives commission due not paid |
DXCSNEARN | P&L | P&L category FOR derivatives commission earned not received |
DXCSNPAID | P&L | P&L category FOR derivatives commission paid |
DXCSNRCVD | commission received | P&L category for derivatives commission received |
DX.EVENT.TYPE
Check if an internal or a P&L category is required, as it may crash the system if wrongly set-up
Event code | Name | Description | P&L categ. or Internal a/c |
AS | Contract Assignment | DX Closeout | N/A |
AR | Contract Assignment (reversal) | DX Closeout | N/A |
BV | Back Valuation | Back Valuation | N/A |
BP | Broker Profit | DX Trade | P&L |
CA | Contract amendment | Amendment of authorised trade – new details | Internal a/c |
CC | Contract cancellation | Cancellation of an authorised contract i.e. contract reversal not part of an amendment – contract completely cancelled | Internal a/c |
CD | UNTH Contract deletion | Deletion of an unauthorised DX.TRADE | N/A |
CI | Contract inception | Initial entry of trade | Internal a/c |
CM | Contract maturity | Trade maturity | P&L category |
CN | Internal outgoing transfer | DX Trade- Position Transfer | N/A |
CO | Outgoing Transfer | DX Trade – position transfer | N/A |
CP | Corporate action | Corporate action | N/A |
CR | Contract amendment reversal | Reversal of authorised trade details before amended details entered | Internal a/c |
CS | Contract settlement | Settlement of trade (close-out) | P&L category |
CT | Incoming Transfer | DX Trade position transfer | N/A |
CU | Contract unauth amendment | Amendment of an unauthorised contract. | Internal a/c |
CX | Corporate action (reversal) | Corporate action | N/A |
EX | Contract Exercise | DX Closeout | N/A |
ER | Contract Exercise (reversal) | DX Closeout | N/A |
FC | Commission posting | Posting of ‘normal’ trading commission | P&L category |
FE | Execution fee posting | Posting of Execution fee | P&L category |
FL | Clearing fee posting | Posting of clearing fees | P&L category |
FM | Miscellaneous fee posting | Posting of any other miscellaneous charges entered manually | P&L category |
FR | Regulatory fee posting | Posting of any regulatory fees | P&L category |
II | Internal incoming transfer | DX Trade- Position Transfer | N/A |
IM | Initial Margin | Initial margin generated from revaluation | Internal a/c |
OA | Order amendment | Amendment of authorised order – new details | Internal a/c |
OB | Order blocking | Blocking of DX.ORDER | Internal a/c |
OC | Order cancellation(reversal) | reversal of cancel of an authorised order | Internal a/c |
OD | Order deletion | Deletion of an unauthorised order | Internal a/c |
OF | Order fill | Fill or Part-fill of an order, when the trade is created | N/A |
OI | Order INPUT | Input of an order and authorisation | Internal a/c |
OM | Option margin revaluation | Option variation margin | P&L category |
OR | Order Stage Replaced | DX Order amendment | N/A |
OX | Order abandon | After at least one partial fill, remaining lots are cancelled. | Internal a/c |
PC | CLOSE position | Trade input forming closing leg of position | Internal a/c |
PO | OPEN position | Trade input forming opening leg of position | Internal a/c |
PP | Premium posting | Posting of option premium | P&L category |
RO | Realised Options P&L | Realised P&L on Options | Currently not handled by accounting process |
RP | Realised P&L | Realised P&L from settlement/maturity settlement or from revaluation using “nightly settlement” conventions (e.g. LIFFE settlement and reopen process) | P&L category |
SR | Settlement reversal | Reversal of settlement (close-out) | Internal a/c |
TT | Tax Posting | Posting of Tax | Internal a/c |
UO | Unrealised option value | Unrealised option value generated by revaluation (not variation margin since not product of mark-to-market or similar) | P&L category |
VM | Variation Margin | Variation margin (unrealised P&L) generated and posted by revaluation for futures | P&L category |
XP | Contract Expiry | DX Closeout | N/A |
XR | Contract Expiry (reversal) | DX Closeout | N/A |
ACCOUNT (suspense accounts using new internal CATEGORY codes in your local currency, others ill be automatically opened).
REGION
Create HOLIDAY records for the new REGIONS‘ codes Example: EU01 EU02 EU03 EU04 GB01 SE01 US01 US02 US03
DX.EXCHANGE.MASTER
DX.CONTRACT.MASTER
Parameterization tables to set-up commissions:
click to enlarge
DX.GROUPING
This table contains different codes reflecting various tariff profiles.
FT.COMMISSION.TYPE
Identify all unit commissions and create codes using an easy maintaining nomenclature (only suggested here).
Example:
Position | Description | Code |
1 to 3 | Common prefix for Futures | DXF |
4 | Pay/Received Side | P or R |
5 to 6 | Charge type: | |
– | Bank’s Commission | CO |
– | Brokerages | BR |
– | Clearing Fees | CL |
– | Exchange Fees | XC |
7 to 8 | Currency | EU, US… |
9 to 11 | Charge Rate (1.50, 0.75,…) | 150, 075,… |
=> Unit cost on Futures (DXF) to receive (R) « clearing fees » (CL), at a rate of EUR (EU) 0.50 (050) per lot : code will be DXFRCLEU050
DX.CONTRACT.CLASS
Depending on the level of tariff definition, you can set a global tarif for a group of Futures contracts identified by a single DX.CONTRACT.CLASS key.
DX.CUSTOMER
Once DX.GROUPING codes are created, attach them to every single counterparty from DX.CUSTOMER (field 27-Group).
DX.COMMISSION
Link all unit charges defined in FT.COMMISSION.TYPE to build a tariff. Special input key, refers to user guide to be sure. Example for a contract base tariff, applicable for a client segment named “Group A”. Note that the tariff depends on the number of lots traded. Key will be here CT10309-CGGROUPA. CT stands for contract number and ‘CG”’ for customer group code.
Example of DX TRADE confirmation set-up:
click to enlarge
EB.ACTIVITY
DE.MESSAGE
DE.MAPPING
EB.ADVICES
DE.TRANSLATION
DE.FORMAT.PRINT
Example of possible allocation of EB.ACTIVITY for each DX.EVENT.TYPE:
Event | Deliv. Ref in DX.TRANSACTION | DX.EVENT.TYPE | EB.ACTIVITY |
New deal | DX TRADE ID | CI | DX-5000 |
Deal Amendment | DX TRADE ID | CA | DX-5010 |
Deal Reversal | DX TRADE ID | CC+CR | DX-5020 |
Closing Out | DX.CLOSEOUT ID | RP | DX-5040 |
Final settlement | DX.CLOSEOUT ID | CM | DX-5030 |
-
-
- Bug identified for DX.CLOSEOUT (attached to RP event):
-
If the version DX.CO.MANUAL.INPUT,SYSTEM triggers automated authorised DX.CLOSEOUT record (thanks to field UNAUTH.AUTH = AUTHORISED), attached Handoff is not correctly fed with DX.CLOSEOUT data (REC5). This because when calling DX.DELIVEY, the APPLICATION is always DX.CO.MANUAL.INPUT instead of DX.CLOSEOUT.
Work around: In DX.CO.MANUAL.INPUT, set field UNAUTH.AUTH to ”UNAUTHORISED’. This will need to authorize a DX.CLOSEOUT record, and then REC5 in DE.HANDOFF will be correctly fed.
LIMIT.REFERENCE: create new products keys.
- Manually update : LIMIT.REFERENCE for fathers’s keys updates + LIMIT.PARAMETER record SYSTEM to take DX into account.
Once authorized, new records need their next running dates to be checked/updated.
- Add new APPS in COMPANY :
PGM.AUTOM.ID... DX.CO.MANUAL.INPUT PGM.AUTOM.ID... DX.TRADE PGM.AUTOM.ID... DX.ORDER PGM.AUTOM.ID... DX.CLOSEOUT PGM.AUTOM.ID... DX.CO.AUTO.INPUT PGM.AUTOM.ID... DX.CO.EXERCISE.AUTO PGM.AUTOM.ID... DX.CO.EXERCISE.MANUAL
ENQUIRY
VERSION
CONTEXT.ENQUIRY (if running under desktop)
HELPTEXT.MENU‘
DX.TRADING.CONSTRAINT
Create a record in DX.CO.AUTO.INPUT (empty one to get everything closed out during COB)