MultipleLegAccountingTrade True Rebook

How It Works

Tags from EagleML message are compared with tags from database for the trade with same originalTradeTicketNumber:

  • If at least one tag is different, then trade in database will be canceled by using cancel panel and then new trade will be loaded with data from EagleML message

  • If all tags are same, then load will be skipped, and record will be ignored in Message Center

How to Activate

There are two ways to activate Rebook logic for AccountingTrade:

  1. Use allowAutoRebookFlag element in AccountingTrade EagleML message to activate Rebook logic only for this message:

    <EagleML xmlns="http://www.eagleinvsys.com/2011/EagleML-2-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:SchemaLocation="http://www.eagleinvsys.com/2011/EagleML-2-0 eagleml-ext-2-0.xsd" xsi:type="AccountingTransactionMessage"> <accountingTransaction> <header> <objectType>MultipleLegAccountingTrade</objectType> </header> <multipleLegAccountingTrade> [...] <allowAutoRebookFlag>Y</allowAutoRebookFlag> [...] </multipleLegAccountingTrade> </accountingTransaction> </EagleML>
  2. Use global option W_ACCTTRADE_ALLOW_AUTOREBOOK that can be set in w_config_custom.inc file to activate Rebook logic for all AccountingTrade messages:

    <CODE> :W_ACCTTRADE_ALLOW_AUTOREBOOK: := 'Y'; </CODE>

Supported buySellIndicators

The next set of buySellIndicators supports Rebook logic: BUY, SELL, BUYCVR, SHORTSELL, TRADEFWD, OPENSWAP, CLOSESWAP, DEL, REC, WROFF.

Tags Compared in Rebook Logic

Element

Tag

EagleML Xpath

Element

Tag

EagleML Xpath

tradeDate

35

EagleML/accountingTransaction/multipleLegAccountingTrade/tradeDate

settlementDate

37

EagleML/accountingTransaction/multipleLegAccountingTrade/settlementDate

sharesParQuantity

40

EagleML/accountingTransaction/multipleLegAccountingTrade/contractTradeLeg/sharesParQuantity

price

45

EagleML/accountingTransaction/multipleLegAccountingTrade/contractTradeLeg/price

commission

47

EagleML/accountingTransaction/multipleLegAccountingTrade/contractTradeLeg/commission

secFee

48

EagleML/accountingTransaction/multipleLegAccountingTrade/contractTradeLeg/secFee

taxAmount

46

EagleML/accountingTransaction/multipleLegAccountingTrade/contractTradeLeg/taxAmount

stampDutyTax

51

EagleML/accountingTransaction/multipleLegAccountingTrade/contractTradeLeg/stampDutyTax

otherFee

3752

EagleML/accountingTransaction/multipleLegAccountingTrade/contractTradeLeg/otherFee

clearingBrokerCode

1237

EagleML/accountingTransaction/multipleLegAccountingTrade/clearingBrokerCode

tradedInterest

49

EagleML/accountingTransaction/multipleLegAccountingTrade/contractTradeLeg/tradedInterest

buySellIndicator

55

EagleML/accountingTransaction/multipleLegAccountingTrade/buySellIndicator

brokerCode

88

EagleML/accountingTransaction/multipleLegAccountingTrade/brokerCode

principal

165

EagleML/accountingTransaction/multipleLegAccountingTrade/contractTradeLeg/principal

settlementCurrency

63

EagleML/accountingTransaction/multipleLegAccountingTrade/contractTradeLeg/settlementCurrency

currentFactor

91

EagleML/accountingTransaction/multipleLegAccountingTrade/contractTradeLeg/currentFactor

originalFace

41

EagleML/accountingTransaction/multipleLegAccountingTrade/contractTradeLeg/originalFace

NOTE: Tags 91 and 41 are compared only when Sink Flag (tag 1780) in Security is set to Y.