The Lab

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from this space and version 1.5.97

Table of Contents

Tip
titleCertified Exchanges

Certification is completed for the following Venues,  please contact MarketFactory if you wish to use

...

Fidessa to trade

...

on

...

All the certification and tests are limited to ICE and LME exchanges only. New exchanges and their supported Order Types will need to be certified with Fidessa.

Certification Document: 

View file
nameWhiteOak F&O Certification Test Plan-C9A0E09255B6D52C.xlsx
height250

Supported Message Types

...

MultilegOrderCancelReplaceRequest (AC) 

...

OrderCancelRequest (F)

...

ExecutionAck (BN)

...

Indicating DontKnow on a trade.

ExecutionAck message with ExecAckStatus = Rejected

...

Reject on an OrderCancelReplaceRequest or OrderCancelRequest

Supported Order Types and TIF

The following Order Types are certified with Fidessa 

...

Supported Order Types and Time in Force values on ICE and LME 

https://library.tradingtechnologies.com/user-setup/ice-supported-order-types.html

https://library.tradingtechnologies.com/user-setup/lme-supported-order-types.html

Testing in UAT:

Below are some notes to get started on testing in UAT up and running. The following products are available in UAT to test. 

Exchange symbols (Tag55).

ICE Europe

  1. Brent Crude = BRN
  2. GasOil = G
  3. Robusta Coffee = RC
  4. White Sugar = W
  5. London Cocoa = C

ICE US

  1. FCOJ = OJ
  2. Cotton No.2 = CT

LME

  1. AA = AAD
  2. Silver = AGD
  3. Aluminium = AHD
  4. Gold = AUD
  5. Copper = CAD
  6. Lead = PBD
  7. Nickel = NID
  8. Zinc = ZSD

Additional Notes:

ICE

Website: https://www.theice.com/

Look up the products at the website to get the details of ExchangeSymbol(Logical Name) , MIC code, Contract Size, Current trading price, Maturity Date.

Example link of Brent Crude : https://www.theice.com/products/219/Brent-Crude-Futures/data?marketId=5049351

LME

Website: https://www.lme.com/

Look up the products on the website for details such as exchange symbol, mic code = XLME, , contract size, current trading price are available.

Link for Aluminium : https://www.lme.com/Metals/Non-ferrous/Aluminium#tabIndex=0

Sample SBE Messages:

New Order :

{ header={ name=NewOrderMultileg, templateId=(301) "NewOrderMultileg", schemaId=5, version=18320, msgSeqNum=5, sendingTime="20200326-07:56:34.533000000", encodedLength=28, blockLength=332, messageStart=1179469389, messageLength=609 } , body={ NewOrderMultileg.TradingFlags(43): { PossDupFlag=false, }, NewOrderMultileg.OrigSendingTime(122)="20200326-07:56:34.532000000", NewOrderMultileg.TransactTime(60)="20200326-07:56:34.532000000", NewOrderMultileg.OrderRequestID(2422)="", NewOrderMultileg.QuoteID(117)="", NewOrderMultileg.ClOrdID(11)="TEST_AB_1_524819", NewOrderMultileg.OrdType(40)=Limit, NewOrderMultileg.TimeInForce(59)=DAY, NewOrderMultileg.Symbol(55)="G", NewOrderMultileg.SecurityType(167)=FUT, NewOrderMultileg.SecurityGroup(1151)="", NewOrderMultileg.Price(44).mantissa=5335, NewOrderMultileg.Price(44).exponent=-1, NewOrderMultileg.RegulatoryBodies(20021): { SEF=false, EMIR=true, MiFID=true, SFTR=true, }, NewOrderMultileg.HasExtendedOrderFields(20005)=0, NewOrderMultileg.NoPartyIDs(453)=3, NewOrderMultileg.NoPartyIDs[0].PartyRole(452)=ExecutionVenue, NewOrderMultileg.NoPartyIDs[0].PartyID(448)="IFEU", NewOrderMultileg.NoPartyIDs[1].PartyRole(452)=OrderOriginationTrader, NewOrderMultileg.NoPartyIDs[1].PartyID(448)="TESTTRADER", NewOrderMultileg.NoPartyIDs[2].PartyRole(452)=OrderOriginationFirm, NewOrderMultileg.NoPartyIDs[2].PartyID(448)="WOCF", NewOrderMultileg.NoLegs(555)=1, NewOrderMultileg.NoLegs[0].LegSecurityType(609)=FUT, NewOrderMultileg.NoLegs[0].LegSide(624)=Buy, NewOrderMultileg.NoLegs[0].LegCurrency(556)="USD", NewOrderMultileg.NoLegs[0].LegPrice(566).mantissa=5335, NewOrderMultileg.NoLegs[0].LegPrice(566).exponent=-1, NewOrderMultileg.NoLegs[0].LegOrderQty(685).mantissa=2, NewOrderMultileg.NoLegs[0].LegOrderQty(685).exponent=0, NewOrderMultileg.NoLegs[0].LegSettlType(587)=YYYYMM, NewOrderMultileg.NoLegs[0].LegSettlDate(588)="20200801" (raw:18475), NewOrderMultileg.NoLegs[0].HasLegNDFFields(20010)=0, NewOrderMultileg.NoLegs[0].NoLegAllocs(670)=1, NewOrderMultileg.NoLegs[0].NoLegAllocs[0].LegAllocAccount(671)="1515", NewOrderMultileg.NoLegs[0].NoLegAllocs[0].LegIndividualAllocID(672)="0", NewOrderMultileg.NoLegs[0].NoLegAllocs[0].LegAllocQty(673).mantissa=2, NewOrderMultileg.NoLegs[0].NoLegAllocs[0].LegAllocQty(673).exponent=0, NewOrderMultileg.NoLegs[0].NoLegAllocs[0].NoAllocRegulatoryFields(20080)=0, NewOrderMultileg.NoLegs[0].NoLegAllocs[0].NoAllocPassthruFields(20070)=0, NewOrderMultileg.NoLegs[0].NoLegRegulatoryFields(20060)=0, NewOrderMultileg.NoLegs[0].NoLegPassthruFields(20050)=0, NewOrderMultileg.NoBodyRegulatoryFields(20040)=2, NewOrderMultileg.NoBodyRegulatoryFields[0].BodyRegulatoryKey(20041)=MiFIDExecutingDecisionMakerAsAlgorithm, NewOrderMultileg.NoBodyRegulatoryFields[0].BodyRegulatoryValue(20042)="test", NewOrderMultileg.NoBodyRegulatoryFields[1].BodyRegulatoryKey(20041)=MiFIDTradingCapacity, NewOrderMultileg.NoBodyRegulatoryFields[1].BodyRegulatoryValue(20042)="DEAL", NewOrderMultileg.NoBodyPassthruFields(20030)=1, NewOrderMultileg.NoBodyPassthruFields[0].BodyPassthruKey(20031)="PositionEffect", NewOrderMultileg.NoBodyPassthruFields[0].BodyPassthruValue(20032)="C", NewOrderMultileg.NoHops(627)=0, NewOrderMultileg. } }

Amend:

{ header={ name=MultilegOrderCancelRep
laceRequest, templateId=(302) "MultilegOrderCancelReplaceRequest", schemaId=5, version=18320, msgSeqNum=6, sendingTime="20200324-10:57:31.147000000", encodedLength=28, blockLength=268, messageStart=
1179469389, messageLength=454 } , body={ MultilegOrderCancelReplaceRequest.TradingFlags(43): { PossDupFlag=false, }, MultilegOrderCancelReplaceRequest.OrigSendingTime(122)="20200324-10:57:31.14600
0000", MultilegOrderCancelReplaceRequest.TransactTime(60)="20200324-10:57:31.146000000", MultilegOrderCancelReplaceRequest.ClOrdID(11)="TEST_G_32_129731", MultilegOrderCancelReplaceRequest.OrigClOrd
ID(41)="TEST_AB_32_71303", MultilegOrderCancelReplaceRequest.OrderID(37)="00000017479XONC1", MultilegOrderCancelReplaceRequest.OrdType(40)=StopLimit, MultilegOrderCancelReplaceRequest.TimeInForce(59
)=DAY, MultilegOrderCancelReplaceRequest.Symbol(55)="G", MultilegOrderCancelReplaceRequest.SecurityType(167)=FUT, MultilegOrderCancelReplaceRequest.Price(44).mantissa=5475, MultilegOrderCancelReplac
eRequest.Price(44).exponent=-1, MultilegOrderCancelReplaceRequest.RegulatoryBodies(20021): { SEF=false, EMIR=false, MiFID=false, SFTR=false, }, MultilegOrderCancelReplaceRequest.HasExtendedOrde
rFields(20005)=1, MultilegOrderCancelReplaceRequest.HasExtendedOrderFields[0].EffectiveTime(168)="19700101-00:00:00.000000000", MultilegOrderCancelReplaceRequest.HasExtendedOrderFields[0].ExpireTime
(126)="19700101-00:00:00.000000000", MultilegOrderCancelReplaceRequest.HasExtendedOrderFields[0].ExposureDuration(1629)=NULL_UINT32, MultilegOrderCancelReplaceRequest.HasExtendedOrderFields[0].StopP
x(99).mantissa=5475, MultilegOrderCancelReplaceRequest.HasExtendedOrderFields[0].StopPx(99).exponent=-1, MultilegOrderCancelReplaceRequest.HasExtendedOrderFields[0].MinQty(110).mantissa=NULL_INT64,
MultilegOrderCancelReplaceRequest.HasExtendedOrderFields[0].MinQty(110).exponent=0, MultilegOrderCancelReplaceRequest.HasExtendedOrderFields[0].MaxShow(210).mantissa=NULL_INT64, MultilegOrderCancelR
eplaceRequest.HasExtendedOrderFields[0].MaxShow(210).exponent=0, MultilegOrderCancelReplaceRequest.HasExtendedOrderFields[0].DiscretionOffsetValue(389).mantissa=NULL_INT64, MultilegOrderCancelReplac
eRequest.HasExtendedOrderFields[0].DiscretionOffsetValue(389).exponent=0, MultilegOrderCancelReplaceRequest.HasExtendedOrderFields[0].PegPriceType(1094)=, MultilegOrderCancelReplaceRequest.HasExtend
edOrderFields[0].PegOffsetValue(211).mantissa=NULL_INT64, MultilegOrderCancelReplaceRequest.HasExtendedOrderFields[0].PegOffsetValue(211).exponent=0, MultilegOrderCancelReplaceRequest.HasExtendedOrd
erFields[0].NoStrategyParameters(957)=0, MultilegOrderCancelReplaceRequest.NoPartyIDs(453)=3, MultilegOrderCancelReplaceRequest.NoPartyIDs[0].PartyRole(452)=ExecutionVenue, MultilegOrderCancelReplac
eRequest.NoPartyIDs[0].PartyID(448)="IFEU", MultilegOrderCancelReplaceRequest.NoPartyIDs[1].PartyRole(452)=OrderOriginationTrader, MultilegOrderCancelReplaceRequest.NoPartyIDs[1].PartyID(448)="TESTT
RADER", MultilegOrderCancelReplaceRequest.NoPartyIDs[2].PartyRole(452)=OrderOriginationFirm, MultilegOrderCancelReplaceRequest.NoPartyIDs[2].PartyID(448)="WOCF", MultilegOrderCancelReplaceRequest.No
Legs(555)=1, MultilegOrderCancelReplaceRequest.NoLegs[0].LegSecurityType(609)=, MultilegOrderCancelReplaceRequest.NoLegs[0].LegSide(624)=Buy, MultilegOrderCancelReplaceRequest.NoLegs[0].LegCurrency(
556)="", MultilegOrderCancelReplaceRequest.NoLegs[0].LegPrice(566).mantissa=5475, MultilegOrderCancelReplaceRequest.NoLegs[0].LegPrice(566).exponent=-1, MultilegOrderCancelReplaceRequest.NoLegs[0].L
egOrderQty(685).mantissa=2, MultilegOrderCancelReplaceRequest.NoLegs[0].LegOrderQty(685).exponent=0, MultilegOrderCancelReplaceRequest.NoLegs[0].LegSettlType(587)=YYYYMM, MultilegOrderCancelReplaceR
equest.NoLegs[0].LegSettlDate(588)="20200801" (raw:18475), MultilegOrderCancelReplaceRequest.NoLegs[0].HasLegNDFFields(20010)=0, MultilegOrderCancelReplaceRequest.NoLegs[0].NoLegRegulatoryFields(200
60)=0, MultilegOrderCancelReplaceRequest.NoLegs[0].NoLegPassthruFields(20050)=0, MultilegOrderCancelReplaceRequest.NoBodyRegulatoryFields(20040)=0, MultilegOrderCancelReplaceRequest.NoBodyPassthruFi
elds(20030)=1, MultilegOrderCancelReplaceRequest.NoBodyPassthruFields[0].BodyPassthruKey(20031)="PositionEffect", MultilegOrderCancelReplaceRequest.NoBodyPassthruFields[0].BodyPassthruValue(20032)="
C", MultilegOrderCancelReplaceRequest. } }

Cancel:

{ header={ name=OrderCancelRequest, te
mplateId=(303) "OrderCancelRequest", schemaId=5, version=18320, msgSeqNum=8, sendingTime="20200324-08:12:19.457000000", encodedLength=28, blockLength=248, messageStart=1179469389, messageLength=307
} , body={ OrderCancelRequest.TradingFlags(43): { PossDupFlag=false, }, OrderCancelRequest.OrigSendingTime(122)="20200324-08:12:19.457000000", OrderCancelRequest.TransactTime(60)="20200324-08:12:1
9.457000000", OrderCancelRequest.ClOrdID(11)="TEST_F_8_450296", OrderCancelRequest.OrigClOrdID(41)="TEST_AB_8_403812", OrderCancelRequest.OrderID(37)="00000017414XONC1", OrderCancelRequest.Symbol(55
)="G", OrderCancelRequest.NoPartyIDs(453)=3, OrderCancelRequest.NoPartyIDs[0].PartyRole(452)=ExecutionVenue, OrderCancelRequest.NoPartyIDs[0].PartyID(448)="IFEU", OrderCancelRequest.NoPartyIDs[1].Pa
rtyRole(452)=OrderOriginationTrader, OrderCancelRequest.NoPartyIDs[1].PartyID(448)="TESTTRADER", OrderCancelRequest.NoPartyIDs[2].PartyRole(452)=OrderOriginationFirm, OrderCancelRequest.NoPartyIDs[2
].PartyID(448)="WOCF", OrderCancelRequest. } }

ExecutionAck (DontKnow Trade):

...

other venues: 


Known to work for the following venues

  • Eurex
  • Australian Securities Exchange (ASX)
  • Montreal Exchange (MX)

Workflow

CLOB Orders.

Supported Instruments

Expand


Table Filter
totalrow,,,,,,,,,,,,
hidelabelsfalse
sparkNameSparkline
hidePanetrue
sparklinefalse
defaultfidessa_orders,client_role&&target_platform&&MDBookType (SessionType == Pricing)&&MDEntryType (SessionType == Pricing)
isFirstTimeEnterfalse
cell-width250,250
hideColumnstrue
customNoTableMsgfalse
disabledfalse
enabledInEditorfalse
globalFilterfalse
id1774950808296_974441074
order0,1
hideControlsfalse
inversefalse,false
columnVenue
disableSavefalse
separatorPoint (.)
labelsVenue‚Hide columns
ddOperatorOR
datepatterndd M yy
updateSelectOptionsfalse
worklog365|5|8|y w d h m|y w d h m
isORAND
Table Excerpt Include
nameSupportedInstruments
merge-tablestrue
pageSupported Instruments
typepage


Please refer to Supported Instruments to view across all venues.

PartyIDs

Expand


Table Filter
hideControlstrue
inversefalse
sparkNameSparkline
hidePanetrue
isNewfalse
separatorPoint (.)
ddSeparatorstrue
defaultfidessa_orders
isFirstTimeEnterfalse
userfilterVenue
datepatterndd M yy
id1643320348386_-2085946249
worklog5|8|w d h m|w d h m
isORAND
order0

Table Excerpt Include
copytabletrue
namePartyIDs
pagePartyIDs
typepage


Please refer to PartyIDs to view across all venues.

Regulatory Fields

Expand


Table Filter
hideControlstrue
inversefalse
sparkNameSparkline
hidePanetrue
isNewfalse
separatorPoint (.)
ddSeparatorstrue
defaultfidessa_orders
isFirstTimeEnterfalse
userfilterVenue
datepatterndd M yy
id1643320362210_204238351
worklog5|8|w d h m|w d h m
isORAND
order0

Table Excerpt Include
copytabletrue
nameRegulatoryFields
pageRegulatory Fields
typepage


Please refer to Regulatory Fields to view across all venues.

Passthru Fields

Expand


Table Filter
hideControlstrue
inversefalse
sparkNameSparkline
hidePanetrue
isNewfalse
separatorPoint (.)
ddSeparatorstrue
defaultfidessa_orders
isFirstTimeEnterfalse
userfilterVenue
datepatterndd M yy
id1643320378053_-365713751
worklog5|8|w d h m|w d h m
isORAND
order0

Table Excerpt Include
copytabletrue
namePassthruFields
pagePassthru Fields
typepage


Please refer to Passthru Fields to view across all venues.

Details

Symbology

LME

The LME product contract code that represents metal or contract. The first 2 characters represent the Venue Product Code, The 3rd character represents the currency.

Example : 

Image Added

LME publishes Tradable Instrument File as per the  documentation https://www.lme.com/-/media/Files/About/Regulation/Mifid-ii/Tradeable-Instrument-File-(TIF)-Specification-v1,-d-,11.pdf

ICE

ICE Product Codes are available at https://www.theice.com/products - There is a CSV file that can be downloaded from this page by clicking the “Product codes” link in the top right corner.

ICE uses the “contract code” to construct the symbols. This contract codes can either be the “Physical Code” or the “Logical code”. Customers will need to check with the exchange to confirm the contract code used in static data for the product.


Examples:

Image Added

Image Added

Further details of ICE Instrument name convention can be found here:

https://www.theice.com/publicdocs/technology/Instrument_Naming_Convention.pdf