Skip to main content

Setting up a trade reconciliation

This walk-through builds a model, Gas Trade Reconciliation, that compares a gas desk's ETRM trades with three sources:

MatcherEvent listETRM trades it covers
ICE EndexICE_ENDEX_TRADESExchange traded futures (venue=ICE Endex)
MarexMAREX_CONFIRMSOTC forwards arranged through Marex (broker=Marex)
ABN ClearingABN_CLEARINGFutures cleared through ABN AMRO (clearer=ABN)

Open the Data Reconciliation extension and its Manage view.


1. Create the model​

Select Add Model and fill in:

FieldExampleNotes
IDTRADE.RECONA unique id for the model
NameGas Trade ReconciliationShown on the dashboard
Master NameETRMWhat to call the master trades on screen
Master EventETRM_TRADESThe event list holding your ETRM trades
DashboardTradingModels with the same dashboard name are shown together

Under Matchers, select + Add for each source and give it a name: ICE Endex, Marex and ABN Clearing. If you have your own rule functions, add their script under Custom Scripts.

The model configuration

Select Submit to save the model. You can save at any point and carry on later with Edit Model.


2. Configure each matcher​

Select Edit Matcher on a matcher row. Choose the Event list for the source, then add its pre-rules, rules and post-rules with + Add.

For ICE Endex, the pre-rule filter_master_data with the value venue=ICE Endex limits the comparison to the ETRM's exchange trades, and five rules compare the product, buy/sell, contract, price and lots.

The ICE Endex matcher

A good set of rules for the three sources:

RuleICE EndexMarexABN Clearing
Productstring_map: product to instrumentstring_map: product to commoditystring_map: product to exchange_code
Buy/Sellstring_map: buy_sell to side (B and Buy)exact_match: buy_sell to directionexact_match: buy_sell to bs
Contractexact_match: absolute to absoluteexact_match: absolute to absoluteexact_match: absolute to absolute
Priceabs_number: price to priceabs_number: price to priceabs_number: price to price
Lotsabs_number: lots to lotsabs_number: lots to volumeabs_number: lots to quantity

And the pre-rules:

MatcherPre-ruleValue
ICE Endexfilter_master_datavenue=ICE Endex
Marexfilter_master_databroker=Marex
ABN Clearingfilter_master_dataclearer=ABN

3. Configure each rule​

Select Edit Rule on a rule row. Give the rule a name, choose the Function, and select the ETRM fields under Master Fields and the source's fields under Matcher Fields. The field lists come from the latest event in each event list. When a rule compares more than one field, select them in the same order on both sides.

Editing the Product rule

Select Save on the rule, Save on the matcher, and Submit on the model.

tip

Changes to a matcher or a rule are kept in the model on screen as soon as you save them, but they are only stored when you Submit the model.


4. Add the mappings​

string_map rules only match values that have a mapping. For this model:

MatcherRuleETRM valueSource value
ICE EndexProductTTF Gas FuturesTFM
ICE EndexProductNBP Gas FuturesM
ICE EndexBuy/SellBBuy
ICE EndexBuy/SellSSell
MarexProductTTF Gas ForwardTTF
ABN ClearingProductTTF Gas FuturesTFM

You create mappings from the Manual Mapping screen the first time a value appears, and review them in the Mappings view.


Next​

Reconcile a day with the new model.