Taiwan Stock Exchange Corporation
FIX/FAST Market Information Transmission
System
Connection Operating Handbook
Prepared by the Taiwan Stock Exchange Corporation
December 2016
Version: V2.9
1
Version Update Log
Code
1
2
3
4
5
6
7
8
9
Descriptions
Initial version
Addition of Password Changing Rules for Data
Users.
Addition of Resend Message transmission format
for Data Users.
Addition of a List of Newly Compiled TWSE
Index Codes.
Following the rules change of securities
codification, amending convertible corporate
bonds, exchangeable corporate bonds, and
exchangeable financial bonds codes.
Addition of “TWSE RA Taiwan Employment
Creation 99 Return Index” and “TWSE RA
Taiwan Corporate Operation 101 Return Index”
in Appendix 5
Newly added "FORMOSA Stock Index Code" in
Appendix 4, newly added "FORMOSA Stock
Total Return Index Code" in Appendix 5, newly
added "FORMOSA Stock Index Taiwan TWSE
Taiwan Index Series Code” in Appendix 6.
Newly added "TWSE High Compensation 100
Index Code" in Appendix 4, Newly added
"TWSE High Compensation 100 Total Return
Index Code" in Appendix 5, Newly added
"TWSE High Compensation 100 Index TWSE
Taiwan Index Series Code" in Appendix 6.
With the revision of "Principles for the
Assignment of Ticker Symbols in the Republic
of China Securities Markets," Open-end Callable
Bull and Bear Contracts, Leveraged ETFs,
Inverse ETFs, and Futures Trust ETFs are added
to Appendix: Principles for Assignment of Ticker
Symbols.
FIX/FAST
FIX/FAST Revised version
1. Adjust the definition and description of the d1
Version
1.0
Date
2012/3/14
1.1
2012/09/06
1.2
2012/11/01
1.3
2013/01/08
1.4
2013/04/15
1.5
2014/03/10
1.6
2014/6/17
1.7
2014/07/18
2.0
2015/3/19
2.1
2015/06/01
format of the "Trading Currency Code" field.
10
2.
Review Appendix 4 "Rules for Assignment of
Ticker Symbols", to remove "Foreign Stocks".
3.
Update Appendix 6 "Index Code Table" and
"Appendix 8 "Newly Compiled Taiwan Index
2
Code Table", to add "TWSE Electronics Daily
Return Leveraged 2X Index" and "TWSE
Electronics Daily Return Inverse -1X Index".
4.
Add Appendix 9 "Trading Currency Code Table"
5.
Revise f1 format, add definition and description
of Entire Market Halt.
1.
Review X1/X2 format, add the disclosure for the
price and volume of transactions before opening
and just before closing in preliminary
calculation, and the price and volume in five
ticks for buying and selling.
11
2.
Update Appendix 6 "Index Code Table",
2.2
2015/06/29
2.3
2015/10/19
2.4
2015/12/28
2.5
2016/01/28
Appendix 7 "Return Index Code Table" and
Appendix 8 "Newly Complied Taiwan Index
Table" to add " TWSE Corporate Governance
100 Index ", and remove " Taiwan RAFI® CO101
Index ".
1. Update Appendix 8 “Newly Compiled Taiwan
Index Code Table”, add “TAIEX Total Daily
Return Leveraged 2X Index” and “TAIEX Total
Daily Return Inversed -1X Index”.
2. Review d1 format, add fields such as eligible for
12
day-trading flag (可現股當沖註記), exempt short
selling flag (豁免平盤下融券賣出註記), exempt
securities lending flag (豁免平盤下借券賣出註
記), matching time, price upper limit, price lower
limit and expiration date.
3. Adjust X1/X2 format, add disclosure open and close
flag.
Update Appendix 6 “Index Code Table”,
Appendix 7 “Return Index Code Table” and
13
Appendix 8 “Newly Compiled Taiwan Index
Code Table” and add “TWSE TAIEX Small-Cap 300
Sub-Index”.
14
Update Appendix 8 “Newly Compiled Taiwan
3
Index Code Table” and add "Finance Leveraged
2X Index " and “Finance Inverse-1X Index.”
Coordinating with the securities abbreviation
15
bytes expansion program, update the Field
2.6
2016/06/27
2.7
2016/7/11
2.8
2016/8/1
2.9
2016/12/16
Description of the "Full Name of Call (Put)
Warrant at the TWSE (d2)"
Due to adding a new Index of
16
“TIP TAIEX+
Dividend Appreciation 150 Index”, appendix 6, 7,
and 8 will be updated accordingly.
Due to adding a new Index of
17
“TIP TAIEX+
Dividend Appreciation 100 Index”, appendix 6, 7,
and 8 will be updated accordingly.
Due to adding 6 new Indices of “TIP TAIEX+
Blue Chip 30 Index”,
Elite 30 Index”,
18
” TIP TAIEX+ Industry
” TIP TAIEX+ IT Elite 30
Index”,
” TIP TAIEX+ Low Volatility Select 30
Index”,
” TIP TAIEX+ Low Beta 100 Index”,
and ” TIP TAIEX+ Blue Chip 30 Index Daily
Return Inverse -1X Index”,
appendix 6, 7, and 8
of TWSE-Compiled Index Table will be updated
accordingly. (Implemented in January 2017)
4
Table of Content
ONE.
Introduction ............................................................................................................. 7
1.
FIX Transmission Protocol Standard ...................................................................... 7
2.
FAST Transmission Protocol Standard ................................................................... 8
3.
FIX/FAST Market Information Transmission System Connection Operating Handbook
8
TWO. Basic Architecture ................................................................................................... 8
1.
Connection Network Architecture .......................................................................... 8
2.System Architecture ....................................................................................................... 9
THREE.
Information transmission Protocol ................................................................ 10
1.
Network Transmission Protocol ........................................................................... 10
2.
Socket Communication Processing Layer (Socket Level Message, SLM) .......... 10
3.
Data Protocol of data format and body - FIX (Financial Information eXchange) 13
FOUR. Real-Time DAP-RT Information Transmission Service ........................................ 15
FIVE.
DAP-RB Market Information Resend Service .................................................... 16
1.
Logon Operation Processes .................................................................................. 16
2. Search Resend Operation Process ............................................................................... 18
3.
Logout Operation Process .................................................................................... 19
4.
Heartbeat Message Transmission Process ............................................................ 20
SIX.
Description of Message Format and Template ...................................................... 22
1
Standard Header and Trailer ................................................................................. 22
2. Management Message................................................................................................. 25
(1)
Logon Message
(2)
Session Reject Message
(3)
Heartbeat Message
(4)
Logout Message
(5)
Resend Request Message
(6)
Resend Completed Message
(7)
Resend Reject Message
(8)
Password Change Message
(9)
Password Change Reply Message
3.
Application Message: ........................................................................................... 37
(1)
Basic Information of Securities at the TWSE (d1)
(2)
Full Name of Call (Put) Warrant at the TWSE (d2)
5
(3)
Status of Securities at the TWSE (f1)
(4)
Real-time Market Information of Common Stocks at the TWSE (X1/X2)
(5)
Information on Completed Fixed Price Securities Trade at the TWSE (X3)
(6) Real-time Market Information on Odd Lot Stock Trade at the TWSE (X4)
(7) Securities Trade Statistics at the TWSE at the Close of Market (WS1/WS2)
(8) Trade Statistics of Individual Common Stocks at the TWSE (WT1)
(9) Statistics of Fixed Price/after Close of the Market Trade at the TWSE (WT2/WT3/WT4)
(10) Statistics of General Taiwan Index Trade at the TWSE (WI1/WI2/WI3)
(11) Statistics of General Consignment Trade at the TWSE (WO1)
(12) Statistics of Fixed-Price Consignment Trade at the TWSE (WO2)
(13) TWSE Announcements (B1/B2/B3)
SEVEN Appendixes ............................................................................................................ 84
1.
Supplementary Descriptions and Examples of Display........................................ 84
2.
Alternative Site Backup Plan ................................................................................ 88
3.
Industry Category Code Table .............................................................................. 89
4.
Rules for Assignment of the Ticker Symbols ....................................................... 90
5.
Securities Category Code Table............................................................................ 94
6.
Index Code Table .................................................................................................. 95
7.
Return Index Code Table ...................................................................................... 99
8.
Newly Compiled Taiwan Index Code Table………………………………100
9.
Trading Currency Code Table ............................................................................ 100
10.
TWSE FIX/FAST Message Transmission Table ............................................... 102
6
ONE. Introduction
In light of the worldwide development of security trade programs and the trend of using
high-speed quotes for online ordering, the Taiwan Stock Exchange Corporation (hereinafter referred
to as “TWSE”) seeks to install the “FIX/FAST Market Information Transmission System” applicable
to the transmission of real-time securities market information and related statistics to upgrade the
efficiency and quality of data transmission. Application message format and template adopt the FIX
transmission protocol message format and the binary compression technology of FAST (FIX
Adapted for STreaming) message-oriented data flow, with code compilation of high compression
ratio and processing efficiency characteristics. This is expected to link the global securities trade
market with the FIX/FAST transmission protocol standard.
This Connection Operating Handbook is prepared with reference to the FIX 4.4 (or updated
version) standard and the FAST 1.1 subject to revision and announcement by the TWSE where
necessary.
Reference Links:
1.
FIX Transmission Protocol Standard
http://www.fixprotocol.org/specifications/
The FIX Protocol Standard Version 4.4
The FIX Protocol Standard Version 5.0 Service Pack 2
User can register at the website and download the complete document files of FIX
specification in various versions.
http://www.fixprotocol.org/FIXimate3.0/?language=en&version=FIX.4.4
http://fixwiki.fixprotocol.org/fixwiki/FIXwiki
http://btobits.com/fixopaedia/index.html
7
2.
FAST Transmission Protocol Standard
http://www.fixprotocol.org/fastspec
FAST Specification Version 1.1
Referenced sample program codes for compression and decompression:
Java :
http://www.openfast.org/
C++ :
http://www.quickfast.org/
Information Source: http://en.wikipedia.org/wiki/FAST_protocol
3.
FIX/FAST Market Information Transmission System Connection Operating Handbook
Users may download the FIX/FAST Information Transmission System Connection Operating
Handbook from the official website of TWSE at http://www.twse.com.tw.
Please visit the home page of the website, and click to select “Products and Services”
“Service for Securities Dealers” “Computer Department/Operation Department”
TWO. Basic Architecture
1.
Connection Network Architecture
TWSE TCP/IP securities trade information network architecture uses the private line
implemented with NGSDH as its backbone from Chung Hwa Telecom. The connections
between the User end (Securities dealers/Information service suppliers) and the TWSE are
setup with point-to-point static IP address, featuring high efficiency and security. Physical
lines applied by the information user end are using TCP/IP Transmission Protocol.
Users may make inquiry for the TWSE TCP/IP securities trade informaiton network,
FIX/FAST information lines application, change procedure and application form at the
official website of the TWSE. Please visit the official website at http://www.twse.com.tw and
enter the home page, then click to select “Products and Services” “Service for securities
dealers” “Computer Department/Operation Department” to inquire the related documents
and description.
8
2.System Architecture
MDS Information
MDS
Processing
Program
資訊處理程式
DAP-RT
DAP-RT
DAP-RB
DAP-RB
Multicast
Multicast
TCP
TCP
資訊用戶端
Information User End
(1).
MDS (Market Data Server, hereinafter referred to as "MDS"):
This TWSE end server is responsible for compressing market information into FAST
data stream, and transmitting to each DAP-RT and DAP-RB.
(2).
DAP-RT (Data Access Point Real-Time, hereinafter referred as "DAP")
The TWSE end server is responsible for receiving compressed FAST market data
from the MDS end, using Multicast transmission protocol, and transmitting to each
information user end in real-time.
9
(3).
DAP-RB (Data Access Point Re-Build, hereinafter referred as "DAR"):
The TWSE end server is responsible for receiving and storing MDS end compressed
FAST market information, and transmitting non-real-time FAST market information
with TCP connection upon resend demand initiated by the information user.
THREE. Information transmission Protocol
1.
Network Transmission Protocol
Transmission protocol of the “FIX/FAST Information Transmission System" is mainly
divided into Real-time and Resend transmissions. Real-time market data transmission uses
Multicast mode in order to transmit application message promptly and in real-time. Resend
information searched by the user end uses TCP/IP connection transmission in order to
maintain data integrity.
2.
Socket Communication Processing Layer (Socket Level Message, SLM)
The Socket Communication Processing Layer falls between AP and communication
network, and is responsible for adding the Header, Trailer delimiters and Preamble Message
to the FAST data for conversion to Socket Communication Processing Layer Message.
Socket Layer on the receiving end must remove the Header, Trailer delimiters of SLM and
decompress the FAST data back to FIX message format in accordance with the content of
Preamble Message.
10
SLM is shown as the following table:
Delimiter
Message Length
Preamble
Message
delimiter
2 bytes
2 bytes
6 bytes
n bytes
2 bytes
0xFEFE
Length of
(Preamble +
message)
Sequene # +
Control flag +
Template ID
Management Message:
represented in FIX format.
Application Message:
represented in FAST format.
0xEFEF
(1).
Head delimiter
Start delimiter, with length of 2 bytes, with hex decimal value of 0xFEFE.
(2).
Message Length
Length of message, including 6 bytes of Preamble Message and variable length of
FIX or FAST Message.
(3).
Preamble
Preamble Message, with length of 6 bytes, can be divided into three fields.
(4).
Sequence number:
Application message sequence number, 4 bytes in length, indicates the sequence
number of the application message, in order to ensure the continuity of the
application message. Receiving end can use this sequence number field to determine
whether if there are skipped numbers during the receiving process.
(5).
Control flag
Control flag of application message, with length of 1 byte, using 8 bits to represent
each different function as described in the following:
1.
Backup center flag:
Backup center flag is marked with bit 7, if it is 1, then it represents that the message
is from the TWSE primary center, if it is 0, then it is from backup center.
11
2.
Last message flag:
Last message flag is marked with bit 6, if it is 1, then it represents that the protocol
message has transmitted the last message.
3.
Reset:
Reset flag is marked with bit 5, if it is 1, reprents the receiving end must follow the
FAST Specification to execute reset action prior to decode the FAST message, then
proceed with decoding action, if it is 0, then it is not required to execute a reset.
4.
Other:
bit 4 to bit 0 are reserved flags, all 0s in transmission.
Functions are represented as following:
7(MSB)
6
5
4
3
2
1
0(LSB)
BackUp
EOD
Reset
NULL
NULL
NULL
NULL
NULL
Reserved
Reserved
Reserved
Reserved
Reserved
Backup center
flag
Last
message
Reset
flag
(6).
flag
Template ID
Application message template number, with length of 1 byte, indicates the
template number of the application message, information user can use this number
to correspond the FAST application message format. If the number is 255 (Hex
0xff), it represents the FIX management message format.
(7).
message
message, with variable length, is in FAST application message format or FIX
management message format.
12
(8).
Tail delimiter
Tail delimiter, with length of 2 bytes, has a hex decimal value of 0xEFEF.
3.
Data Protocol of data format and body - FIX (Financial Information eXchange)
FIX Data format in this specification is not fixed in length, all data is formatted and
transmitted following the specification; to enable both transmission and receiving ends can
decipher the format accurately.
(1).
Fixed Data Field
FIX data format includes a Standard Header, Body and Standard Trailer. Each data
is formed by a series of <tag>=<value>, separated by SOH. First three fields in
front of Header and Trailer tag of the FIX Data Format are fixed fields, with
position of other fields may not be fixed, as illustrated in the following table.
Data
Field Code
Field Name
Data Type
Data Type
(Tag no.)
Standard Header
8
BeginString
9
BodyLength
35
MsgType
String
Y
String
Y
String
Y
Sequence of the other fields of the Header may not be fixed.
Body
Sequence of the fields entered in accordance with actual situation
may not be fixed.
Standard Trailer
(2).
10
CheckSum
String
Y
Delimiter: (ASCII “SOH”, Hex 0x01)
All fields in the standard FIX data are separated by delimiters. Use ASCII "SOH"
(Hex value is 0x01, represents <SOH> in this specification) as delimiter, all data
starts with “8=FIX.4.4<SOH>”, ended with “10=n<SOH>”.
This specification uses FAST data streaming compression technology. When FAST
data is compiled, FIX Tag and ASCII "SOH" delimiter will not be transmitted. If
13
the receiving end needs to decode back to FIX format, it is necessary to add FIX
Tag and ASCII "SOH" delimiter on its own.
Sample format is as following:
8=FIX.4.4<SOH>9=89<SOH>35=A<SOH>34=1<SOH>49=MDSC<SOH>56=XT
AI<SOH>52=20140627101341150<SOH>98=0<SOH>108=10<SOH>95=5<SOH
>553=BRK01<SOH>554=123456<SOH>10=101
(3).
Data Sequence Numbers
FIX Header data sequence numbers in the specification use continuous increment
number starts from 1, to be used in continuous checking during data transmission.
Please refer to "Data format and Template Description" chapters for detail
specifications.
(4).
Field Priority
Each FIX data includes necessary, unnecessary, and conditional fields (necessity is
determined by the existence and value of the other fields).
(5).
User Defined Fields
TWSE uses the FIX4.4 defined fields as the standard. If the FIX4.4 defined fields
cannot satisfy the business requirement of the system, TWSE shall define User
Defined Fields in reference to the FIX 5.0 (or updated version). All other data fields
shall be defined with Tag greater than 10000.
14
FOUR.
Real-Time DAP-RT Information Transmission Service
FIX/FAST real-time market information transmission service provides three transmission
channels to transmit stocks, warrants and other (application messages of instruments other
than stocks and warrants) market information.
The real-time market information transmission service uses non-connection-oriented
Multicast protocol, one-way information transmission from the TWSE end to the client. Since
there may be data loss and non-sequential transmission conditions taking place during
transmission with the Multicast protocol, each transmission channel will transmit identical
market information through dual Multicast groups. Information user end shall decide receiving
information through one or two Multicast groups based on their own requirements.
Stocks Real-Time
Information
股票即時資訊
Warrants Real-Time
Information
Other Real-Time
Information
權證即時資訊
其它即時資訊
Dual
multicast IP
Dual
multicast IP
Dual
multicast IP
資訊用戶
Information User End
In case no information is transmitted within a time interval (10 seconds), the TWSE will
send a Heartbeat message as a reference message for the information user end to evaluate the
market information network transmission condition. If the User end does not receive any
message during the HeartBtInt + reasonable transmission time (20% HeartBtInt) means the
market information transmission network may have abnormal connection conditions, but
does not mean the TWSE end market information system failure. It will depend on the
network condition during that time or the user end receiving capability.
15
User end
資訊用戶端
TWSE end
證交所端
(1) The TWSE End will send a Heartbeat message in case no information is
(一)證交所端在心跳訊息間隔時間(10秒)內沒有傳
transmitted within the Heartbeat Message Interval Time (10 seconds).
送任何資料的時候,會主動傳送一筆心跳訊息。
(2) If the user end does not receive any message during the Heartbeat Message
(二)若資訊用戶端在心跳訊息間隔時間內都沒有收
Interval Time means the market information transmission network may have
到任何訊息時,表示
abnormal connection.
行情傳輸網路可能發生連線異常。
FIVE.
DAP-RB Market Information Resend Service
FIX/FAST information resend service is to process the search resend request from the
user end, to provide the user end's designated market information format and defined scope of
search, and to perform resend operation of all market information of stocks, warrants and other
instruments (other application messages of instruments other than stocks and warrants).
Search resend uses TCP connection to transmit non-real-time market information. There
are a total of three sessions for the connection, and each uses network communication port
18001, 18002 and 18003 to transmit all market information of stocks, warrants and other
instruments. When the information end-user is making connection, it is necessary to use
network communication port 18001, 18002 and 18003 to receive all market information of
stocks, warrants and other instruments. Market information resend operations include: Logon,
Information Resend, Logout operations, and Heartbeat message transmission.
1.
Logon Operation Processes
Establish FIX/FAST connection including establishing communication layer connection
and logon verification.
(1)
Establish communication layer connection between the user end and the TWSE
end.
(2)
After the line is connected, the user end enters logon message to the TWSE end
for verification.
(3)
1.
Logon Verification:
Verification Passed: verified both the user end account and the password are
16
correct, and the TWSE end replies the logon message to the user end. After
receiving the successfully logon message from the TWSE end, the user end may
start search resend service.
2.
Verification Failed: TWSE replies the logon with Reject-Session Level message
to the user end and disconnects the connection. The number of logon error will be
accumulated after each logon failure and connection will be disconnected.
(4)
If no logon message is entered within 60 seconds after the connection, the TWSE
end will automatically disconnect the connection, and then the user end needs to
re-establish the connection.
(5)
After accumulated logon error reached 10 times on the day, the TWSE end will
stop processing logon operations, the user end shall contact the TWSE end to
understand the abnormal connection condition, and request a system reset.
User end
TWSE end
證交所端
資訊用戶端
(1) Establish communication layer connection between the user end and the
TWSE end.
(一)資訊用戶端與證交所端建立通訊層連線
(二)連線後資訊用戶端傳送登入訊息
給證交所端進行驗證。
(2) After the line is connected, the information uUser end enters logon
message into the TWSE end for verification.
(3) 1. Verification Passed: Replies the logon message.
(三) 1.驗證成功:回覆登入訊息
(3) 2. Verification Failed: Replies Reject-Session Level message and
(三) 2.驗證失敗:回覆
登入拒絕訊息並中斷連線。
disconnects the connection
(4) If no logon message is entered within 60 seconds after the connection, the
(四)資訊用戶端若連線後超過60秒未傳送登入訊
TWSE end will automatically disconnect the connection.
息,證交所端主動中斷連線
(5) After accumulated logon error reached 10 times on the day, the TWSE end
(五)當日累計錯誤次數到達10次後,證交所端將不
will stop processing logon operation.
再受理登入作業
17
2. Search Resend Operation Process
(1)
After completion of logon, end-user initiates transmission of Search Resend
Request Message.
(2)
1.
Resend Request Inspection
After the TWSE completed Resend Request Inspection, it starts transmitting
resend market information.
2.
In case the user end transmitted non-specification defined Search Resend
Message, the TWSE will reply with Search Resend Rejection message, the
number of logon error will be accumulated and the connection will be
disconnected.
(3)
After accumulated logon error count reached 10 for the day, the TWSE end will
stop processing logon operation, the user end shall contact the TWSE end to
understand the abnormal connection condition, and request a system reset.
TWSE
end
證交所端
User end
資訊用戶端
(1) The user end transmits Search Resend Request Message
(一)資訊用戶端傳送查詢回補需求訊息
(二) 1.證交所端
完成回補需求檢核後,開始傳送回補行情資訊。
(2) 1.
After the TWSE completed Resend Request Inspection, starts transmitting resend
market information.
(2) 2. In case the user end transmitted non-specification defined Management
(二)
2.若資訊用戶端若傳送非規範定義之管理
Message, the TWSE will reply with Search Resend Rejection message, accumulates
訊息,證交所端會回覆查詢回補拒絕訊息,累計
the number of errors and disconnects the connection
錯誤次數並中斷連線。
(3)
After the accumulated logon error count reached 10 times for the day, the
(三)當日累計錯誤次數到達10次後,證交所端將不
TWSE end will stop processing logon operation.
再受理登入作業
18
3.
Logout Operation Process
The TWSE will process logout operation at the information service closing time or upon
the user end's initiation of logout message.
(1)
At the information service closing time, the TWSE will transmit logout message
to the user end.
1.
User end replies with logout message to complete logout process.
2.
In case the user end failed to reply with logout message for more than 60 seconds,
the TWSE will disconnect connection.
(2)
1.
User end's initiation of logout message to the TWSE end.
TWSE end will reply with logout message to the user end, and then disconnect
connection.
User end
資訊用戶端
TWSE end
證交所端
(1) At the information service closing time, the TWSE will transmit logout message to the user
(一)資訊服務時間截止時,證交所端會傳送登出訊
end.
息給資訊用戶端。
(1) 1.
User
end replies with logout message to complete logout process.
(一)
1.資訊用戶端回覆登出訊息,
完成登出作業。
(1) 2. In case the user end failed to reply with logout message more than 60 seconds, the
TWSE will disconnect connection.
(一) 2.若資訊用戶端超過60秒未回覆登出訊息
,證交所端主動中斷連線。
(2)
User end's initiation of logout message to the TWSE end.
(二)資訊用戶主動傳送登出訊息給證交所端
1. TWSE end will reply with logout message to the user end, then disconnect.
(二) (2)
1.證交所端會回覆登出訊息給資訊用戶端後
,中斷連線。
19
4.
Heartbeat Message Transmission Process
Heartbeat Messages are transmitted bi-directionally between the TWSE end and the user
end to confirm the connections on both sides. If both of the TWSE end and the user end did
not receive any message during the HeartBtInt + reasonable transmission time (20%
HeartBtInt), the connection can be considered failed, and the connection can be disconnected
and reconnected again.
(1)
If the TWSE end does not transmit any messages after the HeartBtInt (10
seconds), a Heartbeat message will be initiated.
(2)
If the user end does not receive any message during the Heartbeat Message
Interval Time, which means the connection may be failed and the connection can
be disconnected and reconnected again.
(3)
Whether it is during the data transmission period, the user end is required to
transmit a Heartbeat message during the Heartbeat Message Interval Time (10
seconds).
(4)
If the TWSE end does not receive any message during the Heartbeat Message
Interval Time, it is determined that the information company has disconnected
connection or offline. The TWSE will stop transmitting information and
disconnect the connection.
20
TWSE
end
證交所端
User end
資訊用戶端
(1) If the TWSE end does not transmit any message after the HeartBtInt (10 seconds), a Heartbeat
(一)證交所端在心跳訊息間隔時間(10秒)內沒有傳
message will be initiated.
送任何資料的時候,會主動傳送一筆心跳訊息。
(2) If the user end does not receive any messages during the Heartbeat Message Interval Time, which that
(二)若資訊用戶端在心跳訊息間隔時間內都沒有收
means the connection may be have failed and the connection can be disconnected and reconnected again.
到任何訊息時,即表示此次連線可能中斷。
(3) The user end is required to transmit a Heartbeat message during the Heartbeat Message
(三)資訊用戶端需在心跳訊息間隔時間(10秒)內主
Interval Time (10 seconds).
動傳送一筆心跳訊息。
(4) If the TWSE end does not receive any message during the Heartbeat Message Interval Time, it
(四)若證交所端在心跳訊息間隔時間內都沒有收到
is determined that the information company has disconnected connection or offline. The TWSE will
任何訊息時,即判定資訊公司已斷線或離線,證交
stop transmitting information and disconnect the connection.
所端將停止傳送資料並中斷連線。
21
SIX. Description of Message Format and Template
1
Standard Header and Trailer
Each message shall contain the standard format of a header and trailer. If the message
format transmitted by the end-user is not supported by the definition in this handbook, the
TWSE end will reply with the reject session (Reject-Session Level).
(1)
Standard Header
FIX Message
Tag
Field Name
Req
Description
8
BeginString
Y
Beginning String of the Message
9
BodyLength
Y
Length of the Message
35
MsgType
Y
Type of the Message
34
MsgSeqNum
Y
Sequence Number of the Message
49
SenderCompID
Y
Sender Code
52
SendingTime
Y
Transmission Time of the Message
56
TargetCompID
Y
Receiver Code
1.
BeginString: It must be the first field of the message, please always enter FIX.4.4
for the value.
2.
BodyLength: It must the second field of the message; the value is the total bit
length from the field of BodyLength to the field before CheckSum.
3.
MsgType: It must be the third field of the message for explaining the type of FIX
message.
4.
MsgSeqNum: Message sequence number of the application message, starts with
1.
5.
SenderCompID: Sender Code.
TWSE = XTAI; User end = MDSC
(In accordance with ISO 10383 Market Identifier Code standard)
22
6.
SendingTime: Transmission Time of the Message.
The format is standard UTC format.
Year/month/day-hour:minute:second:millisecond (YYYYMMDD-HH:MM:SS.sss).
Valid value YYYY=0000-9999,MM=01-12,DD=01-31,HH=00-59,SS=00-59,
sss=000-999.
7.
TargetCompID: Receiver Code.
TWSE = XTAI; User end = MDSC
(In accordance with ISO 10383 Market Identifier Code standard)
FAST Template
Tag
Field Name
Field Type
Field Encoding
8
BeginString
String
constant
9
BodyLength
uInt32
-
35
MsgType
String
constant
34
MsgSeqNum
uInt32
-
49
SenderCompID
String
default
52
SendingTime
uInt64
-
56
TargetCompID
String
default
23
Remarks
FIX.4.4
XTAI
MDSC
(2.)
Standard Trailer
FIX Message
Tag
Field Name
10
CheckSum
1.
Req Description
Y
Checking Code
Checksum Checking Function
The equation of this code is adding the binary value of each field starting from
the field of BeginString to the field before CheckSum. The sum total will be
divided by 256 and the remainder is entered in the field of CheckSum as the
value for confirmation. This value is converted to a 3-digit ASCII number for
visibility in transmission.
For example, when the checking mechanism of CheckSum gives the value of
274, it will be divided by 256. The remainder will be converted to a 3-digit
ASCII number, 018. This value will be entered in the field of CheckSum.
The Equation for the calculation of the confirmation code is shown below:
Char *GenerateCheckSum( char *buf, long bufLen )
{
static char tmpBuf[ 4 ];
long idx;
unsigned int cks;
for( idx=0L, cks=0; idx < bufLen; cks += (unsigned int)buf[ idx++ ] );
sprintf( tmpBuf, “%03d”, (unsigned int)( cks % 256 ) );
return( tmpBuf );
}
FAST Template
Tag
Field Name
10
CheckSum
Field Type
String
Field Encoding
-
24
Remarks
2. Management Message
The Management message is the message transmitted for the TWSE end and the user
end to perform Search Resend operation, including Messages of Logon, Heartbeat, Session
Rejection, Logout, Search Resend Request and Search Resend Rejection. Management
Message is transmitted by the TCP Connection, the TWSE end and the user end must
following the SLM and FIX format specification, and the SLM Template ID is fixed at 255.
Each Management Message FIX format is as following:
(1)
Logon Message
This message is initiated by the user end and replied by the TWSE end. When the
user end needs to establish connection, it must transmit the logon message to the TWSE
end. The TWSE end will use the message to verify the user name and password in order
to authenticate the ID of the user. Once verified, the TWSE end will reply Logon
message to the user end for confirmation, and starts the information Resend operation.
FIX Message (MsgType 35=A)
Tag
Field Name
Req Description
Standard Header
98
EncryptMethod
Y
Encryption Method Setup
108
HeartBtInt
Y
Heartbeat Message Interval Time (Unit: Second)
553
Username
N
User End Username
554
Password
N
User End Password
Standard Trailer
1.
MsgType: A=Logon.
2.
EncryptMethod: 0 = No Encryption currently.
3.
HeartBtIt: 10 = Heartbeat Interval Time default setup is 10 seconds.
During the period that no Application Message is transmitted, the TWSE will
transmit one-way HeartBeat Message with default value of every 10 seconds.
This value cannot be adjusted by the user end.
4.
Username: Verification Code.
This field is necessary when the message is sent from the user end. The password
25
shall be authenticated against the Username to ensure the line is used by the right
information user end.
This field will not be transmitted when the TWSE end replies the Logon
Message,.
5.
Password: Password to authenticate the Username
This field is necessary when the message is sent from the user end. The password
shall be authenticated against the Username to ensure the line is used by the right
information user end.
This field will not be transmitted when the TWSE end replies the Logon Message,
FIX Message Example
-
User end Logon Message
8=FIX.4.4 9=82 35=A 34=1 49=MDSC 56=XTAI 52=20150109140413860 98=0 108=10
553=T0001L0 554=123456 10=006
-
TWSE Reply Message
8=FIX.4.4 9=59 35=A 34=1 49=XTAI 56=MDSC 52=20150109140317336 98=0 108=10 10=142
26
(2)
Session Reject Message
When the TWSE end receives a message that the field is not verified or not defined
in the Specification, a Session Reject Message will be transmitted and the
connection will be disconnected.
FIX Message (MsgType 35=3)
Tag
Field Name
Req Description
Standard Header
45
RefSeqNum
Y
The Rejected Message Sequence Number
373
SessionRejectReason
N
Error Code
58
Text
N
Reasons of the Error
Standard Trailer
1.
MsgType: 3 = Session Rejected Message
2.
RefSeqNum: Rejected Message Sequence Number.
3.
RefMsgType: Rejected Message Type.
4.
SessionRejectReason: Error Code.
00 = S-001-UNAUTHORIZED CLIENT ACCESS
5.
Text: Description of the Reasons of the Error (no specific length).
FIX Message Example
-
Session Reject Message
8=FIX.4.4 9=96 35=3 34=1 49=XTAI 56=MDSC 52=20150109140957972 45=1 373=00
58=S-001-UNAUTHORIZED CLIENT ACCESS. 10=247
27
(3)
Heartbeat Message
Heartbeat Message is used to confirm whether the connection is normal between
the TWSE end and the user end.
During the period the Message Research Resend, if the TWSE end did not transmit
any data within the Heartbeat Message Interval (10 seconds), the TWSE end will
initiate a Heartbeat Message to the user end to ensure the connection is normal. If the
user end did not receive any data within the Heartbeat Message Interval, meaning the
connection may have failed, the user end can initiate the connection to be
disconnected and reconnected again.
Whether it is during the data transmission period, the user end is required to
transmit a Heartbeat message during the Heartbeat Message Interval Time (10
seconds), to assure the TWSE that the user end is still connected. If the TWSE end
does not receive any message during the Heartbeat Message Interval Time, it is
determined that the information company has disconnected connection or offline.
The TWSE will stop transmitting information and disconnect the connection
FIX Message (MsgType 35=0)
Tag
Field Name
Req Description
Standard Header
Standard Trailer
1.
MsgType:0 = Heartbeat
FIX Message Example
-
The TWSE end transmits Heartbeat Message
8=FIX.4.4 9=47 35=0 34=3 49=XTAI 56=MDSC 52=20150109140336342 10=99
-
The user end transmits Heartbeat Message
28
8=FIX.4.4 9=47 35=0 34=2 49=MDSC 56=XTAI 52=20150109140423392 10=100
29
(4)
Logout Message
The TWSE end will automatically transmit a Logout Message to the user end
when the transmission of market information ends. Upon receiving the Logout
Message, the user end shall reply to confirm the Logout Message so that the TWSE
can confirm the connection has ended normally.
If the TWSE does not receive the Logout Message from the user end after
Timeout period (default value at 60 seconds), it will automatically disconnect the
connection.
FIX Message (MsgType 35=5)
Tag
Field Name
Req Description
Standard Header
58
Text
Y
Description of Logout Message
Standard Trailer
1.
MsgType: 5 = Logout Message
2.
Text: Description of Logout Message (no specific length).
User end Logout = LOGOUT.
Resend Operation Ended = OUT OF SERVICE TIME.
Resend Operation Interrupted = FORCE TO LOGOUT.
FIX Message Example
-
The user end transmits Logout Message
8=FIX.4.4 9=58 35=5 34=3 49=MDSC 56=XTAI 52=20150109140500957 58=BYE-BYE
10=007
-
The TWSE replies to Logout Message
8=FIX.4.4 9=58 35=5 34=3 49=XTAI 56=MDSC 52=20150109140404425 58=LOGOUT. 10=27
30
(5)
Resend Request Message
After completion of Logon, the user end is required to initiate transmission of
Resend Request Message. The TWSE will transmit the Resend market information
in accordance with the Message content after verified the message without error.
Otherwise, the number of errors will be accumulated and the connection will be
disconnected.
FIX Message (MsgType 35=V)
Tag
Field Name
Req Description
Standard Header
262
MDReqID
Y
Resend Request Code
1180
AppID
Y
AP Transmission Code for Resend Request
1182
ApplBegSeqNum
Y
1183
ApplEndSeqNum
Y
AP Transmission Beginning Sequence Number for
Resend Request
AP Transmission Ending Sequence Number for
Resend Request
Standard Trailer
1.
MsgType:V = Market Data Request.
2.
MDReqID: Resend Request Code
Coding Rule: YYYYMMDD-HH:MM:SS.sss (The time point of transmitting the
request.)
3.
AppID: AP Transmission Code for Resend Request
4.
ApplBegSeqNum: AP Transmission Beginning Sequence Number for Resend
Request.
This Sequence Number must be greater than 0, smaller or equal to 99999999.
5.
ApplEndSeqNum: AP Transmission Ending Sequence Number for Resend
Request.
This Sequence Number must be greater than 0, smaller or equal to 99999999, and,
31
greater than or equal to ApplBegSeqNum, and congruent with the conditions of
App1EndSeqNum-App1BegSeqNum smaller than or equal to 5000.
FIX Message Example
-
The user end transmits Resend Request Message
8=FIX.4.4 9=99 35=V 34=2 49=MDSC 56=XTAI 52=20150109140625524
262=20150109-14:06:25.524 1180=X1 1182=1 1183=10000 10=096
(6)
Resend Completed Message
After completed the Resend operation, the TWSE will initiate the transmission of the
Resend Completed Message. The TWSE will transmit the Resend market
information in accordance with the Message content after verified the message
without error. Otherwise, the number of errors will accumulated and the connection
will be disconnected.
FIX Message(MsgType 35=8)
Tag
Field Name
Req Description
Standard Header
58
Text
Y
Resend Completed Message
262
MDReqID
Y
Resend Request Code
Standard Trailer
1.
MsgType:8 = Market Data Request.
2.
Text: Resend Completed Message (no specific length).
The transmitted Effective records replied by the TWSE to the user end. Message
is as following:
Effective records: (Effective records)
3.
MDRegID: Resend Request Code.
Coding Rule: YYYYMMDD-HH:MM:SS.sss (The time point of transmitting the
request.)
32
FIX Message Example
-
The TWSE transmits Resend Completed Message
8=FIX.4.4 9=100 35=8 34=2 49=XTAI 56=MDSC 52=20150109140530287 58=Effective
records:10000 262=20150109-14:06:25.524 10=19
(7)
Resend Rejected Message
In case the user end transmitted non-specification defined Search Resend
Message, the TWSE will reply with Resend Rejection Message, the number of errors
will be accumulated and the connection will be disconnected.
FIX Message (MsgType 35=Y)
Tag
Field Name
Req Description
Standard Header
262
MDReqID
Y
Resend Request Reject Code
281
MDReqRejReason
Y
Reason for Resend Request Reject
58
Text
Y
Description of the Error Message
Standard Trailer
1. MsgType: Y = Market Data Request Reject.
2. MDReqID: Resend Request Reject Code
Coding Rule: YYYYMMDD-HH:MM:SS.sss (The time point of transmitting the
request.)
3. MDReqRejReason: Reason for Resend Request Reject.
00: Invalid requested AppID.
01: Invalid requested App1BegSeqNum.
02: Invalid requested App1EndSeqNum.
03: Invalid requested sequence range.
4. Text: Description of the Error Message.
00: A-000-INVALID REQUESTED ApplID.
01: A-001-INVALID REQUESTED ApplBeginSeqNum.
02: A-002-INVALID REQUESTED ApplEndSeqNum.
33
03: A-003-INVALID REQUESTED SEQUENCE RANGE.
FIX Message Example
8=FIX.4.4
Invalid requested AppID
9=115
35=Y
34=2
49=XTAI
56=MDSC
52=20150109140428674
262=20150109-14:05:25.215 281=00 58=A-000-INVALID REQUESTED ApplID. 10=19
-
Invalid requested App1BegSeqNum
8=FIX.4.4 9=124 35=Y 34=2 49=XTAI 56=MDSC 52=20150109140439201
262=20150109-14:05:35.713 281=01 58=A-001-INVALID REQUESTED ApplBeginSeqNum.
10=190
-
Invalid requested App1EndSeqNum
8=FIX.4.4 9=122 35=Y 34=2 49=XTAI 56=MDSC 52=20150109140455715
262=20150109-14:05:52.249 281=02 58=A-002-INVALID REQUESTED ApplEndSeqNum.
10=251
-
Invalid requested sequence range
8=FIX.4.4 9=123 35=Y 34=2 49=XTAI 56=MDSC 52=20150109140524193
262=20150109-14:06:20.735 281=03 58=A-003-INVALID REQUESTED SEQUENCE RANGE.
10=224
(8)
Password Change Message
After completion of Logon operation, the user end can transmit Password
Change Message. TWSE will transmit Password Change Reply Message in
accordance with the Message content, after verification by the TWSE end without
error, to notify the user end whether the Password Change is successful or failed. If
the password change is successful, the new password will be effective on the next
trade day.
34
FIX Message (MsgType 35= BE)
Tag
Field Name
Req Description
Standard Header
923
UserRequestID
Y Change Request Code
553
Username
Y User End Username
554
Password
N User End Password before Change
925
New password
N User End Password after Change
Standard Trailer
1.
MsgType: BE = User Request.
2.
UserRequestID: Change Request Code.
Coding Rule: YYYYMMDD-HH:MM:SS.sss (The time point of transmitting the
request.)
3.
Username: User End Username.
4.
Password: User End Password before Change.
5.
New password: User End Password after Change.
The length of the new password must between 8 and 16 characters, the password
cannot have the symbol '=' and SOH.
FIX Message Example
8=FIX.4.4
Change Password Message
9=108
35=BE
34=2
49=MDSC
56=XTAI
52=20150109140715788
923=20150109-14:07:15.788 553=T0001L0 554=123456 925=654321 10=156
35
(9)
Change Password Reply Message
The TWSE will reply Change Password Reply Message after the user end
Change Password Request is verified by the TWSE without error, and will notify the
user end whether the Password Change is successful or failed. If the password
change is successful, the new password will be effective on the next trade day.
FIX Message (MsgType 35= BF)
Tag
Field Name
Req Description
Standard Header
923
UserRequestID
Y Change Request Code
553
Username
Y User End Username
927
UserStatusText
N Description of Change Results
Standard Trailer
1.
MsgType: BF = User Response.
2.
UserRequestID: Change Request Code
Coding Rule: YYYYMMDD-HH:MM:SS.sss (The time point of transmitting the
request.)
3.
Username: User End Username.
4.
UserStatusText: Description of Change Result
Password Change Successful, New Password will be effective on next trade day
= New password valid from next trade day.
Password Change Failed = CLIENT ACCESS DENIED.
FIX Message Example
-
Change Password Successful Message
8=FIX.4.4 9=130 35=BF 34=2 49=XTAI 56=MDSC 52=20150109140619240 553=T0001L0
923=20150109-14:07:15.788 927=New password valid from next trade day. 10=162
-
Change Password Failed Message
8=FIX.4.4 9=112 35=BF 34=2 49=XTAI 56=MDSC 52=20150109140735338 553=T0001L0
923=20150109-14:08:31.885 927=CLIENT ACCESS DENIED. 10=210
36
3.
Application Message:
Application Message is the FAST market information format message transmitted
on-way from the TWSE end by the methods of UDP and TCP. Message body include SLM
(Socket Communication Layer Message, please refer to the description in Chapter 3 Section 2)
and FAST Message. The FIX format of each Application Message is following:
(1)
Basic Data of Individual Common Stocks at the TWSE (d1)
FIX Message
Tag
Field Name
Req Description
Standard Header
1180
ApplID
Y Types of Application Message
1350
ApplLastSeqNum
N Total Securities Transmission Record
48
SecurityID
N Securities Code
22
SecurityIDSource
N Codification of Securities
292
CorporateAction
N New Listing Note
1227
ProductComplex
N Industry Category
1151
SecurityGroup
N Security Category
55
Symbol
N Securities Abbreviation in Chinese
1148
LowLimitPrice
N Down Stop Price
1149
HighLimitPrice
N Up Stop Price
1150
TradingReferencePrice
N Today's Trading Reference Price
870
NoInstrAttrib
N Securities Data Nested Loop Number
→
871
InstrAttribType
N Securities Data Category
→
872
InstrAttribValue
N Securities Data Body
561
RoundLot
N Trading Lots
15
Currency
N Trading Currency Code
107
SecurityDesc
N Face Value not $10 Note
Standard Trailer
Y
37
38
1.
MsgType: Message Category
d=Security Definition.
2.
ApplID: Application Message Category.
d1= Basic Data of Individual Common Stocks at TWSE
3.
ApplLastSeqNum: Total Securities Transmission Record.
At the end of the Application Message transmission, the total Transmission record
will be transmitted to the user end for checking if the information was completely
received. This field is sent only at the end of the message.
4.
SecurityID: Securities Code.
The Securities Code assigned by the TWSE.
5.
SecurityIDSource: Codification of Securities.
8 = Assigned by the TWSE under the principle of Securities coding of TWSE,
Republic of China, and are uniformly assigned by the TWSE.
6.
CorporateAction: New Listing Flag.
D=New Listing.
7.
ProductComples: Industry Category.
Please refer to Industry Code Table in the Appendix.
8.
Securities Category.
Refer to Securities Category Code in the Appendix.
9.
Symbol: Securities Abbreviation in Chinese.
10. LowLimitPrice: Down Stop Price
Special definition: treasury bonds = last trading price
The TWSE transmits the integer value; the receiving end shall restore back to
floating point value of 2 digits after decimal point.
11. HighLimitPrice: Up Stop Price
39
Special definition: treasury bonds = last trading price
The TWSE transmits the integer value; the receiving end shall restore back to
floating point value of 2 digits after decimal point.
12. TradingReferencePrice: Today's Trading Reference Price.
Special definition: treasury bonds = 0 (No limit up/down price)
The TWSE transmits the integer value; the receiving end shall restore back to
floating point value of 2 digits after decimal point.
13. NoInstruAttrib: Securities Data Nested Loop Number
(1)
InstrAttribType: Securities Data Category
101=exercise volume of warrants on the last business day
102=cancellation volume of warrants on the last business day.
103=balance of warrant issuance volume
104=warrant exercise ratio
105=warrant exercise price
106=warrant price upper limit
107=warrant price lower limit
108=warrant expiration date
201=eligible for day-trading flag (可現股當沖註記)
202=exempt short selling flag (豁免平盤下融券賣出註記)
203=exempt securities lending flag (豁免平盤下借券賣出註記)
204=matching time
(2)
InstrAttribValue: Securities Data Body.
Body of data corresponded to the securities data categories.
A. InstrAttribType =101/102/103:
The unit of this field is in 1000 warrant units.
B.
InstrAttribType =104
The record of the quantity of shares can be converted per 1000 warrant
units. For index warrant, this is the record of the latest information on
the quantity of shares can be converted per 1000 warrant units.
The TWSE transmits the integer value; the receiving end shall restore
40
back to floating point value of 2 digits after decimal point.
For example, if the underlying asset of a warrant is common stocks,
and if the value of this field is 1000.00, it means the exercise ratio of
1000 warrant units is 1. If the value of this field is 300.00, it means the
exercise ratio of each warrant units is 0.3. If the underlying asset of the
warrant is index and if the value of this field is 1000.00, it means the
exercise ratio of each warrant unit is 1. If the value of this field is
500.00, it means the exercise ratio of each warrant unit is 0.5.
41
C.
InstrAttribType=105:
This shows the latest exercise price of the warrant. For index warrant,
this shows the information on the latest exercise index of warrant.
The TWSE transmits the integer value; the receiving end shall restore
back to floating point value of 2 digits after decimal point.
D.
InstrAttribType=106:
Display the price upper limit of the warrant.
The TWSE transmits the integer value; the receiving end shall restore
back to floating point value of 2 digits after decimal point.
E.
InstrAttribType=107:
Display the price lower limit of the warrant.
The TWSE transmits the integer value; the receiving end shall restore
back to floating point value of 2 digits after decimal point.
F.
InstrAttribType=108:
Display the expiration date of the warrant in AD calendar; the format
in this field is YYYYMMDD.
G.
InstrAttribType=201:
Eligible for day-trading flag (可現股當沖註記). The recorded value is
“A”, “B” or SPACE; the default value is SPACE.
A=securities eligible for buy-first, sell-later or sell-first, buy-later
day-trading (可先買後賣或先賣後買現股當沖證券)
B=securities eligible for buy-first, sell-later day-trading (可先買後賣
現股當沖證券)
SPACE=securities ineligible for day-trading (不可現股當沖證券)
H.
InstrAttribType=202:
Exempt short selling flag (豁免平盤下融券賣出註記). The recorded
value is “Y” or SPACE; the default value is SPACE.
Y=securities eligible for short selling (可平盤下融券賣出證券)
SPACE=securities ineligible for short selling (不可平盤下融券賣出證
券)
I.
InstrAttribType=203:
42
Exempt securities lending flag (豁免平盤下借券賣出註記). The
recorded value is “Y” or SPACE; the default value is SPACE.
Y=securities eligible for securities lending (可平盤下借券賣出證券)
SPACE=securities ineligible for securities lending (不可平盤下借券
賣出證券)
J.
InstrAttribType=204:
Matching time. Record the matching time of orders matched by call
auction. If the recorded value is 0, it means that the order is executed
through continuous trading.
14. RoundLot: Trading Lots.
The default value of Trading Lot is 1000, each unit for 1 share.
15. Currency: Trading Currency Code.
If the Trading Currency Code is left blank, it means the currency is NTD.
For the Trading Currency Code, please refer to Appendix 9 "Trading Currency Code
Table".
16. SecurityDesc: Face Value not $10 Note
If this field of Face Value not $10 Note is left blank, it means the face value is $10.
43
16. SecurityDesc:
Face Value not $10 Note
If this field of Face Value not $10 Note is left blank, it means the face value is $10.
FAST Template
Tag
Field Name
Field Type
Field Encoding
Remarks
Standard Header
1180
ApplID
String
Constant
1350
ApplLastSeqNum
uInt32
-
48
SecurityID
String
copy
22
SecurityIDSource
String
constant
292
CorporateAction
String
copy
1227
ProductComplex
String
copy
1151
SecurityGroup
String
copy
55
Symbol
String
copy
1148
LowLimitPrice
String
delta
1149
HighLimitPrice
String
delta
1150
TradingReferencePrice
String
delta
870
NoInstrAttrib
Length
default
871
InstrAttribType
uInt32
copy
872
InstrAttribValue
String
delta
561
RoundLot
uInt32
default
1000
15
Currency
String
default
NTD
107
SecurityDesc
String
-
Standard Trailer
44
d1
8
5
(二).
(2)
Full Name of Call (Put) Warrant at the TWSE (d2)
FIX Message
Tag
Field Name
Req Description
Standard Header
1180
ApplID
Y
Application Message Type
1350
ApplLastSeqNum
N
Total Warrant Transmission Records
48
SecurityID
N
Warrant Code
22
SecurityIDSource
N
Codification of Warrant Code
58
Text
N
Full Name of Call (Put) Warrant
Standard Trailer
1.
MsgType: Message Type
d=Security Definition
2.
ApplID: Application Message Type.
d2= Full Name of Call (Put) Warrant at the TWSE
3.
ApplLastSeqNum: Total Warrant Transmission Record.
At the end of the Application Message transmission, the total Transmission
record will be transmitted to the user end for checking if the information was
completely received. This field is sent only at the end of the message.
4.
SecurityID: Warrant Code.
The Warrant Code assigned by the TWSE.
5.
SecurityIDSource: Codification of Warrant Code.
8 = Assigned by the TWSE under the principle of Securities coding of TWSE,
Republic of China, and are uniformly assigned by the TWSE.
45
6.
Text:
Full Name of Call (Put) Warrant is composed by the following fields:
A.
Warrant
Abbreviation
TSMC Fubon
SOH
-
73 Put 01
B.
Underlying Asset Maturity
TSMC
-
TSMC
Fubon
C.
D.
Warrant
Form
E.
F.
G.
Warrant Warrant Reserve
Category Type
Field
20080320 European
Put
Down
Blank
20080520 American
Call
Up
Blank
20080820 European
Put
Blank
20080920 American
Call
Bull
Blank
20081120 European
Put
Bear
Blank
2
2
2
TSMC
75 Call
02
-
Taiwan
Index
Taiex index
Fubon
78 Put
03
-
TSMC
Fubon
TSMC
79 Bull
04
-
TSMC
Fubon
TSMC
7B
Bear 05
Length:16
2
16
8
2
Description of Fields (Total Length is 50 Bytes):
(1)
Warrant Abbreviation: 16 Bytes, contains the Warrant Target, Issuer,
Maturity Date, Warrant Type and S/N, the same as the Stock Name
currently displayed.
(2)
Underlying asset: 16 Bytes. 16 Bytes, if it is Domestic Target, then
represented by the Security Name (16 Bytes, the same way as the Stock
Name display at present) or the Index Name (10 Bytes), if it is Foreign
46
Underlying Asset, then display foreign underlying asset Type, including
"foreign securities," (including stock and depository receipts,” “overseas
indexes,” and “foreign ETF”. [ □= 2 Bytes blank].
(3)
Maturity Date: year, month and day (8 numbers) in AD calendar.
(4)
Warrant Form: European-Euro and American-Am (1 Chinese character).
(5)
Warrant Category: Call-Call; Put-Put (1 Chinese character)
(6)
Warrant Type: Currently issued warrant: General—; Up-and-Out Call
Warrant—Up, Down-and-Out Put Warrant—Down; Bull ("Down-and-Out
Warrant within the price")—Bull, Bear (Up-and-Out Warrant within the
price); Bear (1 Chinese character).
(7)
Reserved Field: For new warrant information in future.
FAST Template
Tag
Field Name
Field Type
Field Encoding
Remarks
Standard Header
1180
ApplID
String
Constant
1350
ApplLastSeqNum
uInt32
-
48
SecurityID
String
Copy
22
SecurityIDSource
String
Constant
58
Text
String
-
Standard Trailer
47
d2
8
(三).
(3)
Status of Securities at the TWSE (f1)
FIX Message
Tag
Field Name
Req Description
Standard Header
1180
ApplID
Y Application Message Type
1350
ApplLastSeqNum
N Total Transmission Record
48
SecurityID
N Securities Code
22
SecurityIDSource
N Codification of Securities Code
107
SecurityDesc
N Status of Underlying Securities
60
TransactTime
N Transaction Time
Standard Trailer
1.
MsgType: Message Type
f=Securities Status
2.
ApplID: Application Message Type.
f1=Status of Securities at the TWSE
3.
ApplLastSeqNum: Total Transmission Record.
At the end of the Application Message transmission, the total Transmission
record will be transmitted to the user end for checking if the information was
completely received. This field is sent only at the end of the message.
4.
SecurityID: Securities Code.
The Securities Code assigned by the TWSE.
When the Securities Code is "000000", indicates the Entire Market is in Halted
Stage.
5.
SecurityIDSource: Codification of Securities.
8 = Assigned by the TWSE under the principle of Securities coding of TWSE,
Republic of China, and are uniformly assigned by the TWSE.
48
6.
SecurityDesc: Status of Underlying Securities.
For Attention and Disposition measures, please refer to Article 4 and Article 6 of
“Main Points of Announcement or Notice of Transactions and Disposition” of the
TWSE.
01= Attention
02= Disposition
03= Attention and disposition
04= Disposition again
05= Attention and disposition again
06= Disposition with flexibility
07= Attention and disposition with flexibility
Stock suspended from trading of the day: not found in the basic data of individual
common stocks of the day at the TWSE.
T=Stocks terminated for trading of the day: delisting
S=Stocks suspended for trading of the day: halt in trading
H = Halt for trading of the day
R = Resume trading of the day
TR = Unusual TV promotion
U = Unusual situation
7.
TransactTime: Transaction Time.
Status of underlying securities =H or R, the format in this field is
YYYYMMDD-HH:MM:SS.
Tag107 = H, indicates the starting time of trading suspension of the specific
stock.
When the stock code is "000000", the recorded value of this field is the starting
time of the Trading Halted forof the Entire Market.
Tag107 = R, indicates the starting time of trading resumption of the specific
stock.
When the stock code is "000000", the recorded value of this field is the starting
time of Trading Resumed of the Entire Market.
49
FAST Template
Tag
Field Name
Field Type
Field Encoding
Remarks
Standard Header
1180
ApplID
String
constant
1350
ApplLastSeqNum
uInt32
-
48
SecurityID
String
copy
22
SecurityIDSource
String
constant
107
SecurityDesc
String
copy
60
TransactTime
String
tail
Standard Trailer
50
f1
8
(四).
(4)
Real-time Market Information of Common Stocks at the TWSE (X1/X2)
FIX Message
Tag
Field Name
Req Description
Standard Header
1180
ApplID
Y Application Message Type
1350
ApplLastSeqNum
N Total Transmission Record
48
SecurityID
N Securities Code
22
SecurityIDSource
N Codification of Securities Code
273
MDEntrytime
N Matching Time
574
MatchType
N Matching Type
339
TradSesMode
N Trading Session Mode
340
TradSesStatus
N Trading Session Status
31
LastPx
N The Last Trading Price
1020
TradeVolume
N Current Trading Volume
14
CumQty
N Cumulative Trading Volume
326
SecurityTradingStatus
N Trading Status of the Underlying Securities
1022
MDFeedType
N Display Category
264
MarketDepth
N Order Book Display Depth
268
NoMDEntries
Y
→
269 MDEntryType
Y Type
→
279 MDUpdateAction
N Update Action
→
270 MDEntryPx
N Price
→
271 MDEntrySize
N Volume
870
NoInstrAttrib
N Limit Up/Down Display Nested Loop Number
→
871
InstrAttribType
N Target
→
872
InstrAttribValue
N Content
Change in Trading Price and Volume Nested Loop
Number
Standard Trailer
51
52
1.
MsgType: Message Type
X=Market Data Incremental Refresh
2.
ApplID:Application Message Type
X1 = Stock Market Information.
X2 = Warrant Market Information
3.
At the end of the Application Message transmission, the total Transmission
record will be transmitted to the user end for checking if the information was
completely received. This field is sent only at the end of the message.
4.
SecurityID: Securities Code.
The Securities Code assigned by the TWSE.
5.
SecurityIDSource: Codification of Securities.
8 = Assigned by the TWSE under the principle of Securities coding of TWSE,
Republic of China, and are uniformly assigned by the TWSE.
6.
MDEntrytime: Matching Time.
Format is hours, minutes, seconds, milliseconds (HHMMSSsssmmm).
Valid Values are: HH=00-23,MM=00-59,SS=00-59,sss=000-999,mmm=000-999.
Special time: the instantaneous price stabilizing measure in effect, matching halted
(Refer to Tag 326). The field of matching time records the starting time and ending
time of halt matching.
7.
MatchType:Match Type
4 = Individual Match
7 = Auction
8.
TradSesMode: Trading Session Mode.
2 = Simulated Stage
When trading session mode is in simulated stage, then this real-time market
information is Simulated Stage data.
53
3 = Normal Display
9.
TradSesStatus: Trading Session Status.
2=Display Information at the Opening
3=Display Information at the Closing
10. LastPx: Last Trading Price.
The TWSE transmits the integer value; the receiving end shall restore back to
floating point value of 3 digits after decimal point.
11. TradeVolume: Current Trade Volume. If there is no match for trade, the content
value is 0.
12. CumQty: Cumulative Trading Volume. If there is no match for trade, the content
value is the cumulative trading volume of the last transaction.
13. SecurityTradingStatus: Trading Status of Underlying Securities.
101= Delayed open after simulated
102= Delayed close after simulated
111= Instant price stability measurement (toward rising)
112 = Instant price stability measurement (toward falling)
14. MDFeedType: Display Category
101= Rebuild Order Book.
The user cleared up the order book of underlying securities and used the information
on the trading price and volume in the Tag 268 Loop to rebuild the information of
the price and trading volume of the securities.
102= Empty Order Book.
The user end empties the order book of the underlying securities.
103= Change Order Book.
54
The user end uses the information on the trading price and volume in the Tag 268
Loop and changes the original trading price and volume of the underlying securities
with Tag 279.
104= Keep Order Book.
The user end does not make any changes to the trading price and volume of the
underlying securities.
The display of Order Book is explained in the supplementary description and
example in the appendix of this handbook.
15. MarketDepth: Order Book Display Depth
5= Display the trading prices and volumes of 5 stocks
The TWSE displays 5 securities being matched but no trade, except:
(1)
Treasury bonds, only the trading price and volume of 1 issue is displayed.
(2)
Instantaneous price stabilizing measure (halt matching), only displays the
trading price and
cumulative volume of the previous transaction, but
not the trading price and volume.
(3)
Display of simulated match before closing, only displays the trading price
of the best match for transaction, but not the volume.
16. NoMDEntries: Change in trading price and volume nested loop number
When transmitting the Total Transmission Record, the value of this field = ‘0’.
When Tag 1022= ‘102’ (Empty Order Book), the value of this field = ‘0’.
(1)
MDEntryType: Type.
When Tag268 is not equal to ‘0’, this field is necessary.
(2)
MDUpdateAction: UpdateAction
0=New
1=Change
2=Deletion
(3)
MDEntryPx: Price.
The TWSE transmits the integer value; the receiving end shall restore
55
back to floating point value of 3 digits after the decimal point.
(4)
MDEntrySize: Volume.
The unit is the trading unit of the underlying securities.
17. NoInstrAttrib: Up/Down Limit Display Nested Loop Number
(1)
InstrAttribType: Target
101=Last Trading Price
102=Best Bid
103=Best Offer
(2)
InstrAttribValue: Content.
101=Up Stop Price
102=Down Stop Price
FAST Template
Tag
Field Name
Field Type
Field Encoding
Remarks
Standard Header
1180
ApplID
String
constant
1350
ApplLastSeqNum
uInt32
-
48
SecurityID
String
copy
22
SecurityIDSource
String
constant
273
MDEntryTime
uInt64
delta
574
MatchType
uInt32
copy
339
TradSesMode
uInt32
copy
340
TradSesStatus
uInt32
copy
31
LastPx
uInt32
delta
1020
TradeVolume
uInt32
delta
14
CumQty
uInt32
delta
326
SecurityTradingStatus
uInt32
copy
56
X1
X2
8
1022
MDFeedType
uInt32
copy
264
MarketDepth
uInt32
default
268
NoMDEntries
Length
copy
269
MDEntryType
String
copy
279
MDUpdateAction
String
copy
270
MDEntryPx
uInt32
delta
271
MDEntrySize
uInt32
delta
870
NoInstrAttrib
Length
copy
871
InstrAttribType
uInt32
copy
872
InstrAttribValue
uInt32
copy
Standard Trailer
(5)
Information on Completed Fixed Price Securities Trade at TWSE (X3)
FIX Message
Tag
Field Name
Req Description
Standard Header
1180
ApplID
Y Application Message Type
1350
ApplLastSeqNum
N Total Transmission Record
48
SecurityID
N Securities Code
22
SecurityIDSource
N Codification of Securities Code
273
MDEntryTime
N Matching Time
31
LastPx
N Last Trading Price
1020
TradeVolume
N Trading Volume
Standard Trailer
1.
MsgType: Message Type
X=Market Data Incremental Refresh
X=Market Data Incremental Refresh
57
5
2.
AppplID: Application Message Type.
X3= Information on Completed Fixed Price Securities Trade at the TWSE
3.
ApplLastSeqNum: Total Transmission Record.
At the end of the Application Message transmission, the total Transmission record
will be transmitted to the user end for checking if the information was completely
received. This field is sent only at the end of the message.
4.
SecurityID: Securities Code.
The Securities Code assigned by the TWSE.
5.
SecurityIDSource: Codification of Securities.
8 = Assigned by the TWSE under the principle of Securities coding of the TWSE,
Republic of China, and are uniformly assigned by the TWSE.
6.
MDEntryTime: Matching Time.
Format is hours, minutes, seconds, milliseconds (HHMMSSsssmmm).
Valid Value HH=00-23, MM=00-59, SS=00-59, sss=000-999, mmm=000-999.
7.
LastPx: Last Trading Price of the fixed price stock trade.
The TWSE transmits the integer value; the receiving end shall restore back to
floating point value of 2 digits after decimal point.
8.
TradeVolume: Trading volume of fixed price stock trade. The unit is the trading
unit of the underlying stock.
FAST Template
Tag
Field Name
Field Type
Field Encoding
Remarks
Standard Header
1180
ApplID
String
constant
1350
ApplLastSeqNum
uInt32
-
48
SecurityID
String
copy
22
SecurityIDSource
String
constant
58
X3
8
273
MDEntryTime
uInt64
delta
31
LastPx
uInt32
delta
1020
TradeVolume
uInt64
delta
Standard Trailer
59
(五).
(6)
Real-time Market Information on Odd Lot Stock Trade at the TWSE (X4)
FIX Message
Tag
Field Name
Req Description
Standard Header
1180
ApplID
Y Application Message Type
1350
ApplLastSeqNum
N Total Transmission Record
48
SecurityID
N Securities Code
22
SecurityIDSource
N Codification of Securities Code
273
MDEntryTime
N Matching Time
31
LastPx
N Last Trading Price
1020
TradeVolume
N Trading Volume (Unit: Share)
1022
MDFeedType
N Display Type
264
MarketDepth
N Display Depth of Order Book
268
NoMDEntries
Y
→
269 MDEntryType
Y Type
→
279 MDUpdateAction
N Update Action
→
270 MDEntryPx
N Price
870
NoInstrAttrib
N Up/Down Stop Display Nested Loop Number
→
871
InstrAttribType
N Display Type
→
872
InstrAttribValue
N Display Content
Standard Trailer
1.
Change in Trading Price and Volume Nested Loop
Number
Y
MsgType: Message Type
X=Market Data Incremental Refresh
2.
ApplID: Application Message Type.
X4=Real-time Market Information on Odd Lot Stock Trade at the TWSE
60
At the end of the Application Message transmission, the total Transmission record
will be transmitted to the user end for checking if the information was completely
received. This field is sent only at the end of the message.
3.
ApplLastSeqNum: Total Transmission Record.
4.
SecurityID: Securities Code.
The Securities Code assigned by the TWSE.
5.
SecurityIDSource: Codification of Securities.
8 = Assigned by the TWSE under the principle of Securities coding of TWSE,
Republic of China, and are uniformly assigned by the TWSE.
6.
MDEntryTime: Matching Time.
Format is hours, minutes, seconds, milliseconds (HHMMSSsssmmm).
Valid Value HH=00-23, MM=00-59, SS=00-59, sss=000-999, mmm=000-999.
7.
LastPx: Last Trading Price.
This field is not transmitted if the Trading Price is 0
The TWSE transmits the integer value; the receiving end shall restore back to
floating point value of 2 digits after decimal point.
8.
TradeVolume: Trading Volume (Unit: Share).
This field is not transmitted if the Trading Price is 0.
9.
MDFeedType: Display Type.
101=Rebuild Order Book. The user cleared up the order book of underlying
securities and used the information on the trading price and volume in the Tag 268
Loop to rebuild the information of the price and trading volume of the securities.
102= Empty Order Book. The user end empties the order book of the underlying
securities.
61
10. MarketDepth: Display Depth of Order Book.
1=Display the price of 1 transaction of odd lot stock trade
11. NoMDEntries: Change in Trading Price and Volume Nested Loop Number.
When transmit the Ending Message (Total Transmission Record), the value of this
field = ‘0’.
When Tag 1022=‘102’ (Empty Order Book), the value of this field = ‘0’.
(1)
MDEntryType:
2 = Bid
3 = Offer
E = Simulated Sell Price
F = Simulated Buy Price
When Tag268 is not equal to ‘0’, this field is necessary.
(2)
MDUpdateAction: Update Action.
0 = New.
(3)
MDEntryPx: Price.
The TWSE transmits the integer value; the receiving end shall restore
back to floating point value of 2 digits after decimal point.
12. NoInstrAttrib: Up/Down Stop Display Nested Loop Number
(1)
InstrAttribType: Display Type
101=Trading Price
102=Best Bid
103=Best Offer
(2)
InstrAttribValue: Display Content.
101= Up Stop Price
102= Down Stop Price
62
FAST Template
Tag
Field Name
Field Type
Field Encoding
Remarks
Standard Header
1180
ApplID
String
constant
1350
ApplLastSeqNum
uInt32
-
48
SecurityID
String
copy
22
SecurityIDSource
String
constant
273
MDEntryTime
uInt64
delta
31
LastPx
uInt32
delta
1020
TradeVolume
uInt64
delta
1022
MDFeedType
uInt32
copy
264
MarketDepth
uInt32
constant
268
NoMDEntries
Length
copy
269
MDEntryType
String
copy
279
MDUpdateAction
String
copy
270
MDEntryPx
uInt32
delta
870
NoInstrAttrib
Length
copy
871
InstrAttribType
uInt32
copy
872
InstrAttribValue
uInt32
delta
Standard Trailer
63
X4
8
1
(六).
(7)
Securities Trade Statistics at the TWSE at the Close of Market (WS1/WS2)
FIX Message
Tag
Field Name
Req Description
Standard Header
1180
ApplID
Y
Application Message Type
1350
ApplLastSeqNum
N
Total Transmission Record
48
SecurityID
N
Securities Code
22
SecurityIDSource
N
Codification of Securities Code
268
NoMDEntries
Y
Nested Loop Number
→
269
MDEntryType
Y
Data Type
→
270
MDEntryPx
N
Price
→
870
NoInstrAttrib
N
Statistics on Completed Transaction
→
→
871
InstrAttribType
N
Type of Transaction Statistics
→
→
872
InstrAttribValue
Standard Trailer
1.
MsgType: Message Type
W=Market Data Snapshot (Full Refresh)
2.
ApplID: Application Message Type.
WS1= The TWSE Securities Trade Statistics at the Close of Market (Regular Trade
+ Fixed-price Trade + Odd Lot Trade)
WS2= The TWSE Securities Trade Statistics at the Close of Market (Regular Trade
+ Fixed-price Trade + Odd Lot Trade + Broad Lot Trade)
3.
ApplLastSeqNum: Total Transmission Record.
At the end of the Application Message transmission, the total Transmission record
will be transmitted to the user end for checking if the information was completely
received. This field is sent only at the end of the message.
64
4.
SecurityID: Securities Code.
The Securities Code assigned by the TWSE.
5.
SecurityIDSource: Codification of Securities.
8 = Assigned by the TWSE under the principle of Securities coding of TWSE,
Republic of China, and are uniformly assigned by the TWSE.
6.
NoMDEntries: Nested Loop Number.
When transmit the Ending Message (Total Transmission Record), the value of this
field = ‘0’.
(1)
MDEntryType: Data Type, when Tag268 not equal to ‘0’, this field is
necessary.
0=Bid, Best bid display price for buying individual common stocks through
auction at close.
1=Offer, Best offer for selling of individual common stocks through auction
at close.
4 = Price at Opening
5 = Price at Closing, price of the last stock trade of the day.
7 = Highest Trading Price
8 = Lowest Trading Price
B = Completed Transactions Statistics
(2)
MDEntryPx: Price.
The TWSE transmits the integer value; the receiving end shall restore back
to floating point value of 2 digits after decimal point.
When Tag 269= ‘B’, this field will not be transmitted.
(3)
NoInstrAttrib: Statistics on Completed Transaction
When Tag 269= ‘B’, use this loop.
65
A.
InstrAttribType: Type of Transaction Statistics
101 = Transaction Amount, Include the cumulative amount of
transactions of related stock trade.
102 = Transaction Volume, Include the cumulative volume of
transactions of related stock trade.
103 = Transaction Record, Include the cumulative record of
transactions of related stocks.
B.
InstrAttribValue: Data content corresponding to the statistics of
transactions.
FAST Template
Tag
Field Name
Field Type
Field Encoding
Remarks
Standard Header
1180
ApplID
String
constant
1350
ApplLastSeqNum
uInt32
-
48
SecurityID
String
copy
22
SecurityIDSource
String
constant
268
NoMDEntries
Length
copy
269
MDEntryType
String
copy
270
MDEntryPx
uInt32
delta
870
NoInstrAttrib
Length
delta
871
InstrAttribType
uInt32
copy
872
InstrAttribValue
String
delta
Standard Trailer
66
WS1
WS2
8
(8)
General Trade Statistics of Individual Common Stocks at the TWSE (WT1)
FIX Message
Tag
Field Name
Standard Header
Req Descriptions
1180
ApplID
Y
Application Message Type
1350
ApplLastSeqNum
N
Total Transmission Record
273
MDEntryTime
N
Time of Entry
268
NoMDEntries
Y
Nested Loop Number
→
269
MDEntryType
Y
→
870
NoInstrAttrib
N
→
→
871
→
→
872
InstrAttrib
Type
InstrAttrib
Value
Standard Trailer
1.
N
N
Type of Trade Statistics of the
Underlying Instruments
Types of Trade Statistics of each
Underlying Instruments
Type of Transaction Statistics
Data Content of Transaction Statistics
Y
MsgType: Message Type
W=Market Data Snapshot (Full Refresh)
2.
ApplID: Application Message Type
WT1 = General Trade Statistics of Individual Common Stocks at the TWSE.
3.
ApplLastSeqNum: Total Transmission Record.
At the end of the Application Message transmission, the total Transmission record
will be transmitted to the user end for checking if the information was completely
received. This field is sent only at the end of the message.
67
4.
MDEntryTime: Time of Entry.
Format is hours, minutes, seconds, milliseconds (HHMMSSsssmmm).
Valid Values: HH=00-23, MM=00-59, SS=00-59, sss=000-999, mmm=000-999.
Special Value: 999999999000 (Tag 1180=WT1, "Transaction Statistics at Close")
The TWSE keeps statistics of real-time trade of different instruments at different
points of time from the opening to the close of the market. Some of the trade orders
are still in process of matching at the close of the market. Transaction Statistics at
Close will cover the complete transactions of all matches and the time field will be
displayed at the special value of 999999999000.
5.
NoMDEntries: Nested Loop Number, the value of this field is fixed at = ‘5’.
When transmitting the Ending Message (Total Transmission Record), the value of
this field = ‘0’.
(1)
MDEntry Type: Type of Trade Statistics of the Underlying Instruments,
when Tag268 not equal to ‘0’, this field is necessary.
B1 = Statistics of Overall Market Transactions, underlying instruments of
the statistics of overall transactions in the market including all securities
traded at the TWSE.
B2 = Statistics of Transaction of Funds, the statistics of transaction of
underlying funds, including beneficiary certificates, ETF, REAT, financial
asset securitized securities, and REIT.
B3 = Statistics of Transaction of Stocks, the statistics of consignment
trade of common stocks.
B4 = Statistics of Transaction of Call Warrant, the statistics of transaction
of Call Warrant, including Call Warrant with domestic stocks or indexes
as underlying instruments or Call Warrant with overseas stocks and
indexes as underlying instruments.
B5 = Statistics of Transaction of Put Warrant, the statistics of transaction
of Put Warrant, including Put Warrant with domestic stocks and indexes
68
as underlying instruments and Put Warrant with overseas stocks and
indexes as underlying instruments.
(2)
NoInstrAttrib: Types of Trade Statistics of each Underlying Instruments,
the value of this field is fixed at = ‘3’.
A.
InstrAttribType: Type of Transaction Statistics.
101 = Transaction Amount, Cumulative amount of transactions.
102 = Transaction Volume, Cumulative volume of transactions, each
volume is in one trading unit.
103 = Transaction Record, Cumulative record of transactions.
B.
InstrAttribValue: Data content corresponding to the statistics of
transactions.
FAST Template
Tag
Field Name
Field Type
Field Encoding
Remarks
Standard Header
1180
ApplID
String
constant
1350
ApplLastSeqNum
uInt32
-
273
MDEntryTime
uInt64
delta
268
NoMDEntries
Length
default
269
MDEntryType
String
copy
870
NoInstrAttrib
Length
default
871
InstrAttribType
uInt32
copy
872
InstrAttribValue
uInt64
delta
Standard Trailer
69
WT1
5
3
(七).
(9)
Statistics of Fixed Price/after Close of the Market Trade at the TWSE
(WT2/WT3/WT4)
FIX Message
Tag
Field Name
Standard Header
Req Description
1180
ApplID
Y
Application Message Type
1350
ApplLastSeqNum
N
Total Transmission Record
273
MDEntryTime
N
Time of Entry
268
NoMDEntries
Y
Nested Loop Number
→
269
MDEntryType
Y
→
870
NoInstrAttrib
N
→
→
871
InstrAttribType
N
Statistics on Completed Transaction
→
→
872
InstrAttribValue
N
Data Content of Transaction Statistics
Type of Trade Statistics of the Underlying
Instruments
Types of Trade Statistics of each Underlying
Instruments
Standard Trailer
1.
MsgType: Message Type
W=Market Data Snapshot (Full Refresh)
2.
ApplID: Application Message Type
WT2 = Statistics of Fixed Price/after Close of the Market Trade at the TWSE
WT3= Statistics of after Close of the Market Trade at the TWSE (Regular Trade +
Fixed-price Trade + Odd Lot Trade)
WT4= Statistics of after Close of the Market Trade at the TWSE (Regular Trade +
Fixed-price Trade + Odd Lot Trade + Broad Lot Trade)
70
3.
ApplLastSeqNum: Total Transmission Record.
At the end of the Application Message transmission, the total Transmission record
will be transmitted to the user end for checking if the information was completely
received. This field is sent only at the end of the message.
4.
MDEntryTime: Time of Entry.
Format is hours, minutes, seconds, milliseconds (HHMMSSsssmmm).
Valid Values: HH=00-23, MM=00-59, SS=00-59, sss=000-999, mmm=000-999.
5.
NoMDEntries: Nested Loop Number, the value of this field is fixed at = ‘1’
When transmit the Ending Message (Total Transmission Record), the value of this
field = ‘0’.
(1)
MDEntryType: Type of Trade Statistics of the Underlying Instruments,
when Tag268 not equal to ‘0’, this field is necessary.
B1 = Statistics of overall transactions in market, underlying instruments of the
statistics of overall transactions in market include all securities traded at the
TWSE.
(2)
NoInstrAttrib: Types of Trade Statistics of each Underlying Instruments,
the value of this field is fixed at = ‘3’.
A.
InstrAttribType: Statistics on Completed Transaction
101 = Transaction Amount
102 = Transaction Volume
Tag 1180 = WT2: Unit of Transaction.
Tag 1180 = WT3 or WT4: Shares of Transaction
103 = Transaction Record
B.
InstrAttribValue: Data content corresponding to the statistics of
transactions.
71
FAST Template
Tag
Field Name
Field Type
Field Encoding
Remarks
Standard Header
WT2
1180
ApplID
String
constant
WT3
WT4
1350
ApplLastSeqNum
uInt32
-
273
MDEntryTime
uInt64
delta
268
NoMDEntries
Length
default
1
269
MDEntryType
String
default
B1
870
NoInstrAttrib
Length
default
3
871
InstrAttribType
uInt32
copy
872
InstrAttribValue
uInt64
delta
Standard Trailer
72
(八).
(10) Statistics of General Taiwan Index Trade at the TWSE (WI1/WI2/WI3)
FIX Message
Tag
Field Name
Standard Header
Req Description
1180
ApplID
Y
Application Message Type
1350
ApplLastSeqNum
N
Total Transmission Record
273
MDEntryTime
N
Time of Entry
268
NoMDEntries
Y
Nested Loop Number
→
269
MDEntryType
Y
Index Code
→
270
MDEntryPx
N
Index Value
Standard Trailer
1.
MsgType: Message Type
W=Market Data Snapshot (Full Refresh)
2.
ApplID: Application Message Type.
WI1 = TWSE Taiwan Index Statistics
WI2 = TWSE Taiwan New Index Statistics
WI3 = TWSE Taiwan Return Index
3.
ApplLastSeqNum: Total Transmission Record.
At the end of the Application Message transmission, the total Transmission record
will be transmitted to the user end for checking if the information was completely
received. This field is sent only at the end of the message.
4.
MDEntryTime: Time of Entry.
Format is hours, minutes, seconds, milliseconds (HHMMSSsssmmm).
Valid Values: HH=00-23, MM=00-59, SS=00-59, sss=000-999, mmm=000-999.
(1)
special value:000000000000 (Tag 1180 = WI1 or WI2, represents
"Closing Index from the previous trading day" )
73
(2)
special value:999999000000 ( Tag 1180 = WI1 or WI2, represents
"Closing Index")
TWSE keeps statistics of real-time index (WI1, WI2) at different points of
time from the opening to the close of the market. Some of the trade orders
are still in process of matching at the close of the market. Transaction
Statistics at Close will cover the complete transactions of all matches and the
time field will be displayed at the special value of 999999000000
Return Index (WI3), will be announced at close of each trading day.
5.
NoMDEntries: Nested Loop Number.
When transmit the Ending Message (Total Transmission Record), the value of this
field = ‘0’.
(1)
MDEntryType: Index Code.
When Tag268 not equal to ‘0’, this field is necessary. Please refer to
Appendix for Index Code Table.
(2)
MDEntryPx: Index Value.
The TWSE transmits the integer value; the receiving end shall restore back
to floating point value of 2 digits after decimal point.
74
FAST Template
Tag
Field Name
Field Type
Field Encoding
Remarks
Standard Header
WI1
1180
ApplID
String
constant
WI2
WI3
1350
ApplLastSeqNum
uInt32
-
273
MDEntryTime
uInt64
delta
268
NoMDEntries
Length
copy
269
MDEntryType
String
copy
270
MDEntryPx
uInt32
delta
Standard Trailer
75
(九).
(11) Statistics of General Consignment Trade at the TWSE (WO1)
FIX Message
Tag
Field Name
Standard Header
Req Description
1180
ApplID
Y Application Message Type
1350
ApplLastSeqNum
N Total Transmission Record
273
MDEntryTime
N Time of Entry
268
NoMDEntries
Y Nested Loop Number
→
269
MDEntryType
Y
→
870
NoInstrAttrib
N Nested Loop Number
→
→
871
InstrAttribType
N
→
→
1177
NoOfSecSizes
N Nested Loop Number
→
→
→
1178 MDSecSizeType
Type of Consignment Trade Value
→
→
→
1179 MDSecSize
Value
Standard Trailer
1.
Type of Consignment Trade of
Underlying Instruments
Type of Statistics of Consignment Trade
of each Underlying Instrument
Y
MsgType: Message Type
W=Market Data Snapshot (Full Refresh)
2.
ApplID: Application Message Type.
WO1 = Statistics of General Consignment Trade at the TWSE
3.
ApplLastSeqNum: Total Transmission Record.
At the end of the Application Message transmission, the total Transmission record
will be transmitted to the user end for checking if the information was completely
received. This field is sent only at the end of the message.
76
4.
MDEntryTime: Time of Entry.
Format is hours, minutes, seconds, milliseconds (HHMMSSsssmmm).
Valid Values: HH=00-23, MM=00-59, SS=00-59, sss=000-999, mmm=000-999.
5.
NoMDEntries: Nested Loop Number, the value of this field is fixed at = ‘5’
When transmitting the Ending Message (Total Transmission Record), the value of
this field = ‘0’.
(1)
MDEntry Type: Type of Consignment Trade of Underlying Instruments,
when Tag268 not equal to ‘0’, this field is necessary.
101 = Overall Consignment Trade at the TWSE. The statistics of all
consignment trade of underlying instruments in the market, including the
consignment trade of all securities.
102 = Statistics of Consignment Trade of Funds, the statistics of
consignment trade of underlying funds, including beneficiary certificates,
ETF, REAT, financial asset securitized securities, and REIT.
103 = Statistics of Consignment Trade of Stocks, the statistics of
consignment trade of common stocks.
104 = Statistics of Consignment Trade of Call Warrant, the statistics of
consignment trade of Call Warrant, including Call Warrant with domestic
stocks or indexes as underlying instruments or Call Warrant with
overseas stocks and indexes as underlying instruments.
105 = Statistics of Consignment Trade of Put Warrant, the statistics of
consignment trade of Put Warrant, including Put Warrant with domestic
stocks or indexes as underlying instruments or Put Warrant with overseas
stocks and indexes as underlying instruments.
A.
NoInstrAttrib: Nested Loop Number, the value of this field is fixed
at = ‘6’
B.
InstrAttribType: Type of Statistics of Consignment Trade of each
Underlying Instrument.
101 = Total Buy
77
102 = Total Sell
103 = Up Stop Buy
104 = Up Stop Sell
105 = Down Stop Buy
106 = Down Stop Sell
C.
NoOfSecSized: Nested Loop Number, the value of this field is fixed
at = ‘2’
(A) MDSecSizeType: Type of Consignment Trade Value.
101= Cumulative Volume of Consignment Trade
102 = Cumulative Transaction Record of Consignment Trade
(B) MDSecSize: Value.
When Tag1178=’101’, the value unit of this field is the trading unit.
FAST Template
Tag
Field Name
Field Type
Field Encoding
Remarks
Standard Header
1180
ApplID
String
constant
1350
ApplLastSeqNum
uInt32
-
273
MDEntryTime
uInt64
delta
268
NoMDEntries
Length
default
269
MDEntryType
String
copy
870
NoInstrAttrib
Length
default
871
InstrAttribType
uInt32
copy
1177
NoOfSecSizes
Length
default
1178
MDSecSizeType
uInt32
copy
1179
MDSecSize
uInt64
delta
Standard Trailer
78
WO1
5
6
2
(十).
(12) Statistics of Fixed-Price Consignment Trade at the TWSE (WO2)
FIX Message
Tag
Field Name
Standard Header
Req Description
1180
ApplID
Y
Application Message Type
1350
ApplLastSeqNum
N
Total Transmission Record
273
MDEntryTime
N
Time of Entry
268
NoMDEntries
Y
Nested Loop Number
→
269 MDEntryType
Y
→
870 NoInstrAttrib
N
→
→
871
InstrAttribType
N
→
→
1177
NoOfSecSizes
N
→
→
→
1178
MDSecSizeType
Type of Consignment Trade Value
→
→
→
1179
MDSecSize
Value
Standard Trailer
1.
Type of Consignment Trade of
Underlying Instruments
Nested Loop Number
Type of Statistics of Consignment Trade
of each Underlying Instrument
Nested Loop Number
Y
MsgType: Message Type
W=Market Data Snapshot (Full Refresh)
2.
ApplID: Application Message Type.
WO2 = Statistics of Fixed-Price Consignment Trade at the TWSE.
3.
ApplLastSeqNum: Total Transmission Record.
At the end of the Application Message transmission, the total Transmission record
will be transmitted to the user end for checking if the information was completely
received. This field is sent only at the end of the message.
4.
MDEntryTime: Time of Entry.
Format is hours, minutes, seconds, milliseconds (HHMMSSsssmmm).
79
Valid Values: HH=00-23, MM=00-59, SS=00-59, sss=000-999, mmm=000-999.
5.
NoMdEntries: Nested Loop Number, the value of this field is fixed at = ‘2’.
When transmit the Total Transmission Record, the value of this field = ‘0’
(1)
MdEntryType: Type of Consignment Trade of Underlying Instruments,
when Tag268 is not equal to ‘0’, this field is necessary.
101 = Overall Consignment Trade at the TWSE, The statistics of all
consignment trade of underlying instruments in the market, including the
consignment trade of all securities.
102 = Statistics of Consignment Trade of Funds, the statistics of
consignment trade of underlying funds, including beneficiary certificates,
ETF, REAT, financial asset securitized securities, and REIT.
(2)
NoInstrAttrib: Nested Loop Number, the value of this field is fixed at =
‘6’
A.
InstrAttribType: Type of Statistics of Consignment Trade of each
Underlying Instrument.
101 = Total Buy
102 = Total Sell
103 = Up Stop Buy
104 = Up Stop Sell
105 = Down Stop Buy
106 = Down Stop Sell
B.
NoOfSecSizes: Nested Loop Number, the value of this field is fixed
at = ‘2’
(A) MDSecSizeType: Type of Consignment Trade Value.
101= Cumulative Volume of Consignment Trade
102 = Cumulative Transaction Record of Consignment Trade
(B) MDSecSize: Value
When Tag1178=’101’, the value unit of this field is the trading unit.
80
FAST Template
Tag
Field Name
Field Type
Field Encoding
Remarks
Standard Header
1180
ApplID
String
constant
1350
ApplLastSeqNum
uInt32
-
273
MDEntryTime
uInt64
delta
268
NoMDEntries
Length
default
269
MDEntryType
String
copy
870
NoInstrAttrib
Length
default
871
InstrAttribType
uInt32
copy
1177
NoOfSecSizes
Length
default
1178
MDSecSizeType
uInt32
copy
1179
MDSecSize
uInt64
delta
Standard Trailer
(13) TWSE Announcements (B1/B2/B3)
FIX Message
Tag
Field Name
Standard Header
Req Description
1180
ApplID
Y Application Message Type
1350
ApplLastSeqNum
N Total Transmission Record
148
Headline
Y Announcement Headline
33
NoLinesOfText
Y Number of Lines of Announcement Text
→
58
Y Announcement Text
Text
Standard Trailer
81
WO2
2
6
2
1.
MsgType: Message Type
B=News
2.
ApplID: Application Message Type.
B1 = TWSE General Announcement
B2 = TWSE Dealer Hedge Accounts Consignment Trade Announcement
B3 = TWSE Emergency Announcement
3.
ApplLastSeqNum: Total Transmission Record.
At the end of the Application Message transmission, the total Transmission record
will be transmitted to the user end for checking if the information was completely
received. This field is sent only at the end of the message.
4.
Headline: Announcement Headline.
Tag 1180=’B1’, Value of the field = "General Announcement".
Tag 1180=’B2’, Value of this field = "Dealer Hedge Accounts Consignment Trade
Announcement".
Tag 1180=’B3’, Value of this field = "Emergency Announcement".
5.
NoLinesOfText: Number of Lines of Announcement Text, one line of text in each
transmission, the value of this field is fixed at = ’1’.
6.
Text: Announcement Text.
82
FAST Template
Tag
Field Name
Field Type
Field Encoding
Remarks
Standard Header
B1
1180
ApplID
String
constant
B2
B3
1350
ApplLastSeqNum
uInt32
-
"General Announcement"
"Dealer Hedge Accounts
148
Headline
String
constant
Consignment Trade
Announcement"
"Emergency
Announcement"
33
NoLinesOfText
Length
default
58
Text
String
-
Standard Trailer
83
1
SEVEN Appendixes
1.
Supplementary Descriptions and Examples of Display
In the application format of market information transmission, it is more unique in
handling the TWSE normal trade real time market information, hence supplementary
descriptions are made available in this Appendix. There are two different modes of TWSE
normal trade real time market information based on field composition:
(1)
Market data Snapshot
In this mode, content value of the field 1022 has 101 (overlay)
1.
Content value of the field 1022 is 101.
This indicates that the market information transmitted is the complete data of
trading price and volume. When the user end receives the content value of 101 in
this field 1022, the user end is required to empty the Order Book, using the data of
trading price and volume in the loop of the field 268 to rebuild the price and volume
data of the underlying securities.
(2)
Market Data Incremental Refresh
In this mode, the content values of the field 1022 are 101 (overlay), 102 (empty),
104 (keep) and 103(change)
1.
The content value of the field 1022 is 101
Same as Market Data Snapshot mode
2.
The content value of the field 1022 is 102
Same as the Market Data Snapshot mode
3.
The content value of the field 1022 is 103
This indicates the market information transmitted is the Market Data Incremental
Refresh of the trading price and volume data. When the user end receives the
content value of 103 in this field 1022, the user end is required to change the
original trading price and volume data of the underlying securities using the trading
84
price and volume data in the loop of the field 268, and the update instruction in the
field 279 (0 - add, 1 - change, 2 - delete).
Examples are following:
For example, the first buy display data of a certain stock is
1. Buy price 15.0, Buy volume 1000
2. Buy price 14.9, Buy volume 500
3. Buy price 14.8, Buy volume 200
4. Buy price 14.6, Buy volume 1500
The Incremental Refresh will apply the Buy price/volume to present the data in the
field 1022 = 103 (indicates Incremental Refresh), the field 268 = 4 (indicates 4 sets
of data)
[Add the Volume at a specific Buy Price]
Field 269 = 0 (Type = Buy)
Field 279 = 0 (Change Method = Add)
Field 270 = 15.0 (Price = 15 Dollars)
Field 271 = 1000 (Volume = 1000 Units)
[Add the Volume at a specific Buy price]
Field 269 = 0 (Type = Buy)
Field 279 = 0 (Change Method = Add)
Field 270 = 14.9 (Price = 15 Dollars)
Field 271 = 500 (Volume = 500 Units)
[Add the Volume at a specific Buy price]
Field 269 = 0 (Type = Buy)
Field 279 = 0 (Change Method = Add)
Field 270 = 14.9 (Price = 14.8 Dollars)
Field 271 = 500 (Volume = 200 Units)
[Add the Volume at a specific Buy price]
Field 269 = 0 (Type = Buy)
Field 279 = 0 (Change Method = Add)
Field 270 = 14.9 (Price = 14.6 Dollars)
Field 271 = 500 (Volume = 1500 Units)
85
Representation in FIX format is
1022=103<SOH>268=4<SOH>1022=103<SOH>268=4<SOH>269=0<SOH>27
9=0<SOH>270=15<SOH>271=1000<SOH>269=0<SOH>279=0<SOH>270=14.
9<SOH>271=500<SOH>269=0<SOH>279=0<SOH>270=14.8<SOH>271=200<
SOH>269=0<SOH>279=0<SOH>270=14.6<SOH>271=1500
If the second buy display data is
1. Buy price 15.0, Buy volume 800
2. Buy price 14.8, Buy volume 200
3. Buy price 14.7, Buy volume 100
4. Buy price 14.6, Buy volume 1500
5. Buy price 14.5, Buy volume 200
Incremental Refresh of the two buys display data are the following:
First buy display data
Second buy display data
Incremental
Refresh
Buy price 15,
Buy price 15,
Change
Buy volume 1000
Buy volume 800
(quantity)
Buy price 14.9,
Delete
Buy Volume 500
Buy price 14.8,
Buy price 14.8,
Buy volume 200
Buy volume 200
Buy price 14.7,
No change
Add
Buy volume 100
Buy price 14.6,
Buy price 14.6,
Buy volume 1500
Buy volume 1500
Buy price 14.5,
No change
Add
Buy volume 200
The Incremental Refresh will apply the Buy price/volume to present the data in
the field 1022 = 103 (indicates Incremental Refresh), and the field 268 = 4
(indicates 4 sets of data)
86
[Change the Volume at a specific Buy price]
Field 269 = 0 (Type = Buy)
Field 279 = 1 (Change method = Change)
Field 270 = 15.0 (Price = 15 Dollars)
Field 271 = 800 (Volume = 800 Units)
[Delete the Price and Volume of a specific Buy]
Field 269 = 0 (Type = Buy)
Field 279 = 2 (Change Method = Delete)
Field 270 = 14.9 (Price = 14.9 Dollars)
Field 271 = 500 (Volume = 500 Units)
[Add the Volume of a specific Buy Price]
Field 269 = 0 (Type = Buy)
Field 279 = 0 (Change Method = Add)
Field 270 = 14.7 (Price = 14.7 Dollars)
Field 271 = 100 (Volume = 100 Units)
[Add the Volume of a specific Buy Price]
Field 269 = 0 (Type = Buy)
Field 279 = 0 (Change Method = Add)
Field 270 = 14.5 (Price = 14.5 Dollars)
Field 271 = 200 (Volume = 200 Units)
Representation if FIX format is
1022=103<SOH>268=4<SOH>1022=103<SOH>268=4<SOH>269=0<SOH>27
9=1<SOH>270=15<SOH>271=800<SOH>269=0<SOH>279=2<SOH>270=14.9
<SOH>271=500<SOH>269=0<SOH>279=0<SOH>270=14.7<SOH>271=100<S
OH>269=0<SOH>279=0<SOH>270=14.5<SOH>271=200
4.
The content value of the fiend 1022 is 104
Same as Market Data Snapshot mode
87
2.
Alternative Site Backup Plan
(1)
Situations for Alternative Site Backup
In case of abnormal functioning of the server at the TWSE during trading hours, all
trading systems will be switched to the backup center at an alternate site. During the
time of switching between two trading centers, the trading information network will be
suspended for the entry of consignment trades until the TWSE system at the alternative
backup site is activated for operation. The user end shall switch to the alternative
backup center for receiving market information. After successful connection with the
alternative backup center, the securities dealers shall confirm the proper functioning of
the file transmission system for placing orders and sending information of transactions
before proceeding to trade.
(2)
1.
Notes to the operation process alternative site backup data recovery
The TWSE shall announce the time of resuming trading to the market in case of a
major incident and after decided to switch all transactions to the backup center at
an alternative site.
2.
The TWSE uses the real-time file transmission mode to backup all trade data to
the backup center at an alternative site. In activating the backup mechanism, the
TWSE will rebuild valid trading data in accordance with the data files in the
backup center. In case of any discrepancy between the data in the server of the
main site and the backup site; the data at the backup site shall be valid.
3.
To ensure all user ends can obtain correct and valid data for the day, the TWSE
will reorganize all FIX/FAST messages transmitted application messages after
switching to the alternative backup site. When DAP-Real-time system is
activated, all valid data of the messages will be recoded from number 1 and
retransmitted again. DAP-Rebuild System also adopts the same method to
reorganize the data and request the user end to check the update, or rebuild the
database to ensure the content of data and sequence number are synchronized
with the TWSE's.
88
3.
Industry Category Code Table
(1)
With the inception of the new codification rules, the industry category for the
securities can no longer be identified by the first two digits of the securities code.
Hence, all common stocks and the subordinated preferred shares with industrial
characteristics shall be identified by the fields defined in this table.
(2)
The aforementioned preferred shares shall include preferred shares, preferred
shares with subscription warrants and equity payment receipts for subscription,
and equity swap certificates. Please pay special attention to the field that only
provides the Industry Category Code. Whether or not the specific securities are
preferred shares or preferred shares with subscription warrants shall be
determined under the original Rules for Assignment of Ticker Symbols.
(3)
Other securities without industry characteristics such as Beneficiary Certificates
(Closed-end Funds), Call (Put) Warrants, Depository Receipts, Foreign Stocks,
Corporate Bonds of with stock subscription rights after the Bonds exercised,
Convertible Bonds, and Corporate bonds with stock subscription rights. The
value of this field is “00”. Users are advised to determine the types of securities
by referring to the original Rules for Assignment of Ticker Symbols.
(4)
Treasury or government bonds shall be displayed as before. The value of this
field is the 1st to the 4th digits of the securities code
Industry
Category
Code
Industry
Category
Industry
Category
Code
01
Cement Industry
12
Industry
Category
Auto Industry
Industry
Category
Code
23
Construction
02
Food Industry
14
Materials and
24
Construction
03
Plastic
Industry
15
Sea Transport
Industry
89
Industry
Category
Oil, Gas and
Electricity Industry
Semiconductor
Industry
Computer and
25
Peripheral
Equipment Industry
Textile and
04
Fiber
Electrical
05
Mechanical
Appliance
06
and Cable
Glass and
08
Ceramics
Paper
09
Industry
10
Steel Industry
Rubber
11
4.
Industry
16
17
18
Tourism Industry
Optoelectronic
26
Industry
Communications
Finance and
27
Insurance
and Internet
Industry
Trading Wholesale
and Retail
Electronic Parts and
28
Components
Industry
Electronic
19
Miscellaneous
29
Distribution
Industry
20
21
Others
Information Service
30
Chemical
Industry
Other Electronic
31
Industry
Industry
Biotechnology and
22
Medical Care
Industry
Rules for Assignment of the Ticker Symbols
(1)
A securities code is represented by ASCII in length of 6 bytes:
Securities Type
Byte
1
Beneficiary Certificates(note 1)
0
Securities Code
Byte Byte Byte Byte
2
3
4
5
0
0
|
4
0
|
9
0
|
9
ETF (Exchange Traded Fund) (note 1)
ETF (denominated in foreign currencies)
Byte
6
0
|
9
K
Leveraged ETF
0
Leveraged ETF (denominated in foreign
currencies)
Inverse ETF
0
5
|
9
0
|
9
1
|
9
L
M
R
90
Securities Type
Byte
1
Securities Code
Byte Byte Byte Byte
2
3
4
5
Byte
6
Inverse ETF (denominated in foreign currencies)
S
Future Trust ETF
U
Future Trust ETF (denominated in foreign
currencies)
Real Estate Asset Trust Beneficiary Securities
Financial Asset Securitization Beneficiary
Securities
Real Estate Investment Trust Beneficiary
Securities
V
P
0
Call Warrant with domestic securities or index
as underlying assets
0
1
3
|
8
0
|
9
0
|
9
0
|
9
0
|
9
0
|
9
0
|
9
Put Warrant with domestic securities or index
as underlying assets
Call Warrant with foreign securities or index
as underlying assets
Put Warrant with foreign securities or index as
underlying assets
“Down-and-Out Call Warrant” (Bull Contract)
with domestic securities or indexes as
underlying assets
“Up-and-Out Put Warrant” (Bear Contract)
with domestic securities or indexes as
underlying assets
“Open-End Down-and-Out Call Warrant” with
domestic securities or indexes as underlying
assets (Open-End Bull Contract)
“Open-End Up-and-Out Put Warrant” with
domestic securities or indexes as underlying
assets (Open-End Bear Contract)
0
Common Stocks
1
|
9
0
|
9
0
|
9
0
|
9
Depository Receipt (note 1)
9
1
0
|
9
0
|
9
9
3
|
4
0
|
9
0
|
9
S
T
0
|
9
P
F
Q
3
|
8
0
|
9
0
|
9
0
|
9
C
B
X
Y
存託憑證可轉換公司債
0
|
9
C
存託憑證附認股權公司債
存託憑證附認股權公司債履約後之公司債
G
F
91
0
|
9
1
|
9
D
|
L
1
|
Securities Type
Byte
1
Securities Code
Byte Byte Byte Byte
2
3
4
5
存託憑證認股權憑證
General Preferred Stocks
Preferred Stocks with Warrants
Corporate Bonds with Warrants
Subscription Warrants
Cooperate Bonds of Performed Debentures
with Warrants
New Share Entitlement Certificates, New
Stock Right Certificates, Stock Share Payment
Certificates
Convertible Corporate Bonds
Exchangeable Corporate Bonds,
Exchangeable Financial Bond
Government Bonds
G
Original
Stock
Code
Original
Stock
Code
Original
Stock
Code
Original
Stock
Code
Original
Stock
Code
Original
Stock
Code
A
|
E
Original
Stock
Code
1
|
9
Byte
6
9
1
|
9
A
|
C
D
|
L
1
|
9
1
|
9
G
G
G
F
L
|
Z
Original
Stock
Code
A
C
D
0
|
9
0
|
9
0
|
9
0
|
9
Blank,
0
|
9
1
|
9
0
|
9
F
-
-
-
-
-
Foreign Bonds
0
Note 1: The previous 6-digit principle for Assignment of Ticker Symbols for the beneficiary
certificates (closed-end fund), Stock Index Fund (ETF), and Trust Depository Receipt
(TDR) are applicable to the securities listed in the exchange after December 15 2009.
Stock code previously assigned is still using 4 digits. Stock code defined as 9201~9299
under TDR remains unchanged.
92
Note 2: The stock code starting with 09 is reserved.
93
(2)
Coding Principles for the Securities Code of Government Bonds (6 codes):
□□□□□□
1 2 3 4 5 6
1.
Code 1 is a letter: A- Central Government Bond; C-Taipei City Government
Bond; D-Kaohsiung City Government Bond
5.
2.
Codes 2-3 represent year, e.g. 93, 94, 95, etc.
3.
Code 4 represents bond type.
4.
Codes 5-6 represent period, e.g. 01, 02, 03, etc.
Securities Category Code Table
Special attributes of securities that cannot be determined directly from stock code:
Code
W1
W2
W3
W4
Meaning
Call Warrant, proportionally issued (the amount of original conversion target
shares is 1000 upon issue)
Call Warrant, not proportionally issued (the amount of original conversion
target shares is not 1000 upon issue)
Put Warrant, proportionally issued (the amount of original conversion target
shares is 1000 upon issue)
Put Warrant, not proportionally issued (the amount of original conversion
target shares is not 1000 upon issue)
BS
Listed securities stocks of domestic companies
FB
Listed stocks of domestic banks
Blank
Listed securities stocks of other domestic companies
RR
Listed securities stocks of other foreign companies
RS
Listed securities stocks of foreign companies
RB
Listed stocks of foreign banks
94
6.
Index Code Table
For information on Code Table, please refer to: http://mops.twse.com.tw/mops/web/t95sb06
Code Index Code
Index Name in
Chinese
Abbreviation
in Chinese
Index Name in
English
FTSE TWSE
Taiwan Eight
Industries Index
FTSE TWSE
Taiwan
Dividend+ Index
FTSE TWSE
Taiwan Mid-Cap
100 Index
Non-Electronics
Sub-index
Non-Finance
Sub-index
Non-Finance
Non-Electronics
Sub-index
TWSE
Capitalization
Weighted Stock
Index
FTSE TWSE
Taiwan 50 Index
FTSE TWSE
Taiwan
Technology
Index
Cement and
Ceramic
Abbreviation
in English
1.
IX0005
臺灣發達指數
發達指數
2.
IX0006
臺灣高股息指數
高股息指數
3.
IX0003
臺灣中型 100 指數 中 100 指數
4.
IX0008
未含電子股指數
5.
IX0007
未含金融保險股指
非金指數
數
6.
IX0009
未含金融電子股指
非金電指數
數
7.
IX0001
發行量加權股價指
臺股指數
數
8.
IX0002
臺灣 50 指數
9.
IX0004
臺灣資訊科技指數 科技指數
10.
IX0013
水泥窯製類指數
水泥窯製類
11.
IX0010
水泥類指數
水泥類
12.
IX0019
化學生技醫療類指
化學生醫類
數
13.
IX0017
電機機械類指數
電機類
14.
IX0018
電器電纜類指數
電器電纜類
15.
IX0015
機電類指數
機電類
Electrical
Electrical
16.
IX0011
食品類指數
食品類
Food
Food
非電指數
臺 50 指數
95
Cement
Chemical,
Biotechnology
and Medical Care
Electric
Machinery
Electrical and
Cable
8 Industries
Dividend+
Mid-Cap 100
Non-Elec
Non-Fin
Non-Fin/Elec
TAIEX
Taiwan 50
Technology
Cem/Cera
Cement
Chem/Bio/Me
d
Elec-Machiner
y
Elec/Cable
Code Index Code
Index Name in
Chinese
Abbreviation
in Chinese
Index Name in
English
Plastic and
Chemical
Abbreviation
in English
17.
IX0014
塑膠化工類指數
塑化類
18.
IX0012
塑膠類指數
塑膠類
Plastic
Plastic
19.
IX0016
紡織纖維類指數
紡纖類
Textile
Textile
20.
IX0026
汽車類指數
汽車類
Automobile
Automobile
21.
IX0021
生技醫療類指數
生醫類
Biotechnology
Bio/Med
and Medical Care
22.
IX0020
化學類指數
化學類
Chemical
Chemical
23.
IX0029
電腦及週邊設備類
電腦週邊類
指數
Computer and
Peripheral
Equipment
Com-Equip
24.
IX0027
電子類指數
電子類
Electronics
Electronics
25.
IX0022
玻璃陶瓷類指數
玻璃陶瓷類
Glass and
Ceramic
Glass/Cera
26.
IX0024
鋼鐵類指數
鋼鐵類
Iron and Steel
Iron/Steel
27.
IX0023
造紙類指數
造紙類
Paper and Pulp
Paper/Pulp
28.
IX0025
橡膠類指數
橡膠類
Rubber
Rubber
29.
IX0028
半導體類指數
半導體類
Semiconductor
Semiconducto
r
30.
IX0036
建材營造類指數
營建類
31.
IX0032
電子零組件類指數 電零類
32.
IX0033
電子通路類指數
電通類
33.
IX0039
金融保險類指數
金融類
34.
IX0034
資訊服務類指數
資服類
35.
IX0031
通信網路類指數
網通類
Building Material
and Construction
Electronic
Parts/Component
s
Electronic
Products
Distribution
Finance and
Insurance
Information
Service
Communications
and Internet
36.
IX0030
光電類指數
光電類
Optoelectronic
Optoelectronic
37.
IX0035
其他電子類指數
其他電子類
Other Electronic
Other-Elec
38.
IX0037
航運類指數
航運類
Shipping and
Transportation
Shipping
39.
IX0038
觀光類指數
觀光類
Tourism
Tourism
96
Plas/Chem
Building
Elec-Comp
Elec-Prod-Dist
Finance
Info Service
Internet
Code Index Code
Index Name in
Chinese
Abbreviation
in Chinese
40.
IX0041
油電燃氣類指數
油電燃氣類
41.
IX0042
其他類指數
其他類
42.
IX0040
貿易百貨類指數
貿易百貨類
43.
IX0061
臺灣就業 99 指數
就業 99 指數
44.
IX0078
寶島股價指數
寶島指數
臺灣高薪 100 指數
臺灣高薪 100
指數
臺灣證券交易所公
臺灣公司治理
司治理 100 指數
100 指數
45.
IX0080
46.
IX0082
Index Name in
English
Oil, Gas and
Electricity
Other
Trading and
Consumers'
Goods
TWSE RA
Taiwan
Employment
Creation 99
Index
Formosa Index
Abbreviation
in English
Oil/Gas/Elec
Other
Trading
EMP 99
FRMSA
TWSE RAFI
Taiwan High
HC100
Compensation
100 Index
TWSE Corporate
Governance 100
CG100
Index
TWSE
47.
IX0083
臺灣證券交易所電
電子類兩倍槓 Electronics Daily
子類兩倍槓桿指數
桿指數
Return Leveraged
EDRL2
2X Index
TWSE
48.
IX0084
臺灣證券交易所電
電子類反向
Electronics Daily
子類反向指數
指數
Return Inverse
EDRIN
-1X Index
臺灣證券交易所小
49.
IX0088
型股300發行量加權
股價指數
小型股 300 指
TWSE TAIEX
Small-Cap 300
數
SC300
Sub-Index
TIP TAIEX+
50.
IX0091
臺灣指數公司漲升
漲升股利 150
Dividend
股利150指數
指數
Appreciation 150 Index
DVA 150
Index
51.
IX0091
臺灣指數公司漲升
漲升股利 100
97
TIP TAIEX+
DVA 100
Code Index Code
Index Name in
Chinese
股利100指數
Abbreviation
in Chinese
指數
Index Name in
English
Dividend
Abbreviation
in English
Index
Appreciation 100
Index
52.
53.
54.
55.
56.
BC30
INE30
ITE30
LV30
LB100
TIP TAIEX+
臺灣指數公司漲升
漲升股利 100
股利100指數
指數
臺灣指數公司漲升
漲升股利 100
股利100指數
指數
臺灣指數公司漲升
漲升股利 100
TIP TAIEX+ IT
股利100指數
指數
Elite 30 Index
臺灣指數公司漲升
漲升股利 100
股利100指數
指數
臺灣指數公司漲升
漲升股利 100
股利100指數
指數
Blue Chip 30
BC 30 Index
Index
TIP TAIEX+
Industry Elite 30 INE 30 Index
Index
ITE 30 Index
TIP TAIEX+
Low Volatility
LV 30 Index
Select 30 Index
TIP TAIEX+
Low Beta 100
LB 100 Index
Index
TIP TAIEX+
57.
BC30-1
臺灣指數公司漲升
漲升股利 100
股利100指數
指數
Blue Chip 30
Index Daily
Return Inverse
-1X Index x
98
BC30 Inverse
-1 Index
7.
Return Index Code Table
Code
1.
Index Code
Return Index Name in Chinese
發行量加權股價報酬指數
IR0001
2.
IR0002
臺灣 50 報酬指數
臺 50-報
3.
IR0003
臺灣中型 100 報酬指數
中 100-報
4.
IR0004
臺灣資訊科技報酬指數
資科-報
5.
IR0005
臺灣發達報酬指數
發達-報
6.
IR0006
臺灣高股息報酬指數
高股息-報
7.
IR0009
未含金融電子股報酬指數
非金電-報
8.
IR0010
水泥工業
水泥類-報
9.
IR0011
食品工業
食品類-報
10.
IR0012
塑膠工業
塑膠類-報
11.
IR0016
紡織纖維
紡纖類-報
12.
IR0017
電機機械
電機類-報
13.
IR0018
電器電纜
電器纜-報
14.
IR0019
化學生技醫療指數
化學醫-報
15.
IR0020
化學工業
化學類-報
16.
IR0021
生技醫療
生技醫-報
17.
IR0022
玻璃陶瓷
玻璃陶-報
18.
IR0023
造紙工業
造紙類-報
19.
IR0024
鋼鐵工業
鋼鐵類-報
20.
IR0025
橡膠工業
橡膠類-報
21.
IR0026
汽車工業
汽車類-報
22.
IR0027
電子工業指數
電子類-報
23.
IR0028
半導體
半導體-報
24.
IR0029
電腦及週邊設備
電腦週-報
99
Index Abbreviation in Chinese
臺股-報
Code
25.
Index Code
Return Index Name in Chinese
光電類報酬指數
IR0030
26.
IR0031
通信網路類報酬指數
網通類-報
27.
IR0032
電子零組件類報酬指數
電子零-報
28.
IR0033
電子通路類報酬指數
電通路-報
29.
IR0034
資訊服務類報酬指數
資服類-報
30.
IR0035
其他電子類報酬指數
其他電-報
31.
IR0036
建材營造類報酬指數
營建類-報
32.
IR0037
航運類報酬指數
航運類-報
33.
IR0038
觀光事業類報酬指數
觀光類-報
34.
IR0039
金融保險類報酬指數
金保類-報
35.
IR0040
貿易百貨類報酬指數
貿易百-報
36.
IR0041
油電燃氣類報酬指數
油電燃-報
IR0042
其他類報酬指數
37.
Index Abbreviation in Chinese
光電類-報
其他類-報
Other - RI
38.
IR0061
臺灣就業 99 報酬指數
臺灣就業 99-報
39.
IR0078
寶島股價報酬指數
寶島股價-報
40.
IR0080
臺灣高薪 100 報酬指數
臺灣高薪 100-報
臺灣證券交易所公司治理 100 報酬
41.
IR0082
42.
IR0088
43.
IR0091
44.
IR0092
45.
IR0093
46.
IR0094
指數
臺灣證券交易所小型股 300 發行量
加權股價報酬指數
臺灣指數公司漲升股利 150 報酬指
數
臺灣指數公司漲升股利 100 報酬指
數
臺灣指數公司藍籌 30 報酬指數
臺灣指數公司工業菁英 30 報酬指
數
100
臺灣公司治理 100 報酬指數
小型股 300 報酬指數
漲升股利 150 報酬指數
漲升股利 100 報酬指數
藍籌 30 報酬指數
工業菁英 30 報酬指數
Code
47.
Index Code
IR0095
Return Index Name in Chinese
Index Abbreviation in Chinese
臺灣指數公司電子菁英 30 報酬指
電子菁英 30 報酬指數
數
臺灣指數公司低波動精選 30 報酬
48.
IR0096
49.
IR0097
指數
低波動精選 30 報酬指數
臺灣指數公司低貝塔 100 報酬指數 低貝塔 100 報酬指數
101
8. Newly Compiled Taiwan Index Code Table
Index codes are represented by ASCII in length of 6 bytes:
Index Code
Index
Index Code
TW50
Taiwan 50 Index
TWMC
TWIT
TWDP
CG100
Taiwan Information
TWEI
Technology Index
Taiwan Dividend +
EMP99
Index
TWSE Corporate
FRMSA
Governance 100 Index
Taiwan High
HC100
EDRIN
TTDRIN
Index
Taiwan Mid 100
Index
Taiwan Eight
Industries Index
Taiwan Employment
99 Index
FORMOSA Index
TWSE Electronics
Compensation HC 100
EDRL2
Daily Return
Index
Leveraged 2X Index
TWSE Electronics Daily
TAIEX Total Daily
Return Inverse -1X
TTDRL2
Return Leveraged 2X
Index
Index
TAIEX Total Daily
TWSE TAIEX
Return Inversed -1X
SC300
Small-Cap 300
Index
FDRL2
Sub-Index
Finance Leveraged 2X
FDRIN
Index
Finance Inverse-1X
Index
TIP TAIEX+
DVA150
TIP TAIEX+ Dividend
Appreciation 150 Index
DVA100
Dividend
Appreciation 100
Index
BC30
TIP TAIEX+ Blue Chip
INE30
30 Index
TIP TAIEX+ IT Elite 30
ITE30
TIP TAIEX+ Industry
Elite 30 Index
TIP TAIEX+ Low
Index
LV30
Volatility Select 30
Index
102
TIP TAIEX+ Low Beta
TIP TAIEX+ Blue
100 Index
LB100
BC30-1
Chip 30 Index Daily
Return Inverse -1X
Index x
9.
Trading Currency Code Table
Currency Code is presented with ASCII 3 bytes:
Currency
Code
Currency
Code in
Chinese
CNY
JPY
KRW
USD
CAD
GBP
Chinese
Japanese
Korean
US
Canadian
Britsh
Dollar
Dollar
Yuan
Yen
Won
103
Pound
EUR
Euro
SEK
AUD
Swedish
Australian
Crown
Dollar
104
10. TWSE FIX/FAST Message Transmission Table
(1)
The FIX message types initiated by the TWSE end
Message Type
MsgType(tag 35)
Management Message
Message Name
Remarks
A
Logon
Logon Message
0
Heartbeat
Heartbeat Message
3
Reject – Session Level
Session Reject Message
5
Logout
Logout Message
Y
Market Data Request Reject
Resend Reject Message
Application Message
d
Security Definition
f
Security Status
d1: Basic Data of Individual Common Stocks at TWSE
d2: Full Name of Call (Put) Warrant at the TWSE
f: Status of Securities at the TWSE
X1: Real-time Auction Quotes of Common Stocks at the 1st
IP market at the TWSE
X
X2: Real-time Auction Quotes of Common Stocks at the 2nd
Market Data Incremental Refresh
IP market at the TWSE
X3: Information on Fixed-Price Stock Trade at the TWSE
X4: Information on Real-Time Odd Lot Trade at the TWSE
105
WS1: Statistics of Securities Trade at the TWSE at Market
Close (Regular Trade + Fixed-price Trade + Odd Lot Trade)
WS2: Statistics of Securities Trade at the TWSE at Market
Close (Regular Trade + Fixed-price Trade + Odd Lot Trade
+ Broad Lot Trade)
WT1: Statistics of General Trade of Individual Common
Stocks at the TWSE
WT2: Statistics of Fixed-price Trade of Individual Common
Stocks at the TWSE
W
WT3: Statistics of after Close of the Market Trade at the
Market Data Snapshot (Full Refresh)
TWSE
(Regular Trade + Fixed-price Trade + Odd Lot
Trade)
WT4: Statistics of after Close of the Market Trade at the
TWSE
(Regular Trade + Fixed-price Trade + Odd Lot
Trade + Broad Lot Trade)
WI1: Statistics of the TWSE Taiwan Index
WI2: Statistics of the TWSE New Taiwan Index
WI3: The TWSE Return Index
WO1: Statistics of General Consignment Trade at the
TWSE
106
WO2: Statistics of Fixed-price Consignment Trade at the
TWSE
B1: The TWSE General Announcement
B
B2: The TWSE Dealer Hedge Accounts Consignment Trade
News
Announcement
B3: The TWSE Emergency Announcement
(2)
The FIX message types initiated by user end
Message Type
Message Name
MsgType(tag 35)
Remarks
Management Message
A
Logon
Logon Message
5
Logout
Logout Message
V
Market Data Request
Replay Request Message
BE
Password change
Password Change Message
107
(3)
TWSE end Application Message Transmission Time and Channel Table
DAP-RT System OperationTime: 0730-1730 :
DAP-RB System Operation Time: 0800-1800 :
ID
d1
d2
f1
X1
X2
X3
X4
0900
0900
1430
1425
|
|
|
|
|
|
1700
1330
1330
1430
1330
3
1
2
3
3
3
3
3
3
3
0900
0900
1430
1425
1440
1705
0900
1430
|
|
|
|
|
|
|
1800
1800
1800
1800
1800
1800
1
2
3
3
3
3
0800 1430 0800
Real-time
Transmission
Time
Channel
3
3
0800 1430 0800
Time
Replay
|
|
|
1800 1800 1800
Channel
3
3
3
WS1
1440
WS2
1705
WT1
0900
WT2
1440
WT4
1705
WI1
0900
WI2
WI3
0900 1440
WO1
WO2
0900
1400
|
|
|
1330
1330
1330
1430
3
3
3
3
3
1440
1705
0900
0900
1400
|
|
|
|
|
|
1800
1800
1800
1800
1800
1800
1800
3
3
3
3
3
3
3
108
1430
WT3
3
0900 1440
|
|
1800 1800
3
3
B1
B2
B3
0800 0800 0800
|
|
|
1700 1700 1700
3
3
3
0800 0800 0800
|
|
|
1800 1800 1800
3
3
3
© Copyright 2026 Paperzz