====== CONNEQTOR FIX Interface Specifications(Data Format) ====== ==Version 1.4== Released November 2024\\ Applicable on November 2024\\ \\ \\ ===== 1. Notation in the Specifications ===== ① A "△" in the field indicates a space of the character code. \\ ② The mandatory attributes of the FIX tag are described as follows.\\     ◎ : Mandatory for the FIX message\\     〇 : Not Mandatory for the FIX message but mandatory for CONNEQTOR\\     □ : Conditionally mandatory\\ \\ ③ Price set/output methods for each trading\\   The format of price set/output is ZZZZZZZ9. 9999. Specifically, it is as follows.\\ ^Matching price on CONNEQTOR^Pricing set/output method^ |100 yen |100.0000 | |100.5 yen |100.5000 | |100.05 yen |100.0500 | ④ Unless stated specifically, all field values are set according to the definition in 2.2 Data Types.\\ * Example1: When the field is defined as "Int" and values range from '0' to '100', setting to '0' will be |0|, and setting to '100' will be |100|.\\ * Example2: When the field is defined as "Char" and values range from '△△1' to '100', setting to '△△1' will be|△△1|, setting to '100' will be |100|.\\ ⑤ Dummy values\\  When stated "dummy value(s)" in the data format tables, the system checks the format/range of those field values but ignores appropriateness between fields. ⑥ Description for Standard Header of Messages\\  The "Standard Header" description for each message includes the following information: 1) TAG35:MsgType value for that message and 2) "conditionally mandatory" tag values for the Standard Header (refer to 2.5 Standard Header). ⑦ Order quantity set for each trading\\  Set on a per share basis. (e.g. when placing an order for 1,000 shares, set Tag38 to 1000.) \\ \\ \\ ===== 2. Message structure ===== ==== 2.1 Message Overview ==== A FIX message consists of a standard header, message body and a standard trailer as shown below. |<80% 25% 30% 25%>| | Standard Header | Body Part | Standard Trailer | * Each message consists of a series of fields, each of them is represented as a combination of the tag number and the value (tag number=value) and separated (or terminated) by a delimiter, i.e. ASCII "SOH" (#001).\\   For example, a FIX message starts with "8=FIX.4.2" and ends with "10=nnn", like this: \\   8=FIX.4.29=6035=A . . . (omitted) . . \\ * The following tags are discarded as invalid.\\   Any tag other than tags defined by each message in CONNEQTOR\\   Any Standard Header tag that exists in the Body or Standard Trailer\\   Any Body tag that exists in the Standard Trailer \\  ● Message integrity assurance\\   The integrity of message data content is confirmed in two ways: 1) verification of message length (Tag=9: BodyLength) and 2) verification of checksum of characters (Tag=10: CheckSum).\\   If it is not possible to assure the integrity of a message, it is discarded as an invalid message. \\ \\ ==== 2.2 Data Types ==== Data Type represents the type of the value defined for each tag. The following table shows data types in use.\\ |<100% 20% 80%>| ^ Data type ^ Definitions ^ |Int|Integer (ASCII characters '-' and '0' - '9'). \\ A '-' represents a negative value, thus it is valid only when placed in the first position of the value. \\ Example 1: value '723' in field 21 is expressed as %% |21=723| %%. \\ Example 2: value '-723' in field 21 is expressed as %% |21=-723| %% .| |Float|Decimal (ASCII characters '-' and '0' - '9'). \\ The absence of the decimal point within the string will be interpreted as the float representation of an integer value. \\ The maximum number of characters is 15.| |Qty|Float field representing the quantity.| |Price|Float field representing the price.| |Char|Any alphanumeric character. All ASCII characters except the delimiter () are available. \\ All char fields are case sensitive (i.e. text ≠ Text).| |Boolean|Char field containing one of two values: \\ 'Y' = True/Yes \\ 'N' = False/No| |String|Alpha-numeric free format strings. \\ ASCII characters between 0x20 and 0x7E are available. \\ All char fields are case sensitive (i.e. morstatt ≠ Morstatt).| |UTCTimestamp|Time/date combination represented in UTC (Universal Time Coordinated, also known as "GMT") in either YYYYMMDD-HH:MM:SS (seconds) or YYYYMMDD-HH:MM:SS.sss (milliseconds) format. The colons, hyphen and period are all required. \\ Valid Values are: \\  ・YYYY = 0000-9999, MM = 01-12, DD = 01-31, HH = 00-23, MM = 00-59, SS = 00-60 (60 only if UTC leap second) (without milliseconds). \\  ・YYYY = 0000-9999, MM = 01-12, DD = 01-31, HH = 00-23, MM = 00-59, SS = 00-60 (60 only if UTC leap second), sss=000-999 (indicating milliseconds)| |Exchange|String field (see definition of “String” above) representing a market or exchange. \\ 'T' = Tokyo Stock Exchange| |Currency|String field (see definition of “String” above) representing a currency type. \\ 'JPY' = Yen| \\ \\ ==== 2.3 Message Check ==== For a message that contains valid data as a FIX message, the message format is checked in accordance with the rules of the FIX Protocol Specification (Ver4.2Errata).\\ Check items are as follows. * Existence of mandatory tags (mandatory as FIX protocol)\\ * Existence of conditionally mandatory tags (mandatory as FIX protocol)\\ * Conformance with the type of data\\ * Range check (the setting value must be within the range defined in the FIX protocol)\\ When a message not compliant with any of the above rules is received, a Reject shall be sent to the other party’s system to notify the message of the format error. \\ \\ ==== 2.4 Standard Message Header/Trailer ==== Described in [[#Annex 1 Standard Message Header/Trailer Format|Annex 1 "Standard Message Header/Trailer Format"]]. \\ \\ \\ ===== 3. Administrative Message ===== Described in [[#Annex 2 Administrative Message Format|Annex 2 "Administrative Message Format"]]. \\ \\ \\ ===== 4. Application Message ===== Described in [[#Annex 3 Application Message Format|Annex 3 "Application Message Format"]]. \\ \\ \\ ===== Annex 1 Standard Message Header/Trailer Format ===== ==== (1) Standard Message Header ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Manda \\ tory^Description^Remarks^ |8|BeginString|String|◎|Set the version of the FIX protocol used.Shall be first field in message. The value is always 'FIX.4.2'.| |9|BodyLength|Length|◎|Set the message length counting the number of characters in the message from Msgtype up to and including the delimiter () immediately preceding the CheckSum tag. Shall be second field (next to BeginString) in message. The value ranges from '0' to '9999'.| |35|MsgType|String|◎|Set the type of each message. Shall be third field next to BodyLength) in message.|Refer to description of each message for the value to be set.| |49|SenderCompID|String|◎|Set Self-company ID. \\ Upstream message (CONNEQTOR → participant system): Set the fixed value "TSECQT" of CONNEQTOR. \\ Downstream message (participant system → CONNEQTOR): Set arbitrary value| |56|TargetCompID|String|◎|Set the other party's company ID. \\ Upstream message (CONNEQTOR→ participant system): Set "Participant Code". \\ Downstream message (participant system → CONNEQTOR): Set the fixed value "TSECQT" of CONNEQTOR.| |34|MsgSeqNum|Seqnum|◎|Set the sequence number. '1' to '99999999'| |115|OnBehalfOfCompID|String|□|Upstream message: Set the organization ID designated by CONNEQTOR. \\ Downstream message: omitted|In the case of a domestic financial institution, set the bank code. Otherwise, the code shall be assigned separately.| |116|OnBehalfOfSubID|String|□|Upstream message: Set the account ID for each user of CONNEQTOR. \\ Downstream message: omitted|Since each financial institution may use multiple account numbers, a different ID shall be set for each account number.| |128|DeliverToCompID|String|□|Upstream message: omitted \\ Downstream message: Set the organization ID of CONNEQTOR.|In the case of a domestic financial institution, set the bank code. Otherwise, the code shall be assigned separately.| |129|DeliverToSubID|String|□|Upstream message: omitted \\ Downstream message: Set the account ID for each user of CONNEQTOR.|Since each financial institution may use multiple account numbers, a different ID shall be set for each account number.| |43|PossDupFlag|Boolean|□|Set the identifier for the retransmission message. \\ "Y": Possible duplicate \\ "N": Original transmission|If the set value of this tag is "Y" in the downstream message, CONNEQTOR shall discard the processed message, and process unprocessed message. \\ For upstream message, "Y" is set only for retransmission.| |97|PossResend|Boolean|□|Set the identifier for the retransmission message at the application level. \\ "Y": Possible Resend Message \\ "N": Original transmission|For the upstream message, omit it. For the downstream message, set "Y" or "N". When the set value of this tag is "Y" in the downstream message, CONNEQTOR shall discard the processed message, and process unprocessed message.| |52|SendingTime| UTC \\ Time \\ Stamp|◎|Set the message transmission time in GMT.| |122|OrigSendingTime| UTC \\ Time \\ Stamp|□|Set for the retransmission message (PossDupFlag = Y) in GMT.| |347|MessageEncoding|String|□|Fixed to "Shift_JIS". \\ |CONNEQTOR shall not check any inputs. \\ No setting for upstream message.| ==== (2) Standard Trailer ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Manda \\ tory^Description^Remarks^ |10|CheckSum|String|◎|Calculated by summing every bytes from the beginning of the message to the right before the checksum field, set it with modulo 256. The set value is 3 ASCII digits from '000' to '255'. \\ Shall be the last in the message.| \\ \\ \\ ===== Annex 2 Administrative Message Format ===== ==== (1) Logon ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Required^Description^Remarks^ | |Standard Header| |◎|MsgType="A"| |98|EncryptMethod|Int|◎|Set the procedure for encrypted communication.Fixed to '0'.| |108|HeartBtInt|Int|◎|Set when heartbeat monitoring is used. \\ Set '0' is not possible.| |141|ResetSeqNumFlag|Boolean|□|Set when resetting the sequence number.Fixed to "Y".| |383|MaxMessageSize| Length|□|Set the maximum length of a message. \\ Fixed to '10023'.|CONNEQTOR shall not check any inputs. \\ No setting for upstream message.| | |Standard Trailer| |◎| | ==== (2) Logout ==== |< 100% 4% 12% 5% 4% 40% 35% >| ^Tag^Field Name^Data Type^Required^Description^Remarks^ | |Standard Header| |◎|MsgType="5"| |58|Text| String|□|Set the Logout reason to the first 5 bytes. \\ __ Downstream message __ : \\ '00000', or unspecified - represents the day's trading ends and no more trading will be done (trading end) \\  Otherwise - represents a suspension of the trading due to a failure,etc., and trading will be resumed once it is recovered. (trading suspension) \\ __ Upstream message __ : \\ Reason code for the release caused (5 bytes) | __ Downstream message __ : \\ If "trading end" is set, it is regarded that participant has finished the trading for the day. However, by performing Logon again, it is possible to trade. (Since the FIX sequence number is not reset, it will be used continuously when performing Logon again.) \\ If "trading suspension" is set, it is regarded that an error has occurred in participant system. However, by performing Logon again, it is possible to trade. (Since the FIX sequence number is not reset, it will be used continuously when performing Logon again.) \\ \\ __ Upstream message __ : \\ Refer to Appendix 2 "List of Reason Codes". | | |Standard Trailer| |◎| | ==== (3) HeartBeat ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Required^Description^Remarks^ | |Standard Header| |◎|MsgType= '0'| |112|TestReqID| String|□|For TestRequest response, set TestReqID of the received TestRequest.| | | |Standard Trailer| |◎| | ==== (4) Test Request ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Required^Description^Remarks^ | |Standard Header| |◎|MsgType= '1'| |112|TestReqID| String|◎| __ Upstream message __ : \\  Set the message transmission time. \\  YYYYMMDD-hh:mm:ss format (required colon ":" and hyphen "-") \\  Valid values: YYYY = 0000 to 9999, MM=01 to 12, DD=01 to 31, hh=00 to 23, mm=00~59, ss=00~59| | |Standard Trailer| |◎| | ==== (5) Resend Request ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Required^Description^Remarks^ | |Standard Header| |◎|MsgType= '2'| |7|BeginSeqNo| SeqNum|◎|Set the start of the retransmission request range.| |16|EndSeqNo| SeqNum|◎|Set the end of the retransmission request range. \\ __ Upstream message __ : \\  Always set to '0' (until the last of the sent message).|It shall not be always '0' for the downstream message.| | |Standard Trailer| |◎| | ==== (6) Reject ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Required^Description^Remarks^ | |Standard Header| |◎|MsgType= '3'| |45|RefSeqNum| SeqNum|◎|Set MsgSeqNum of the message to which the Reject is sent.| |371|RefTagID|Int|□|Set the tag number of the message to which the Reject is sent.| |372|RefMsgType| String|□|Set MsgType of the message to which the Reject is sent.| |373|SessionRejectReason|Int|□|Set the reason of Reject. \\ 0: Invalid tag number (incorrect tag number) \\ 1: Required tag missing (without mandatory tags) \\ 2: Tag not defined for this message type (undefied tag for MsgType) \\ 3 :Undefined Tag \\ 4: Tag specified without a value (not set to tags) \\ 5: Value is incorrect (out of range) for this tag (Illegal tag setting) \\ 6: Incorrect data format for value (Illegal tag setting format) \\ 9: CompID problem (incorrect company ID) \\ 10:SendingTime accuracy problem(incorrect SendingTime) \\ 11: Invalid MsgType (message-type incorrect)| |58|Text| String|□|Set the Reason Code (5 bytes) and details of the error(the tag number that caused the error) by concacnated with a comma. \\ In some cases, however, only the reason code is set. \\ When details of the error exists: "Reason code", "Details of the error" \\ When details of the error exists: "Reason code"|Refer to Appendix 2 "List of Reason Codes".| | |Standard Trailer| |◎| | ==== (7) Sequence Reset ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Required^Description^Remarks^ | |Standard Header| |◎|MsgType= '4'| |123|GapFillFlag| Boolean|□|"Y" indicates that the message is a GapFill message. \\ __ Upstream message __ : \\  Note) Set "N" if the requested message cannot be retransmitted.| |36|NewSeqNo| SeqNum|◎|Set the sequence number for the next message to be sent.| | |Standard Trailer| |◎| | \\ \\ \\ ===== Annex 3 Application Message Format ===== ※ The legend for the required fields is as follows: \\   ◎ : mandatory as FIX message \\   ○: not mandatory as FIX message, but mandatory as CONNEQTOR \\   □: conditionary mandatory ==== (1) Order Entry Message (New Order Single) ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Required^Description^Remarks^ | |Standard Header| |◎|MsgType= "D" \\ SenderCompID= ""TSECQT"" (Fixed) \\ TargetCompID = "Participant Code" \\ OnBehalfOfCompID= "Organization ID handled by CONNEQTOR" \\ OnBehalfOfSubID = "Account ID of each organization"| |11|ClOrdID|String|◎|Specify the order number. \\ Order number: A unique number (RFQID) is assigned to each FIX session unit allocated to each order.| |21|HandlInst|char|◎|「1」:Automated execution order, private, no Broker intervention (Fixed)| |109|ClientID|String|○|Specify counterparty's participant code.| |63|SettlType|Char|□|Set the settlement date. \\ If the tag is omitted, it is treated as T+2 settlement. \\ '4': T+3 settlement, '5': T+4 settlement, '9': T+5 settlement| |100|ExDestination|Exchange|○|Specify the exchange. \\ Fixed to 'T' : Tokyo Stock Exchange.| |55|Symbol|String|◎|Specify the issue code.|Refer to Appendix 1 "Issue Codes".| |54|Side|Char|◎|Specify the side of the order. \\ '1': Buy (purchase order) \\ '2': Sell (sell order)| |60|TransactTime|UTC|◎|Specify the time at which the order is placed.| |38|OrderQty|Qty|◎|Specify the order quantity from '1' to '999999999'.| |40|OrdType|Char|◎|Specify the type of execution of the order. \\ Fixed to '2': Limit (limit order).| |44|Price|Price|○|Specify the order price.|Refer to "1. ③ Price set/output methods for each trading."| |15|Currency |Currency|○|Fixed to 'JPY'.| |47|Rule80A|Char|○|Specify the trading administration field (pricipal /agency type). \\ "P": Principal \\ "A": Agency| |8045|Cash/Margin Trading Category|Char|○|Specify the type of cash/margin trading. \\ '0': Cash \\ '2': Margin Open \\ '4': Margin Close| |8100|RFQID|int|○|Specify only integers of ClOrdID.| |8101|Settlement Date|String|○|Set the settlement date. (YYYYMMDD)| |1|Account*|String|□|Account information on Order management system.| |58|Text*|String|□|Text on Order management system.| |8106|Memo*|String|□|Memo on Order management system.| | |Standard Trailer| |◎| | ==== (2) Cancel Order Entry Message (Order Cancel Request) ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Required^Description^Remarks^ | |Standard Header| |◎|MsgType= "F" \\ SenderCompID= "TSECQT" (Fixed) \\ TargetCompID = "Participant Code" \\ OnBehalfOfCompID= "Organization ID handled by CONNEQTOR" \\ OnBehalfOfSubID = "Account ID of each organization"| |41|OrigClOrdID| String|◎|Specify the order number of the order to be canceled.|Order number: A unique number (RFQID) is assigned to each FIX session unit allocated to each order by CONNEQTOR.| |11|ClOrdID| String|◎|Specify the order number for the cancel order.|Order number: A unique number (RFQID) is assigned to each FIX session unit. \\ Specify a different value from the TAG41:OrigClOrdID value.| |55|Symbol| String|◎|Specify the issue code for the order to be canceled.|Refer to Appendix 1 "Issue Codes".| |54|Side|Char|◎|Specify the side of the order to be canceled. \\ '1': Buy (purchase order) \\ '2': Sell (sell order)| |60|TransactTime|UTC \\ Time \\ Stamp|◎|Specify the time at which the cancel order is placed.| |38|OrderQty| Qty|◎|Specify the quantity of the order to be canceled from '1' to '999999999'.| |8100|RFQID|int|○|Specify only integers of ClOrdID.| | |Standard Trailer| |◎| | ==== (3) Order Acceptance Notice (Execution Report) ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Required^Description^Remarks^ | |Standard Header| |◎|MsgType= '8' \\ SenderCompID= Arbitrary Value \\ TargetCompID = ""TSECQT"" (Fixed) \\ DeliverToCompID= ""Organization ID handled by CONNEQTOR"" \\ DeliverToSubID = ""Account ID of each organization""| |37|OrderID|String|◎|Set a unique identifier (numbered in the participant system) for the order.|CONNEQTOR shall not check the value.| |11|ClOrdID|String|○|Set the order number specified at the time of order.| |109|ClientID|String|○|Specify counterparty's participant code.| |17|ExecID|String|◎|Set a unique identifier for Execution Report (numbered in the participant system).|CONNEQTOR shall not check the value.| |20|ExecTransType|char|◎|「0」:New (Fixed)| |150|ExecType|Char|◎|Set the notice type. \\ '0': New (newly accepted)| |39|OrdStatus|Char|◎|Set the current status of the order. \\ '0': New (newly accepted)| |63|SettlmntTyp|Char|□|Set the settlement date specified at the time of order.| |55|Symbol|String|◎|Set the issue code specified at the time of order.|Refer to Appendix 1 "Issue Codes".| |54|Side|Char|◎|Set the side of the order specified at the time of order.| |38|OrderQty|Qty|○|Set the order quantity specified at the time of order.| |44|Price|Price|○|Set the order price specified at the time of order.|Refer to "1. ③ Price set/output methods for each trading."| |47|Rule80A|Char|○|Set the trading administration field (pricipal /agency type) specified at the time of order.| |32|LastShares|Qty|◎|Set the filled quantity. Fixed to '0'.| |31|LastPx|Qty|◎|Set the filled price. Fixed to '0'.| |151|LeavesQty|Qty|◎|Set the order remaining quantity. \\ Fixed to '0'.| |14|CumQty|Qty|◎|Set the partial fill quantity (current cumulative fill quantity). \\ Fixed to '0'.| |6|AvgPx|Price|◎|Set the average filled price. \\ Fixed to '0'.| |8045|Cash/Margin Trading Category|Char|○|Set the type of cash/margin trading specified at the time of order.| | |Standard Trailer| |◎| | ==== (4) Order Approval Rejection/Error Notice (Execution Report) ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Required^Description^Remarks^ | |Standard Header| |◎|MsgType= '8' \\ SenderCompID= Arbitrary Value \\ TargetCompID = ""TSECQT"" (Fixed) \\ DeliverToCompID= ""Organization ID handled by CONNEQTOR"" \\ DeliverToSubID = ""Account ID of each organization""| |37|OrderID|String|◎|Set a unique identifier (numbered in the participant system) for the order.| |11|ClOrdID|String|○|Set the order number specified at the time of order.| |109|ClientID|String|○|Specify counterparty's participant code.| |17|ExecID|String|◎|Set a unique identifier for Execution Report (numbered in the participant system).|CONNEQTOR shall not check the value.| |20|ExecTransType|char|◎|「0」:New (Fixed)| |150|ExecType|Char|◎|Set the notice type. \\ '8': Rejected (Reject)"| |39|OrdStatus|Char|◎|Set the current status of the order. \\ 8: Rejected (Reject)| |63|SettlmntTyp|Char|□|Set the settlement date specified at the time of order.| |55|Symbol|String|◎|Set the issue code specified at the time of order.|Refer to Appendix 1 "Issue Codes".| |54|Side|Char|◎|Set the side of the order specified at the time of order.| |38|OrderQty|Qty|○|Set the order quantity specified at the time of order.| |44|Price|Price|○|Set the order price specified at the time of order.|Refer to "1. ③ Price set/output methods for each trading."| |47|Rule80A|Char|○|Set the trading administration field (pricipal /agency type) specified at the time of order.| |32|LastShares|Qty|◎|Set the filled quantity. Fixed to '0'.| |31|LastPx|Qty|◎|Set the filled price. Fixed to '0'.| |151|LeavesQty|Qty|◎|Set the order remaining quantity. \\ Fixed to '0'."| |14|CumQty|Qty|◎|Set the partial fill quantity (current cumulative fill quantity). \\ Fixed to '0'.| |6|AvgPx|Price|◎|Set the average filled price. \\ Fixed to '0'.| |8045|Cash/Margin Trading Category|Char|○|Set the type of cash/margin trading specified at the time of order.| | |Standard Trailer| |◎| | ==== (5) Cancel Error Notice (Order Cancel Reject) ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Required^Description^Remarks^ | |Standard Header| |◎|MsgType= '9' \\ SenderCompID= Arbitrary Value \\ TargetCompID = "TSECQT" (Fixed) \\ DeliverToCompID= "Organization ID handled by CONNEQTOR" \\ DeliverToSubID = "Account ID of each organization"| |37|OrderID|String|◎|Set a unique identifier (numbered in the participant system) for the order.| |11|ClOrdID|String|○|Specify the order number of the cancel order.| |41|OrigClOrdID|String|◎|Specify the order number of the order to be canceled.|Order number: A unique number (RFQID) is assigned to each FIX session unit allocated to each order by CONNEQTOR.| |39|OrdStatus|Char|◎|Set the current status of the order. \\ '8': Rejected (Reject)|CONNEQTOR shall not manage the status of orders for each participant, Rejected shall be returned uniformly. \\ The actual order status is managed by the participant.| |434|CxlRejResponseTo|Char|◎|Set the request message type corresponding to this message. \\ '1': Order Cancel Request (cancel order)| | |Standard Trailer| |◎| | ==== (6) Others/Data Type Error Notice (Business Message Reject) ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Required^Description^Remarks^ | |Standard Header| |◎|MsgType= 'j' \\ SenderCompID= "TSECQT" (Fixed) \\ TargetCompID = "Participant Code" \\ OnBehalfOfCompID= "Organization ID handled by CONNEQTOR" \\ OnBehalfOfSubID = "Account ID of each organization"| |45|RefSeqNum|Seq \\ \\ Num|□|Set the TAG34:MsgSeqNum value of the request message corresponding to this message.|Only set if the setting is possible.| |372|RefMsgType|String|◎|Set the TAG35:MsgType value of the request message corresponding to this message.| |379|BusinessRejectRefID|String|○|Set the unique identifier (ClOrdID value set in TAG11) of the request message corresponding to this message.| |380|BusinessRejectReason|Int|◎|Set the error reason. Set one of the following reason for upward messages/ \\ '1': Unkown ID (invalid ID) \\ '4': Application not available (application not available) \\ '5': Conditionally Required Field Missing (conditionally mandatory tag missing) \\ '0': Other (Miscellaneous)| |58|Text|String|□|Set the Reason Code (5 bytes) and details of the error(the tag number that caused the error) by concacnated with a comma. \\ In some cases, however, only the reason code is set. \\ When details of the error exists: "Reason code", "Details of the error" \\ When details of the error exists: "Reason code"| |8026|Error time|String|○|Set the error time in "HHMMSSTT0" format. The last digit shall be fixed to '0'.|In some cases where required tag is missing, this tag might not be set.| |8100|RFQID|int|○|Specify only integers of ClOrdID.|In some cases where required tag is missing, this tag might not be set. Data might be empty if some errors are in ClOrdID field.| | |Standard Trailer| |◎| | ==== (7) Order Execution Notice (Execution Report) ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Required^Description^Remarks^ | |Standard Header| |◎|MsgType= '8' \\ SenderCompID= Arbitrary Value \\ TargetCompID = ""TSECQT"" (Fixed) \\ DeliverToCompID= ""Organization ID handled by CONNEQTOR"" \\ DeliverToSubID = ""Account ID of each organization""| |37|OrderID|String|◎|Set a unique identifier (numbered in the participant system) for the order.|CONNEQTOR shall not check the value.| |198|SecondaryOrdID|String|○|Arbitrary Value|CONNEQTOR shall not check the value.| |11|ClOrdID|String|○|Set the order number specified by CONNEQTOR at the time of order.| |109|ClientID|String|○|Specify counterparty's participant code.| |17|ExecID|String|◎|Set a unique identifier for Execution Report (numbered in the participant system).| |20|ExecTransType|char|◎|「0」:New (Fixed)| |150|ExecType|Char|◎|Set the notice type. \\ Fixed to "2": Trade (fill).| |39|OrdStatus|Char|◎|Set the current status of the order. \\ Fixed to '2': Filled| |63|SettlmntTyp|Char|□|Set the settlement date specified at the time of order.| |55|Symbol|String|◎|Set the issue code specified at the time of order.|Refer to Appendix 1 "Issue Codes".| |54|Side|Char|◎|Set the side of the order specified at the time of order.| |38|OrderQty|Qty|○|Set the order quantity (quantity at the time of order entry), which is the sum of the order remaining quantity (LeavesQty) and the partial fill quantity (CumQty).| |47|Rule80A|Char|○|Set the trading administration field (pricipal /agency type) specified at the time of order.| |32|LastShares|Qty|◎|Set the filled quantity.| |31|LastPx|Price|◎|Set the filled price.| |151|LeavesQty|Qty|◎|Set the order remaining quantity. \\ Fixed to '0'.| |14|CumQty|Qty|◎|Set the filled quantity. | |6|AvgPx|Price|◎|Set the average filled price. \\ Fixed to '0'.| |8026|Execution time|String|○|Set the execution time at ToSTNeT in "HHMMSSTT0" format. The last digit shall be fixed to '0'.| |8045|Cash/Margin Trading Category|Char|○|Set the type of cash/margin trading specified at the time of order.| | |Standard Trailer| |◎| | ==== (8) Order Cancel Result Notice (Execution Report) ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Required^Description^Remarks^ | |Standard Header| |◎|MsgType= '8' \\ SenderCompID= Arbitrary Value \\ TargetCompID = ""TSECQT"" (Fixed) \\ DeliverToCompID= ""Organization ID handled by CONNEQTOR"" \\ DeliverToSubID = ""Account ID of each organization""| |37|OrderID|String|◎|Set a unique identifier (numbered in the participant system) for the order.|CONNEQTOR shall not check the value.| |11|ClOrdID|String|○|Specify the order number of the cancel order.| |41|OrigClOrdID|String|○|Specify the order number of the order to be canceled.|Order number: A unique number (RFQID) is assigned to each FIX session unit allocated to each order by CONNEQTOR.| |109|ClientID|String|○|Specify counterparty's participant code.| |17|ExecID| String|◎|Set a unique identifier for Execution Report (numbered in the participant system).|CONNEQTOR shall not check the value.| |20|ExecTransType|char|◎|「0」:New (Fixed)| |150|ExecType|Char|◎|Set the notice type. \\ Fixed to "F": Trade (fill (fully filled)).|Refer to Appendix 3 "List of Cancel Result Codes".| |39|OrdStatus|Char|◎|Set the result of the cancel/modification process.|Refer to Appendix 3 "List of Cancel Result Codes".| |63|SettlmntTyp|Char|□|Set the settlement date specified at the time of order.| |55|Symbol|String|◎|Set the issue code specified at the time of the order to be canceled.|Refer to Appendix 1 "Issue Codes".| |54|Side|Char|◎|Set the side of the order specified at the time of the order to be canceled.| |38|OrderQty|Qty|○|Set the order quantity (including the partial fill quantity) at the time of the order to be canceled. | |44|Price|Price|○|Set the price specified at the time of the order to be canceled. |Refer to "1. ③ Price set/output methods for each trading."| |47|Rule80A|Char|○|Set the trading administration field (pricipal /agency type) specified at the time of the order to be canceled. | |32|LastShares|Qty|◎|Set the filled quantity. Fixed to '0'.| |31|LastPx|Qty|◎|Set the filled price. Fixed to '0'.| |151|LeavesQty|Qty|○|Set the order remaining quantity after cancellation. Set to '0'.| |14|CumQty|Qty|◎|Set the partial fill quantity (current cumulative fill quantity). Set to '0'.| |6|AvgPx|Price|◎|Set the average filled price. Set to '0'.| |58|Text|String|□|Set the cancel result code.|Refer to Appendix 3 "List of Cancel Result Codes".| |8045|Cash/Margin Trading Category|Char|○|Set the type of cash/margin trading specified at the time of the order to be canceled. | | |Standard Trailer| |◎| | ==== (9) Expired Order Notice (Execution Report) ==== |< 100% 4% 15% 5% 4% 45% 27% >| ^Tag^Field Name^Data Type^Required^Description^Remarks^ | |Standard Header| |◎|MsgType= '8' \\ SenderCompID= Arbitrary Value \\ TargetCompID = ""TSECQT"" (Fixed) \\ DeliverToCompID= ""Organization ID handled by CONNEQTOR"" \\ DeliverToSubID = ""Account ID of each organization""| |37|OrderID|String|◎|Set a unique identifier (numbered in the participant system) for order.|CONNEQTOR shall not check the value.| |11|ClOrdID|String|○|Set the order number specified at the time of order.| |109|ClientID|String|○|Specify counterparty's participant code.| |17|ExecID| String|◎|Set a unique identifier for Execution Report.|CONNEQTOR shall not check the value.| |20|ExecTransType|char|◎|「0」:New (Fixed)| |150|ExecType|Char|◎|Set the notice type. \\ C: Expired (expired)| |39|OrdStatus|Char|◎|Set the current status of the order. \\ C: Expired (expired)| |63|SettlmntTyp|Char|□|Set the settlement date specified at the time of order.| |55|Symbol|String|◎|Set the issue code specified at the time of order.|Refer to Appendix 1 "Issue Codes".| |54|Side|Char|◎|Set the side specified for the order to be expired.| |38|OrderQty|Qty|○|Set the expired order quantity (including the partial fill quantity).| |44|Price|Price|○|Set the order price specified for the order to be expired.|Refer to "1. ③ Price set/output methods for each trading."| |47|Rule80A|Char|○|Set the transaction management items (contract/self classification) specified at the time of order.| |32|LastShares|Qty|◎|Set the filled quantity. Fixed to '0'.| |31|LastPx|Qty|◎|Set the filled price. Fixed to '0'.| |151|LeavesQty|Qty|◎|Set the order remaining quantity after cancellation. Set to '0'.| |14|CumQty|Qty|◎|Set the partial fill quantity (current cumulative fill quantity). Set to '0'.| |6|AvgPx|Price|◎|Set the average filled price. Set to '0'.| |58|Text|Char|□|Set the expired reason code.|Refer to Appendix 4 "List of Cancel Order Reason Codes".| |8045|Cash/Margin Trading Category|Char|○|Set the type of cash/margin trading specified at the time of order.| | |Standard Trailer| |◎| | \\ \\ \\ ===== Appendix 1 Issue Codes ===== |< 100% 20% 25% 55% >| ^ Issues ^ Code Type ^ Setting Method ^ | ETFs/ETNs |New securities identification code |Not supported in the Specifications.| |:::|Current securities identification code |For 4-digit codes, "XXXX" is set. \\ *The "X" indicates half-width alphanumeric characters. \\ 5-digit codes are not supported in the Specifications.| | Stocks and CBs other than ETFs/ETNs | New securities identification code |Not supported in the Specifications.| |:::| Current securities identification code |Outside the scope of the trading in the Specifications.| \\ \\ \\ ===== Appendix 2 List of Reason Codes ===== * Reason Code: 0xxxx (excluding 00000) is notified to the participant by Logout, Reject or BusinessMessageReject. * Reason Code: 2xxxx is notified to the participant by BusinessMessageReject. |< 100% 15% 50% 35% >| ^ Reason Code ^ Error Description ^ Remarks ^ | 00000 |Normal| | 00001 |Invalid tag form| | 00002 |Required tag missing| | 00003 |Redundant tag(s)| | 00004 |Dupulicate fields| | 00005 |Response to the other party's disconnection request| | 00006 |Protocol error (invalid MsgSeqNum)| | 00007 |Protocol error (Logon Message error)| | 00008 |Protocol error (receive Rejects)| | 00009 |Protocol error (multiple Rejects)| | 00010 |Protocol fatal error| | 00011 |CONNEQTOR system error| | 20001 |Instrument Code| | 20002 |Sell/Buy| | 20003 |Order Price| | 20004 |Order Quantity| | 20005 |Control item| | 20006 |Settlement Date| | 20007 |Counterparty Trading participant Code| | 20008 |No corresponding order exists| | 20009 |The corresponding order is invalid| | 20010 |Invalid Execution Time| | 20011 |ExecType/Ordstatus Error| \\ \\ \\ ===== Appendix 3 List of Cancel Result Codes ===== ^ Code ^ Message ^ Description ^Tag150: \\ ExecType^Tag39: \\ OrdStatus^ | △0 |Fully Cancelled|When a cancel order is entered, the entire quantity of the order to be corrected is fully cancelled.|4:Canceled|4:Canceled | △9 |Fully Filled|When a cancel order is entered, the order to be corrected has already been fully filled.|8:Rejected|2:Filled | 10 |No Remaining Quantity to be Cancelled|When a cancel order is entered, the entire quantity of the order to be corrected has already been fully cancelled or expired.|8:Rejected|4:Canceled| \\ \\ \\ ===== Appendix 4 List of Cancel Order Reason Codes ===== ^ Code ^ Description ^ | △8 |When the execution price is out of the tradable range| | 11 |When the order is expired since the session has already closed| \\ \\ \\ ===== Notes ===== ==== Terms and Conditions of Use ==== Prior to use of these interface specifications, users are required to read and agree to the terms and conditions described below. * Copyright, etc. * All rights, including copyright for various pieces of information in these interface specifications (hereinafter referred to as "technical information, etc.") belong to TSE. * Prohibitions * Whether with or without consideration, in whatever form or media, including but not limited to a license, transfer, resale or lease, these interface specifications or any part of it including but not limited to technical information, etc. herein must not be provided to any third parties or published. * Disclaimer * In no event shall TSE be liable for any damage or loss arising directly or indirectly from the use or inability to use of information due to errors, omission, or missing, etc. of information in this document. * TSE accepts no responsibility or liability for damage or loss incurred by the users or customers of the users, etc. arising from connecting their systems to the TSE trading system according to information provided in this document or arising in connection with the use of this document unless due to intentional act or gross negligence of TSE. * In addition, TSE accepts no liability for damage or loss of profit incurred by the users or customers of the users, etc. arising from any special circumstances irrespective of whether or not TSE has foreseen such circumstances. * The right to claim compensation for damage or loss shall be extinguished unless exercised within 12 months from the date such damage or loss occurs. * Breaches * In the event of any breach of terms or conditions described herein, users shall accept instructions of TSE without dissent. * Miscellaneous * TSE does not warrant, whether express or implied, that the content in these interface specifications is error-free. ===== Publisher ===== Issued by: Tokyo Stock Exchange, Inc.\\ 2-1 Nihombashi Kabutocho, Chuo-ku Tokyo 103-8220\\ MAIL:ask-conneqtor@jpx.co.jp\\ Phone Number to reconnect FIX session: 050-3377-7751