Logo
FAQs

Questions on Xetra

1. What instruments can be traded on Xetra?

Xetra is Deutsche Börse’s fully electronic pan-European trading platform for equities, certificates, warrants, exchange-traded funds and subscription rights.

2. When receiving a netted Trade Confirmation, is there any way to find out which orders are included in the netted trade?

There are trade confirmations for price level netting, order level netting, and the order level positions which account level positions are displayed as during the online day. For these cases netting is done within the same order. Therefore, the order number in the trade confirmation indicates the order being netted. There are no trade confirmations for the account level netting generated during the batch, which nets several orders.

3. Will there be any Inside Market updates for Block Crossing Orders? Will there be any last trade price for Block Crossing Orders?

No Inside Market information will be delivered for Block Crossing Orders. There will be a last trade price for Block Crossing Orders. You will also have BC ISIN codes within the instrument list ( BC1 instrument group ). Trade and order updates will contain BC-ISINcodes instead of DE-ISINcodes.

4. Does the value of dateLstUpdDat change when an order gets executed on the Exchange?

The dateLstUpdDat can be used to prevent that two users acting on the same item during the same time period. In other words it can be used to prevent overfills during order modifications.

5. In which cases does the error 12814 'ORDER DATA HAS CHANGED SINCE RETRIEVED FOR EDITING' occur? What should be done to avoid this error?

This error message comes up, when you are not using the right dateLstUpdDat. When you enter an Order, the dateLstUpdDat will be delivered in the response message. To modify an order, the latest dateLstUpdDat from the Order Execution Confirmation should be used.

6. Can the dateLstUpdDat field in the Execution Confirmation contains a value of zero?

If you enter an order and the order does not go into the orderbook (i.e. partial executed IOC/FOK order, directly full executed market / limit / market to limit / iceberg – order) then you receive a dateLstUpdDat of zero in the Execution Confirmation. Generally speaking the values are not needed once the lifetime of the order ends.

7. Can you explain what does the field netMktVal stand for?

The market value can be calculated by 'price x quantity '. netMktVal defined the sum of market values.

8. When receiving a netted Trade Confirmation there is an avgTradMtchPrc and netTrdQty field. Are the fields TradMatchPrc and TrdQty empty then?

Trade confirmations are sent for each unique price of a netted trade in a single matching transaction. The TradMatchPrc displays a unique price in a single matching transaction for a netted position. While the TrdQty displays the quantity traded at the TradMatchPrc during that matching transaction.

9. The delete order callback returns the following messages: 05001 - REQUEST NOT SUCCESSFULLY PROCESSED 13161 - ONLY ACCEPT SURPLUS ORDERS ARE ALLOWED DURING CURRENT TRADING PHASE.

An order transaction other than surplus has been entered during pre order book balancing or order book balancing. Only SU orders can be deleted during this trading state. Try again after a phase transition.

10. Two questions relating to the cancellation of orders by the exchange: Is anything broadcast by the exchange (and if so, on which VALUES broadcast stream) when: 1) At the end of the day Good Till Day orders (etc.) expire 2) Orders are cancelled by the exchange due to some market condition (e.g. stock split, trading suspension etc.) as reported by the Xetra Subscribe State Change Information

In order to receive the broadcast the architecture and application need to be up and running. Xetra doesn’t send out broadcasts for non-persistent orders/quotes which got deleted during the batch.

11. What are the differences between a triggered and a not triggered stop order in case of modify and delete?

To modify or cancel a stop order that has NOT been TRIGGERED yet, the request Xetra Modify Stop Order or Xetra Delete Stop Order needs to be used. To modify or cancel a stop order that has already been triggered, the request Xetra Modify Order or Xetra Delete Order requests needs to be used.

12. What does the INVALID LIMIT error message mean after submitting a Limit Order without limit price?

The entered limit price is not a valid number or entered limit price failed tick-size validation.

13. After submitting an order with ordrTypCod = ORDR_TYP_COD_LIMIT, the validation error INVALID BASIC ORDER TYP occurs.

Limit orders need to be entered with a non zero ordrExePrc.

14. I am trying to enter a limit order and I am receiving back the error 4637 - Invalid combination of order type and peak quantity.

The error occurs because the peakSizeQty is initialized with space characters. The peakSizeQty is a field of format Volume and has to be initialized with '+' and zeros according to its length.

15. In which field should I populate the Limit Price (is it ordrExePrc?). How do I specify a Limit Price in an order?

The ordrTypCod is M for Market Order and L for Limit Order. When you have entered a Limit Order, the ordrTypCod must set to L and the Limit Price ordrExePrc must be greater then zero.

16. What are the rules for the following two flags: (1) prcRsblChkFlg (2) ordrExpDat?

(1) If the prcRsblChkFlg flag is set to Y then a check will be performed. It validates if e.g. in enter order there is a big deviation from the market price ( 1 - 5 % away from the market price, individually set for each instrument.) For instance if somebody makes a mistake by typing in the price. The error 4547 INVALID PRICE REASONABILITY FLAG will occur if you fill the (flag) field wrongly, it has to equal to Y or N.

(2) The entered expiry date must be a valid date or it is not greater or equal to today's date or is not less than today +90 days. Pls. note in the simulation the business day may not equal to the actual calendar day. Use 'Inquire Exchange Information' to get current business date.

17. Please can you explain the meaning for some of the response fields for the Xetra Enter Order application request. The fields concerned are: (1) ordrBkQty - Is this the actual quantity of an order that was entered onto the market. (2) ordrCnclQty - ????? Does this mean that some of my order may not be processed? E.g., if I ask to buy 10000 shares, could 5000 be cancelled? 3) ordrExeQty - amount of the order that was matched immediately? Will I also get an execution Confirmation message for the subscription stream?

(1) It is possible that an Orders is executed immediately when it is entered into the order book (order 'meets' market order on the opposite side of the order book, Surplus order entry in orderbook-balance phase (FOK/IOC + SU),...) If it is partially executed the remaining quantity that is actually entered into the orderbook is indicated in ordrBkQty. (2) It is possible that an entered order is executed and removed immediately from the order book (execution restriction IOC and/or trading restriction SU). The quantity that was cancelled is indicated in the response in the respective field. (3) Additionally to the ordrExeQty an execution confirmation is sent.

18. After sending the following application request XETRA_ENTER_ORDER_RID the following error message: 13062 - REQUEST ALREADY PROCESSED - WINDOW REFRESH MAY BE REQUIRED occurs. Please explain what the cause of this message is? When does this error occur?

This message appears if the user already entered an order with the same resubmission number. The purpose of this resubmission number is that under certain circumstances (e.g. failover), the duplicate entry of orders has to be rejected. Therefore each order needs a unique combination of- ISIN- TraderId- Resubmission number (unless the resubmission number is set to zero). If an application is not sure whether an order has been accepted by the back end, it can send the same order again (using the same values for these fields). In case the order has been accepted in the first attempt, the error message appears, otherwise the order is accepted.

19. What would the behavior be if both sides of a transaction enter an OTC trade to Xetra, one for buy and one for sell.

This trade will not be matched, because the counterparty must approve the OTC trade.

20. The documentation says, 'stlDate is mandatory or optional depending on field setlPeriodFlag' I need to know what the dependency is? Under what conditions is stlDate mandatory and under what conditions it is optional.

If setlPeriodFlg is set to N or I, the settlement will take place in t+2 or t+3 independently of the settlement date which might had been set. No rejection of inconsistencies between setlPeriodFlg and date will be performed. If settlement date is set no period flag is required (in this case a front-end application must have information about the business calendar in order to avoid rejections due to invalid settlement dates entered).

21. When I try to send a quote on AVA, I get an error message '12905 - License required for quote maintenance'. What is the meaning of this message?

A user does not have a Designated Sponsor license in this instrument and therefore cannot enter quotes

22. How do I distinguish between sending public quote request messages and auction quote request messages? The only quote request message that I see is 'Xetra Enter Quote Request' structure rfmqureqT, which has 3 fields: buyCod, ISINCod and ordrQty. This Message sends auction request messages. Can I use it to send public quote requests? How?

Xetra Enter Quote Request is used by users other than Designated Sponsors or Issuers to request an instrument specific (auction) quote. To enter a public quote you have to use Xetra Enter Quote ( rfnquentT) a public quote is allowed only for Issuers.

23. Is it possible to enter a FOK order with a stop price?

No

24. What are the rules for the inside Market broadcast?

The following list describes the valid values that are sent in special situations: According to the data field format table values indicating e.g. prices or quantities can be sent in the respective fields of the broadcast. If the value of a specific field has not been changed since the previous broadcast, spaces (e.g. for prices the constant INS_MKT_PRC_FIELD_NO_CHANGE = ' ') are sent within these fields. The constant INS_MKT_PRC_FIELD_NOT_VALID = '-9999999999999' occurs in price fields if the respective field cannot return valid values, e.g. during TRADE no auction price is disseminated. In fields where the format is not 'Price', zeros are send. The value '+9999999999999' is delivered in fields bstAskPrc and bstBidPrc indicating that market orders are present in the order book.

25. I have set the instAssCod to 'A' for INST_ASS_COD_ASSIGNED. Why did I receive non-assigned instruments in the instrument list response?

The application request 'Xetra Inquire Instrument List' is for requesting instrument data on exchange level. If instAssCode has value 'A' the member receives all instruments that are assigned to him. (request on member level - no validations on subgroup level are performed) This is required e.g. to retrieve ticker information. To receive only instruments a subgroup is assigned for, the application request ' Xetra Inquire Instrument Group List' and 'Xetra Inquire Current Instrument Group List' can be used.

26. Since there are a lot of instruments in the XETRA system and only a few of them need updating each day, it seems unnecessary to load all instruments every time. Is there a way to just get information about changes in instrument data from a previous day, or do we have to look at each instrument every day and compare with our local data to find changes?

Inquire Instrument List is a request, which works locally on your miss. The data is taken out of the reference data file. There is no request, which gives you the changes compared with the last day. But this request is only necessary one time per day.

27. I can't find any documentation on the rfrqd022T member instAssCod. What does this control?

This is used for filtering on assignment within the Xetra Instrument List. Valid values are A=assigned N=not assigned and space for all instruments.

28. Will the response from the Inquire Order message on Xetra return stop orders?

Yes. The field ordrResCod in the response to Xetra Inquire Order contains ORDR_RES_COD_STOP 'S' for stop orders and ORDR_RES_COD_TRIG 'T' for triggered stop orders.

29. The exception 12816 'ORDER REQUESTED NOT FOUND IN DATABASE'.

An order fulfilling the specified request values does not exist in the respective database.

30. I would like to know if as a member we are charged for making application requests such as Xetra Inquire Trade through the VALUES API. We use Xetra Inquire Trade in our application upon start-up and it allows us to supply up to 312 ISINs per request and also make the Xetra Subscribe Trade Confirmation request. Please let me know what - if any - the charging structure for application requests is.

For the purpose of protecting the system from excessive transaction load, a concept of fees has been established. It becomes effective in case an Exchange member exceeds a certain amount of transactions in a given time interval. The Transaction Class for each application request can be found in VLAUES API Member Front End Development Guide Vloume 5 – Xetra Application Requests and Subscriptions, section 5 – Application Request Descriptions.The limits that are effective on the cumulative transaction count of these categories are published in functional documentation, along with the applicable fee model. All application requests that do not belong to any of the categories are not counted. Transaction count in the “Inquiries” category can be saved effectively by using the related broadcast streams for the receiving data updates. The inquiries should only be used to get initial data set.

31. If I want to request all trades for a specific day, how should I specify time brackets? Are there constants for start_of_day and end_of_day?

Inquire trade= tranTimBegF, tranTimEndF, into the fields the start time and the end time of the inquiry can be filled. We have no constant for start_of_day and end_of_day.

32. I'm submitting a Xetra Inquire Trade (XETRA_INQUIRE_TRADE_RID) and I am experiencing in the callback an unsuccessful 'INVALID TRANSACTION ID'. I'm initializing all request fields, including specifying the correct business day in tranDatF?

You have to initialize the field tranIdNo with zeros, since it is a numeric field.

33. When modifying a trade on XETRA you have to enter ordNo and tranIdNo for the Trade to modify. It works for ordinary Trades, but when trying to Modify a trade that originates from an approved OTC Trade I get the error message '12982 - NO TRADE RECORD TO MODIFY FOUND'.

The field ordrNo has to be filled with the order number. This number can be retrieved with the 'Xetra Inquire Own Trade' request.

34. In response to Xetra Subscribe Trade Confirmation the coming broadcasts have different values in the field 'tranIdSfxNo'. Like: '000', '002', '004' Could you describe the possible values of this field and in which situations those values are generated.

The tranIdSfxNo will be increased with each modify and netting.

35. What did the reTransData field in the response contain?

If you perform a broadcast retransmission (e.g. Trade Confirmations) you have to specify the broadcasttype in your request structure (and other fields). You are getting back a keyDatCtrlBlc and reTransData as response data (can be checked in the header file rfreretr.hxx). The field reTransData consists all information in a sequential form. It has the length 3500 characters. For instance if you re-request Trade Confirmations you get the same information as in the response data of a normal subscribe Trade Confirmation one after another. This would be accTypCod, accTypNo, bonAcrInt….

36. If the closing price has not changed from the day before after the closing auction (i.e. there have been no trades on this instrument), will the Xetra Subscribe Inside Market stream report a blank clsPrc, or will it report a valid clsPrc?

The Xetra Subscribe Inside Market provides you with a valid clsPrc at the end of the Closing Auction.

37. In the response from Subscribe inside market the fields bstAskPrc (multiple instances) bstBidPrc (multiple instances) are present. In the field descriptions the values INS_MKT_PRC_FIELD_NOT_VALID, INS_MKT_PRC_FIELD_NO_CHANGE are defined as possible return values (in addition to a price): What does INS_MKT_FIELD_NO_CHANGE actually mean? I expected it to indicate that there has been no change in value for the price.

The inside market broadcast is sent on instrument level for every instrument phase switch (e.g. from PRETR to OCALL) or if one of the values that are part of the broadcast message changes for the specific instrument. No inside market broadcasts are sent within the phases PRETR, BETW, POSTR, ENDTR, HALT, SUSP, OIPO, QIPO, OFRZ, QFRZ, IIPO, IFRZ, but only for the switch to them. For a switch to a phase the destination phase has to be considered. The following list describes the valid values that are sent in special situations: • values indicating e.g. prices or quantities can be sent in the respective fields of the broadcast. • If the value of a specific field has not been changed since the previous broadcast spaces (e.g. for prices the constant INS_MKT_PRC_FIELD_NO_CHANGE = ' ') within these fields are sent. • The constant INS_MKT_PRC_FIELD_NOT_VALID = '-9999999999999' occurs in price fields if the respective field cannot return valid values, e.g. during TRADE no auction price is disseminated. In fields where the format is not 'price' zeros are sent. • The values '+9999999999999' are delivered in fields bstAskPrc and bstBidPrc indicating that market orders are present in the order book. The state specific fields (prcsStsValCod, volInd, moiInd, bstOrdPrcInd) and the ISIN are always sent.

38. How are trade reversal information displayed?

The Trade Confirmation broadcast include trade reversals as well. To identify the reversal the field trdQty is negative. (E.g. -100) The field trdIdNo contains the original trdIdNo (from the trade that has been canceled).

39. If I enter an order with validity date ‘today’ and then try to change the validity dat, it fails, whatever validity date I enter.

The issue is related to non-persistent orders. If a day-order is entered with the 'P'-account (proprietary) and the indicator for persistence is left 'empty' (default), the order will be automatically entered as nonpersistent. In this case changes of the validity is not possible any more since a nonpersistent order cannot be valid longer than for the day.

All Orders entered with the accounts 'D' and 'A' with a 'default' persistency indicator will always be entered as persistent. The same is valid for orders entered with the account type 'P' with a validity longer than one day.


Page 1 2
Print