目次

CONNEQTOR FIX Interface Specifications (Investor/Data Format)

Version1.0

Created in June 2023



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.

③Price set/output methods for each trading
 The format of price set/output is ZZZZZZZ9. 9999. Specifically, it is as follows.

Matching price on CONNEQTORPricing set/output method
100 yen100.0000
100.5 yen100.5000

④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 unit basis. (e.g. when placing an order for 1,000 units, 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.

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<SOH>”, like this:
8=FIX.4.2<SOH>9=60<SOH>35=A<SOH> . . . (omitted) . .\\


The following tags are discarded as invalid.

 ●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.

Data typeDefinitions
IntInteger (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| .
FloatDecimal (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.
QtyFloat field representing the quantity.
PriceFloat field representing the price.
CharAny alphanumeric character. All ASCII characters except the delimiter (<SOH>) are available.
All char fields are case sensitive (i.e. text ≠ Text).
BooleanChar field containing one of two values:
'Y' = True/Yes
'N' = False/No
StringAlpha-numeric free format strings.
ASCII characters between 0x20 and 0x7E are available.
All char fields are case sensitive (i.e. morstatt ≠ Morstatt).
UTCTimestampTime/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)

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.

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".

3. Administrative Message

Described in Annex 2 "Administrative Message Format".

4. Application Message

Described in Annex 3 "Application Message Format".

Annex 1 Standard Message Header/Trailer Format

(1) Standard Message Header

TagField NameData TypeMandatory Description Remarks
8BeginStringStringSet the version of the FIX protocol used.Shall be first field in message.
The value is always 'FIX.4.2'.
9BodyLengthLengthSet the message length counting the number of characters in the message from Msgtype up to and including the delimiter (<SOH>) immediately preceding the CheckSum tag. Shall be second field (next to BeginString) in message. The value ranges from '0' to '9999'.
35MsgTypeStringSet 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.
49SenderCompIDStringSet Self-company ID.
Upstream message (investor system → CONNEQTOR):
Set a fixed value for each investor system.
Downstream message (CONNEQTOR → investor system):
Set the fixed value “TSECQT” of CONNEQTOR.
56TargetCompIDStringSet the other party's company ID.
Upstream message (investor system → CONNEQTOR):
Set the fixed value “TSECQT” of CONNEQTOR.
Downstream message (CONNEQTOR → investor system):
Set a fixed value for each investor system.
34MsgSeqNumSeqnumSet the sequence number. '1' to '99999999'
115OnBehalfOfCompIDStringUpstream message: Set the organization ID of investor 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.
128DeliverToCompIDStringUpstream message: omitted
Downstream message: Set the organization ID of investor designated by CONNEQTOR.
In the case of a domestic financial institution, set the bank code. Otherwise, the code shall be assigned separately.
43PossDupFlagBooleanSet the identifier for the retransmission message.
“Y”: Possible duplicate
“N”: Original transmission
For downstream message, “Y” is set only for retransmission.
97PossResendBooleanSet the identifier for the retransmission message at the application level.
“Y”: Possible Resend Message
“N”: Original transmission
For the downstream message, omit it. For the upstream message, set “Y” or “N”. When the set value of this tag is “Y” in the upstream message, CONNEQTOR shall discard the processed message, and process unprocessed message.
52SendingTime UTC
Time
stamp
Set the message transmission time in GMT.
122OrigSendingTimeUTC
Time
stamp
Set for the retransmission message (PossDupFlag = Y) in GMT.
347MessageEncodingStringFixed to “Shift_JIS”. CONNEQTOR shall not check any inputs.
No setting for downstream message.

(2) Standard Trailer

Tagfield NameData TypeMandatory Description Remarks
10CheckSumStringCalculated 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

TagField NameData TypeMandatory Description Remarks
Standard Header MsgType=“A”
98EncryptMethodIntSet the procedure for encrypted communication.Fixed to '0'.
0固定
108HeartBtIntIntSet when heartbeat monitoring is used.
Set '0' is not possible.
141ResetSeqNumFlagBooleanSet when resetting the sequence number.Fixed to “Y”.
383MaxMessageSize LengthSet the maximum length of a message.
Fixed to '10023'.
CONNEQTOR shall not check any inputs.
No setting for downstream message.
Standard Trailer

(2) Logout

TagField NameData TypeMandatory Description Remarks
Standard Header MsgType=「5」
58Text StringSet the Logout reason to the first 5 bytes.

Upstream 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)

Downstream message:
Reason code for the release caused (5 bytes)
Upstream message:
If “trading end” is set, it is regarded that investor 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 investor 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.)

Downstream message:
Refer to Appendix 1 “List of Reason Codes”.
Standard Trailer

(3) HeartBeat

TagField NameData TypeRequiredDescriptionRemarks
Standard Header MsgType= '0'
112TestReqID StringFor TestRequest response, set TestReqID of the received TestRequest.
Standard Trailer

(4) Test Request

TagField NameData TypeRequiredDescriptionRemarks
Standard Header MsgType= '1'
112TestReqID String Downstream 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

TagField NameData TypeRequiredDescriptionRemarks
Standard Header MsgType= '2'
7BeginSeqNo SeqNumSet the start of the retransmission request range.
16EndSeqNo SeqNumSet the end of the retransmission request range.
Downstream message:
 Always set to '0' (until the last of the sent message).
It shall not be always '0' for the upstream message.
Standard Trailer

(6) Reject

TagField NameData TypeRequiredDescriptionRemarks
Standard Header MsgType= '3'
45RefSeqNum SeqNumSet MsgSeqNum of the message to which the Reject is sent.
371RefTagIDIntSet the tag number of the message to which the Reject is sent.
372RefMsgType StringSet MsgType of the message to which the Reject is sent.
373SessionRejectReasonIntSet 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)
12: SubID problem (incorrect account ID)
58Text StringSet 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 1 “List of Reason Codes”.
Standard Trailer

(7) Sequence Reset

TagField NameData TypeRequiredDescriptionRemarks
Standard Header MsgType= '4'
123GapFillFlag Boolean“Y” indicates that the message is a GapFill message.
Downstream message:
 Note) Set “N” if the requested message cannot be retransmitted.
36NewSeqNo SeqNumSet 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) Send RFQ (New Order Single)

TagField NameData TypeRequiredDescriptionRemarks
Standard Header MsgType=「D」
SenderCompID= “Investor system identifier”
TargetCompID= “TSECQT” (Fixed)
OnBehalfOfCompID= “Organization ID of investor handled by CONNEQTOR”
11ClOrdIDStringSpecify the order number.
Order number: A unique number is assigned to each FIX session unit allocated to each order by investor system.
76ExecBrokerStringDesignate an executing broker (specify 5-digit trading participant code)
1AccountStringSpecify client account information to be managed by investor system
21HandlInstchar“3”: Manual order, best execution (Fixed)
63SettlmntTypcharSet the settlement date (FROM).
If the tag is omitted, it is treated as T+2 settlement. \\'4': T+3 settlement, '5': T+4 settlement, '9': T+5 settlement
55SymbolStringSpecify the issue code. 4 digits.
54SidecharSpecify the side of the order. \\'1': Buy (purchase order) \\'2': Sell (sell order)
60TransactTimeUTCSpecify the RFQ transmission time.CONNEQTOR shall not check the value.
38OrderQtyQtySpecify the order quantity from '1' to '999999999'. \\Set 0 if the order amount is specified.
40OrdTypecharSpecify the type of execution of the order. \\Fixed to '1': Market (market order).
58TextStringInvestor system is used on a voluntary basis.
8102User IDStringSpecify the User ID handled by CONNEQTOR.
8103Settlement Date (To)charSet when specifying the settlement date (TO).
If the tag is omitted, it will be a single day designation of the settlement date set in the tag 63.
'4': T+3 settlement, '5': T+4 settlement, '9': T+5 settlement
8106MemoStringInvestor system is used on a voluntary basis.
Standard Trailer

(2) RFQ Acceptance Notice (Execution Report)

TagField NameData TypeRequiredDescriptionRemarks
Standard Header MsgType=「8」
SenderCompID= “TSECQT” (Fixed)
TargetCompID= “Investor system identifier”
DeliverToCompID= “Organization ID of investor handled by CONNEQTOR”
37OrderIDString“-” (Fixed)
11ClOrdIDStringSet the value specified by the investor system in New Order Single
17ExecIDStringSet a value that is unique within each FIX session with each investor system.
20ExecTransTypechar“0”: New (Fixed)
150ExecTypecharSet “0” (New) or “8” (Rejected).
39OrdStatuscharSet “0” (New) or “8” (Rejected).
1AccountStringSet the value in New Order Single
63SettlmntTypcharSet the settlement date (FROM) specified at the time of RFQ transmission.
55SymbolStringSet the issue code specified at the time of RFQ transmission.
54SidecharSet the side of the order specified at the time of RFQ transmission.
38OrderQtyQtySet the order quantity specified at the time of RFQ transmission. Set 0 if the order amount is specified.
32LastSharesQtySet the filled quantity. Fixed to '0'.
31LastPxQtySet the filled price. Fixed to '0'.
151LeavesQtyQtySet the remaining order quantity.
For new orders, set the order quantity. For rejection, set 0.
*Set 0 if the order amount is specified.
14CumQtyQtySet the partial fill quantity (current cumulative fill quantity).
Fixed to '0'.
6AvgPxPriceSet the average filled price.
Fixed to '0'.
58TextStringIf the RFQ is accepted, set “00000”; if the RFQ is rejected, set any other reason code and explanation.Refer to Appendix 1 “List of Reason Codes”. Explanation set “code:●●,comment:●●”.
8100RFQIDintSet RFQ ID. Set by CONNEQTOR.Omitted when RFQ is rejected.
8102User IDStringSet the value set in New Order Single.
8103Settlement Date (To)charSet the value set in New Order Single.
Standard Trailer

(3) RFQ Cancellation Notice (Execution Report)

TagField NameData TypeRequiredDescriptionRemarks
Standard Header MsgType=「8」
SenderCompID= “TSECQT” (Fixed)
TargetCompID= “Investor system identifier”
DeliverToCompID= “Organization ID of investor handled by CONNEQTOR”
37OrderIDString“-” (Fixed)
11ClOrdIDStringSet the value specified by the investor system in New Order Single
17ExecIDStringSet a value that is unique within each FIX session with each investor system.
20ExecTransTypechar“0”: New (Fixed)
150ExecTypechar“C”: Expired (Fixed)
39OrdStatuschar“C”: Expired (Fixed)
1AccountStringSet the value in New Order Single
63SettlmntTypcharSet the settlement date (FROM) specified at the time of RFQ transmission.
55SymbolStringSet the issue code specified at the time of RFQ transmission.
54SidecharSet the side of the order specified at the time of RFQ transmission.
38OrderQtyQtySet the order quantity specified at the time of RFQ transmission. Set 0 if the order amount is specified.
32LastSharesQtySet the filled quantity. Fixed to '0'.
31LastPxQtySet the filled price. Fixed to '0'.
151LeavesQtyQtySet the remaining order quantity.
For new orders, set the order quantity. For rejection, set 0.
*Set 0 if the order amount is specified.
14CumQtyQtySet the partial fill quantity (current cumulative fill quantity).
Fixed to '0'.
6AvgPxPriceSet the average filled price.
Fixed to '0'.
58TextStringSet the reason for RFQ cancellation and explanation.Refer to Appendix 1 “List of Reason Codes”.Explanation set “code:●●,comment:●●”.
8100RFQIDintSet RFQ ID. Numbered by CONNEQTOR.
8102User IDStringSet the value set in New Order Single.
8103Settlement Date (To)charSet the value set in New Order Single.
Standard Trailer

(4) Execution Notice(Execution Report)

TagField NameData TypeRequiredDescriptionRemarks
Standard Header MsgType=「8」
SenderCompID= “TSECQT” (Fixed)
TargetCompID= “Investor system identifier”
DeliverToCompID= “Organization ID of investor handled by CONNEQTOR”
37OrderIDStringSet a unique identifier (numbered in the broker system) for the order.
11ClOrdIDStringSet the value specified by the investor system in New Order Single
17ExecIDStringSet a value that is unique within each FIX session with each investor system.
20ExecTransTypechar“0”: New (Fixed)
150ExecTypechar“2”: Filled (Fixed)
39OrdStatuschar“2”: Filled (Fixed)
1AccountStringSet the value in New Order Single
63SettlmntTypcharSet the settlement date.
55SymbolStringSet the issue code specified at the time of RFQ transmission.
54SidecharSet the side of the order specified at the time of RFQ transmission.
38OrderQtyQtySet the order quantity specified at the time of RFQ transmission. Set 0 if the order amount is specified.
47Rule80AcharSet the trading administration field (pricipal /agency type).
32LastSharesQtySet the filled quantity.
31LastPxQtySet the filled price.
151LeavesQtyQtySet the order remaining quantity.
Fixed to '0'.
14CumQtyQtySet the partial fill quantity (current cumulative fill quantity).
6AvgPxPriceSet the average filled price.
Fixed to '0'.
58TextStringSets the time when the CONNEQTOR sends the order to the broker .
orderDate:YYYY-MM-DD hh:mm:ss
8026Execution timeStringSet the execution time at ToSTNeT in “HHMMSSTT0” format. The last digit shall be fixed to '0'.
8045Cash/Margin Trading CategorycharSet the type of cash/margin trading specified at the time of order.
8100RFQIDintSet RFQ ID. Numbered by CONNEQTOR.
8102User IDStringSet the value set in New Order Single.
Standard Trailer

(5)Done for day(Execution Report)

TagField NameData TypeRequiredDescriptionRemarks
Standard Header MsgType=「8」
SenderCompID= “TSECQT” (Fixed)
TargetCompID= “Investor system identifier”
DeliverToCompID= “Organization ID of investor handled by CONNEQTOR”
37OrderIDStringSet a unique identifier (numbered in the broker system) for the order.
11ClOrdIDStringSet the value specified by the investor system in New Order Single
17ExecIDStringSet a value that is unique within each FIX session with each investor system.
20ExecTransTypechar“0”: New (Fixed)
150ExecTypechar“3”: Done for day (Fixed)
39OrdStatuschar“3”: Done for day (Fixed)
1AccountStringSet the value in New Order Single
63SettlmntTypcharSet the settlement date.
55SymbolStringSet the issue code specified at the time of RFQ transmission.
54SidecharSet the side of the order specified at the time of RFQ transmission.
38OrderQtyQtySet the order quantity specified at the time of RFQ transmission. Set 0 if the order amount is specified.
47Rule80AcharSet the trading administration field (pricipal /agency type).
32LastSharesQtySet the filled quantity.
31LastPxQtySet the filled price.
151LeavesQtyQtySet the order remaining quantity.
Fixed to '0'.
14CumQtyQtySet the partial fill quantity (current cumulative fill quantity).
6AvgPxPriceSet the average filled price.
Fixed to '0'.
58TextStringSets the time when the CONNEQTOR sends the order to the broker .
orderDate:YYYY-MM-DD hh:mm:ss
8026Execution timeStringSet the execution time at ToSTNeT in “HHMMSSTT0” format. The last digit shall be fixed to '0'.
8045Cash/Margin Trading CategorycharSet the type of cash/margin trading specified at the time of order.
8100RFQIDintSet RFQ ID. Numbered by CONNEQTOR.
8102User IDStringSet the value set in New Order Single.
Standard Trailer


Appendix 1 List of Reason Codes

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
20101 Broker Specifying a broker that is not associated with the investor.
20102 Settlement Date Specifying other than between T+2 and T+5.
20103 Order Quantity/Order Amount Specifying other than one of the Order Quantity/Order Amount.
20104 User ID Specifying other than User ID handled by CONNEQTOR.
20105 Trading Unit
30001 Out of trading hour
30002 Trading Halted
30003 Exceeding the Maximum Amount of One Order Exceeding the maximum amount per order set by the investor from the CONNEQTOR screen.
30004 Broker FIX unconnected FIX connection of the specified broker is unconnected.
30005 Settlement Date error by specified broker Specified a settlement date that is not supported by broker.
30006 Issue Code error by specified broker Specified issue code that is not supported by broker.
30007 Settlement Date error by specified broker Sent RFQ at a time not supported by broker.
30008 Closing date crossing error Sent RFQ supecifying settelement duration and it crosses the Closing date.
30009 Over 25 billion yen Error Sent RFQ with the total amount over 25 billion yen.
40001 RFQ Cancellation
40002 RFQ Timeout
40003 Refused Quote by All Market Maker
40004 Declined by Market Maker
40005 Timeout by Market Maker
40006 Rejection by Investor Broker
40007 Rejection by Market Maker Broker
40008 Approval Timeout by Broker




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.

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