BTS2 FIX Certification Version 1.12 Page 1 of 34 BTS2 FIX Certification Pack Version 1.12 10 October, 2019
BTS2 FIX Certification Version 1.12
Page 1 of 34
BTS2 FIX Certification Pack
Version 1.12
10 October, 2019
BTS2 FIX Certification Version 1.12
Page 2 of 34
Document Revision
Version Author Description of Version Date Completed
1.01 Ong Kian Wah This document describes the BURSA BTS2 FIX Certification for Module A,B and C 15 April, 2013
1.02 Ong Kian Wah Updated : Module A, B and C
Added : Module D
15 May, 2013
1.03 Ong Kian Wah Module E and F
E1.01 : Limit-Day Orders with Minimum Quantity would be available in next release(17/06/2013).
31 May, 2013
1.04 Ong Kian Wah Updated : Module E
E1.01 : Limit-Day Orders with MinQTY is supported on this release.
04 June, 2013
1.05 Ong Kian Wah Added : A4.08
Updated : Module F
F1 – Single Quote per security
F2 – Multiple Quotes per security
F3 – Multiple Quotes with different security
07 June, 2013
1.06 Ong Kian Wah Removed : A4.06 (replaces with A4.08)
Updated : A4.01(optional)
Updated : Module D
26 June, 2013
1.07 Ong Kian Wah Removed : D1.05
Updated : Module D – Only Seller can initiate DBT
05 October, 2013
1.08 Ong Kian Wah Added : Module E.E4
Added : Module G
01 August, 2014
1.09 Ong Kian Wah Added : Module G4(GTC) 01 October, 2017
BTS2 FIX Certification Version 1.12
Page 3 of 34
1.10 Ong Kian Wah Updated : Move A1.04 to E.E5(RSS)
Updated : Move A1.05 to E.E6(PDT)
Added : Module E.E7(IDSS)
05 February, 2018
1.11 Ong Kian Wah Added : Module E.E8(LOC/MOC) (Self-certification)
Added : Module E.E9(LOO/MOO) (Self-certification)
Added : Module E.E10(Iceberg) (Self-certification)
Added : Module E.E11(OCO) (Self-certification)
10 December, 2018
1.12 Ong Kian Wah Updated : Module A, C and G mandatory effective 29 September 2019
Added : Module E.E12(PSS)
Updated : Module F support PSS
10 October. 2019
BTS2 FIX Certification Version 1.12
Page 4 of 34
Table of Contents
1. Introduction ......................................................................................................................................................... 5
2. Session Management .......................................................................................................................................... 6
3. Order Management ............................................................................................................................................. 7
3.1 Module A : Basic Trading ................................................................................................................................ 9
3.2 Module B : On-Market Married Transaction .................................................................................................. 12
3.3 Module C : Client Amendment ....................................................................................................................... 13
3.4 Module D : Direct Business Transaction ........................................................................................................ 14
3.5 Module E : Advance Trading .......................................................................................................................... 16
3.6 Module F : Market Maker ............................................................................................................................... 29
3.7 Module G : GTD/GTC Order ......................................................................................................................... 32
BTS2 FIX Certification Version 1.12
Page 5 of 34
1. Introduction
Audience and Purpose
The purpose of this document is to provide test cases and other necessary details to customers for successful completion of the BTS2 FIX certification. This FIX Certification Test Cases Guide is intended to cover a range of functional elements for participant organisations and independent software vendors to certify their application in interfacing with the exchange BTS2 FIX gateway, based on the Financial Information eXchange (FIX) Protocol. The test cases are designed to ensure that a robust platform is in operation between participants and the exchange.
Instruments Used in Certification Instruments to be used in certification will be provided by Exchange on the certification date.
Testing Arrangements Prior to undertaking Certification, all participants are required to complete the connectivity setup to the Certification environment. Please
refer to the network connection guide document “FIX Certification Environment VPN Connection Guide” at www.bursamalyasia.com\bts2.
Related Documentation
FIX Certification Environment VPN Connection Guide
BTS2-Onboarding To Certification Environment Guidelines
BTS2 FIX Specification–Order Management
BTS2 FIX Certification Test Log
BTS2 FIX Certification Version 1.12
Page 6 of 34
2. Session Management
The Session Management Test assesses the ability to establish a connection and login. The Session Management Test forms the initial phase of the Certifications Tests. Connection to the system must be maintained throughout the full testing schedule. A failure to maintain connection at any point during the Certification Tests will constitute a failure of the Certification Test. Please note that if at any point, a heartbeat message is not received after the heartbeatInterval periods have elapsed, the Customer Test environment will logoff the user and disconnect the session. This will also constitute a failure of the Certification Test. The FIX Session Management is prerequisites prior to the Order Management Certification.
Logon(A)
Logout(5)
Reject(3)
Resend Request(2)
Sequence Reset (Gap Fill)(4)
Test Request(1)
Heartbeat(0)
Important Note: Prior to booking for Certification Tests, all participants are required to complete the FIX Session Management and submit the logs to Exchange.
BTS2 FIX Certification Version 1.12
Page 7 of 34
3. Order Management
The Order Management test cases cover all order types supported by Exchange against the exchange rules and requirement. The Order Management Certification package consists of several module parts;
Module Description
A. Basic Trading
[Mandatory effective 29
September 2019]
Normal, Odd-Lot & Buy-In Market Segment
Limit and Market Order Types
Day and FAK(IOC) Validities
Order Restrictions Tagging
B. On-Market Married Transaction Cross Orders in Normal Market Segment
C. Client Amendment
[Mandatory effective 29
September 2019]
CDS Account Amendment at Order Level
D. Direct Business Transactions Trade Capture Report(DBT)
E. Advance Trading Other Order Types & Validities
Minimum Quantity
RSS, PDT and IDSS
Market-On-Close(MOC)/Limit-On-Close(LOC)
Market-On-Open(MOO)/Limit-On-Open(LOO)
Iceberg
One-Cancel-Other(OCO)
PSS
F. Market Maker Mass Quote
Support PSS(537=100 or 101)
Implementation and usage of the
trading features are subject to
current and future Bursa
Malaysia Securities rules and
regulations, Trading Manual for
participant organisations and all
other relevant directives.
BTS2 FIX Certification Version 1.12
Page 8 of 34
G. GTD/GTC Order
[Mandatory effective 29
September 2019]
Good-till-Date
Good-till-Cancelled
Unless specified in the test case, the following market states apply:
Trading session is in Continuous Trading;
Instruments are in Authorized/Open mode;
BTS2 FIX Certification Version 1.12
Page 9 of 34
3.1 Module A : Basic Trading
No Test Case External Input Exchange Input Expected Results
A1 Normal Market[762=NM] Instrument = INST1
01 Limit-Day Order
01.Send Buy Order(Qty=5000)
04.Send Order Modification on Price
02. Send Sell Order(Qty=2000)
05. Send Sell Order(Qty=3000)
03.Partially Matched(Qty=2000)
06.Fully Matched(Qty=3000)
02
Limit-Day Order
01.Send Sell Order(Qty=6000)
04.Send Order Cancellation
02.Send Buy Order(Qty=1200)
03.Partially Matched(Qty=1200)
05.Remaining order qty cancelled
03
Limit-Day Order
01.Send Buy Order(Qty=7000)
04.Send Order Modification(Qty remaining=1000)
07.Send Order Modification(Qty remaining=1000)
10.Send Order Status Request(Optional)
11.Send Order Cancellation
02.Send Sell Order(Qty=2500)
05.Send Sell Order(Qty=500)
08.Send Sell Order(Qty=500)
03.Partially Matched(Qty=2500)
06.Partially Matched(Qty=500)
09.Partially Matched(Qty=500)
12.Remaining order qty cancelled
04 Limit-Day Sell Order, RSS*
(54=5)
01.Send RSS Order(Qty=8000)
04.Send Order Modification(Qty remaining=2000)
07.Send Order Cancellation
02.Send Buy Order(Qty=5000)
05.Send Buy Order(Qty=1000)
03.Partially Matched(Qty=5000)
06.Partially Matched(Qty=1000)
08.Remaining order qty cancelled
05 Limit-Day Sell Order, PDT
(54=6)
01.Send PDT Order(Qty=9000)
04.Send Order Cancellation
02.Send Buy order(Qty=5000) 03.Partially Matched(Qty=5000)
05.Remaining order qty cancelled
06 Limit-FAK Order
03.Send Sell Order(Qty=10000)
01.Send Buy Order(Qty=2000)
02.Send Buy Order(Qty=3000)
04.Partially Matched(Qty=5000)
05.Remaining order qty expired
07 Market-FAK Order 01.Send Sell Order(Qty=8000) 02.Order rejected by system
08
Market-FAK Order
02.Send Sell Order(Qty=9000)
01.Send Buy Order(Qty=6500)
03.Partially Matched(Qty=6500)
04.Remaining order qty expired
09 Market-FAK Order
02.Send Buy Order(Qty=10000)
01.Send Sell Order(Qty=10000)
03.Full Matched(Qty=10000)
BTS2 FIX Certification Version 1.12
Page 10 of 34
No Test Case External Input Exchange Input Expected Results
10 Market-Day Order
03.Send Sell Order(Qty=10000)
06.Send Order Cancellation
01.Send Buy Order(Qty=2000)
02.Send Buy Order(Qty=3000)
04.Partially Matched(Qty=5000)
05.Remaining order qty convert to Limit
A2 Odd-Lot Market[762=OD] Instrument = INST1
01 Odd-Lot Limit-Day Order
01.Send Buy Order(Qty=88)
04.Send Order Modification on Price
02.Send Sell Order(Qty=55)
05.Send Sell Order(Qty=33)
03.Partially Matched(Qty=55)
06.Fully Matched(Qty=33)
02 Odd-Lot Limit-Day Order
01.Send Sell Order(Qty=77)
04.Send Order Cancellation
02. Send Buy Order(Qty=66) 03.Partially Matched(Qty=66)
05.Remaining order qty cancelled
A3 Buy-In Market[762=BI] Instrument = INST2, INST3
01 Buy-In Market-FAK Order
02.Send Sell Buy-In Order(Qty=1500)
01.INST2 Buy-In Board(Qty=1000)
03.Partially Matched(Qty=1000)
04.Remaining order qty cancelled
02 Buy-In Market-FAK Order
02.Send Sell Buy-In Order(Qty=2000)
01.INST3 Buy-In Board(Qty=2000)
03.Fully Matched(Qty=2000)
A4 Other[Normal Market] Instrument = INST4
01 Order Mass Action Request
[optional] by Client
01. Send FIVE Sell LIMIT Order(Qty=1000)
02. Send Order Mass Action Request
03.All Order Cancelled
02 Unsolicited Order Cancellation by
Exchange
01.Send Buy LIMIT Order(Qty=2000)
04.Send Sell LIMIT Order(Qty=3000)
02.Cancel Single Order
05.Send Buy Order(Qty=2000)
07.Cancel Single Order
03.Order cancelled
06.Partially Matched(Qty=2000)
08.Remaining order qty cancelled
03 Unsolicited Mass Order
Cancellation by Exchange
01.Send FIVE Buy LIMIT Order(Qty=4000) 02.Cancel Orders by FIX User ID 03.All Order Cancelled
04 Unsolicited Trade Cancellation by
Exchange
01.Send Buy Limit Order(Qty=5000) 02.Send Sell Order(Qty=5000)
04.Cancel Trade
03.Fully Matched(Qty=5000)
05.Trade cancelled(Qty=5000)
05 Unsolicited Trade Cancellation by 01.Send Buy Limit Order(Qty=6000) 02.Send Sell Order(Qty=3000) 03.Partially Matched(Qty=3000)
BTS2 FIX Certification Version 1.12
Page 11 of 34
No Test Case External Input Exchange Input Expected Results
Exchange
08.Send Order Cancellation
04.Send Sell Order(Qty=2000)
06.Cancel 1st Trade(Qty=3000)
05.Partially Matched(Qty=2000)
07.Trade Cancelled(Qty=3000)
09.Remaining order qty cancelled
06 Order Created by Exchange
05.Send Order Cancellation(by OrderID)
01.Create Buy Order behalf(Qty=7000)
03.Send Sell Order(Qty=5000)
02.Order Received by External
04.Partially Matched(Qty=5000)
06.Remaining order qty cancelled
07 Order Restrictions Tagging
01.Send Limit Order with 529 with value below:
9 – ASEAN Link
E – Algorithmic
I – Internet
M – DMA
R – Broker Assisted
08 Order Created by Exchange in Buy-
In Board
Eg, Auto or Manual Buy-In by the
Exchanged due to fail trade.
Note: The Exchange will submit a
GTC or GTD Market Buy-In Buy
Order on behalf of Defaulter.
01.Create Buy-In BUY order on behalf
(GTC order, Qty=8000)
03.Send Sell Order(Qty=2000)
05.Send Sell Order(Qty=4000)
08. Create Buy-In BUY order on behalf
(GTD order, Qty=9000)
10.Send Sell Order(Qty=6000)
02.Order Received by Defaulter
04.Trade Received by Defaulter
06.Trade Received by Defaulter
07.Order remain in book until cancel*
09.Order Received by Defaulter
11.Trade Received by Defaulter
12.Order remain in book until expired*
*This is to inform that any GTC/GTD
unmatched order will carry forward to
next day until it cancelled or expired.
BTS2 FIX Certification Version 1.12
Page 12 of 34
3.2 Module B : On-Market Married Transaction
No Test Case External Input Exchange Input Expected Results
B1 Normal Market[762=NM] Instrument = INST1
01 OMMT/Cross Order
01.Send OMMT Order(Qty=1000)
02.Fully Matched(Qty=1000)
02 OMMT/Cross Order
-Rejected
01.Send OMMT Order(Qty=2000) with invalid
price
02.Order rejected with 2 execution
report
BTS2 FIX Certification Version 1.12
Page 13 of 34
3.3 Module C : Client Amendment
No Test Case External Input Exchange Input Expected Results
C1 Normal Market[762=NM] Instrument = INST1
01 Client Amendment on without
matched order
01.Send Buy Limit-Day Order(Qty=2500)
02.Send Client Amendment
04.Send Order Cancellation
03.Client Amendment rejected
05.Remaining order qty cancelled
02 Client Amendment on Fully
matched order
01.Send Buy Limit-Day Order(Qty=3500)
06.Send Client Amendment
02.Send Sell Order(Qty=2000)
04.Send Sell Order(Qty=1500)
03.Partially Matched(Qty=2000)
05.Fully Matched(Qty=1500)
03 Client Amendment on Partially
matched order
01.Send Buy Limit-Day Order(Qty=4500)
04.Send Client Amendment
07.Send Order Modification on Price
08.Send Order Cancellation
02.Send Sell Order(Qty=2000)
05.Send Sell Order(Qty=1500)
03.Partially Matched(Qty=2000)
06.Partially Matched(Qty=1500)
09.Remaining order qty cancelled
04 Double Client Amendment 01.Send Buy Limit-Day Order(qty=5500)
04.Send Order Modification on Price
05.Send 1st Client Amendment(Account A to B)
06.Send Order Modification on Qty(qty=6000)
*Qty remaining=4000
09.Send 2nd Client Amendment(Account B to C)
02.Send Sell Order(Qty=2000)
07.Send Sell Order(Qty=3000)
10.Send Sell Order(Qty=1000)
03.Partially Matched(Qty=2000)
08.Partially Matched(Qty=3000)
11.Fully Matched(Qty=1000)
05 Client Amendment after market
closed
01.Send Buy Limit-Day Order(Qty=6500)
04.Send Order Cancellation
06.Send Client Amendment after market closed
02.Send Sell Order(Qty=2000)
03.Partially Matched(Qty=2000)
05.Remaining order qty cancelled
BTS2 FIX Certification Version 1.12
Page 14 of 34
3.4 Module D : Direct Business Transaction
No
Test Case
External Input
Exchange Input Expected Results
D1 Inter-Broker Broker X(eg, 0024501)
Dealer A(eg, X001)
Broker Y(eg, 0087501)
Dealer B(eg, Y001)
01 TradeCaptureReportRequest(AD) 01.Subscribe for TradeCaptureReport(263=1)
02.TradeCaptureReportRequest Ack
02 TradeCaptureReport -Accept the order
01.Send SELL DBT Order(Qty=10001) 05.Accept the order
02.Accept the order 04.Send SELL DBT Order(Qty=10002)
03.Fully Matched(Qty=10001) 06.Fully Matched(Qty=10002)
03 TradeCaptureReport -Withdraw the order
01.Send SELL DBT Order(Qty=20001) 02.Withdraw the SELL DBT Order
04.Send SELL DBT Order(Qty=20002) 05.Withdraw the Sell DBT Order
03.TradeCaptureReport - Cancel 06.TradeCaptureReport – Cancel
04 TradeCaptureReport -Decline the order
01.Send SELL DBT Order(Qty=30001)
05.Decline the order
02.Decline the order 04.Send SELL DBT Order(Qty=30002)
03.TradeCaptureReport - Decline
06.TradeCaptureReport - Decline
05 TradeCaptureReport -Time out
01.Send Buy DBT Order(Qty=40001)
03.Send Buy DBT Order(Qty=40002)
02.TradeCaptureReport - Cancel 04.TradeCaptureReport – Cancel
06 TradeCaptureReport -Trade cancellation accepted
01.Send SELL DBT Order(Qty=138000) 04.Send Trade Cancellation request 09.Accept the order 13.Accept Trade Cancellation request
02.Accept the order 06.Accept Trade cancellation request 08.Send SELL DBT Order(Qty=148000) 11.Send Trade Cancellation request
03.Fully Matched(Qty=138000) 05.Trade Pending Cancel 07.Trade Cancelled 10.Fully Matched(Qty=148000) 12.Trade Pending Cancel 14.Trade Cancelled
07 TradeCaptureReport
-Trade cancellation Declined
01.Send SELL DBT Order(Qty=238000)
04.Send Trade Cancellation request 09.Accept the order 13.Decline Trade Cancellation request
02.Accept the order
06.Decline Trade cancellation request 08.Send SELL DBT Order(Qty=248000) 11.Send Trade Cancellation request
03.Fully Matched(Qty=238000)
05.Trade Pending Cancel 07.TradeAmend Ack 10.Fully Matched(Qty=248000) 12.Trade Pending Cancel 14.TradeAmend Ack
BTS2 FIX Certification Version 1.12
Page 15 of 34
D2 Intra-Broker Member X(eg, 0024501)
Dealer A(eg, X001)
Member Y(eg, 0024502)
Dealer B(eg, X002)
01 TradeCaptureReport -Accept the order
01.Send SELL DBT Order(Qty=10000) 05.Accept the order
02.Accept the order 04.Send SELL DBT Order(Qty=20000)
03.Fully Matched(Qty=10000) 06.Fully Matched(Qty=20000)
02 TradeCaptureReport -Trade cancellation
01.Send SELL DBT Order(Qty=30000) 04.Send Trade Cancellation request
07.Accept the order 09.Send Trade Cancellation request
02.Accept the order 06.Send SELL DBT Order(Qty=40000)
03.Fully Matched(Qty=30000) 05.Trade Cancelled
08.Fully Matched(Qty=40000) 10.Trade Cancelled
D3 Intra-Broker
Crossing Trade
Member X(eg, 0024501)
Dealer A(eg, X001), Dealer B(eg, X002)
01 TradeCaptureReport -Crossing Trade
01.Send Crossing Trade(Qty=338000)
02.Fully Matched(Qty=338000)
02 TradeCaptureReport -Trade cancellation
01.Send Trade Cancellation(D3.01) request
02.Trade Cancelled
03 TradeCaptureReportRequest(AD) 01.Unsubscribe for TradeCaptureReport(263=2)
02.No TradeCaptureReportRequest Ack
BTS2 FIX Certification Version 1.12
Page 16 of 34
3.5 Module E : Advance Trading
Buy Qty Buy Price Sell Price Sell Qty 200 19.00(B1) 19.10(S1) 100
400 18.90(B2) 19.20(S2) 300
600 18.80(B3) 19.30(S3) 500
800 18.70(B4) 19.40(S4) 700
1000 18.60(B5) 19.50(S5) 900
# Exchange Reference table for series of buy and sell orders. # Best Buy Price (B1-B5) and Best Sell Price (S1-S5) will provided by Exchange.
No
Test Case
External Input
Exchange Input Expected Results
E1
MinQty Instrument = INST1
01 Limit-Day Orders with Minimum
Quantity
Market-Day Orders with Minimum Quantity
02.Send Buy Limit-Day Order (Qty=300@S1,MinQty=200) 04.Send Buy Limit-Day Order (Qty=300@S1,MinQty=100) 07.Send Order Modification on qty (Qty remaining=500, MinQty=100) 10.Send Sell Market-Day Order (Qty=3500,MinQty=3500) 12.Send Sell Market-Day Order (Qty=3500,MinQty=3000)
01.Send a series of buy and sell orders
08.Send Sell Order(Qty=500@S1)
03. Order expired, MinQty is not met
05.Partially matched(Qty=100) 06.Remaining order(Qty=200) 09.Fully matched(Qty=500) 11.Order expired, MinQty is not met 13.Fully matched(qty=3000) 14.Remaining order qty convert to Limit
(Qty=500@B5)
02 Limit-FAK Orders with Minimum
Quantity Market-FAK Orders with Minimum Quantity
02.Send Buy Limit-FAK Order (Qty=300@S1,MinQty=200) 04.Send Buy Limit-FAK Order (Qty=300@S1,MinQty=100) 07.Send Sell Market-FAK Order (Qty=3500,MinQty=3500) 09.Send Sell Market-FAK Order (Qty=3500,MinQty=3000)
01.Send a series of buy and sell orders
03. Order expired, MinQty is not met 05.Partially matched(Qty=100) 06.Remaining order expired(Qty=200) 08.Order expired, MinQty is not met 10.Fully matched(qty=3000) 11.Remaining order expired(qty=500)
BTS2 FIX Certification Version 1.12
Page 17 of 34
E2
Market At Best Instrument = INST2
01 Market At Best(MAB)-Day Orders 02.Send Sell MAB-Day Order(Qty=300) 05.Send Order Modification(Qty remaining=500)
01. Send a series of buy and sell orders 06.Send Buy Order(Qty=500@B1)
03.Partially matched(Qty=200) 04.Remaining order qty convert to Limit
(Qty=100@B1) 07.Fully matched(Qty=500)
02 Market At Best(MAB)-FAK Orders 01.Send Buy MAB-FAK Order(Qty=300)
02.Partially matched(Qty=100) 03.Remaining order expired
E3
Stop Orders Instrument = INST3
01 Stop Limit Orders
TriggerPriceType=LastTrade(2) TriggerPriceDirection=Up
Note: LastDonePrice < TrigerPrice
02.Send Buy Stop Limit-Day order (Qty=200,Order Price=19.20,TriggerPrice=19.08) 04.Send Order Modification on TriggerPrice (Trigger Price=19.10)
05.Send Order Modification on Order Price (Order Price=19.10) 09.Send Order Modification on Qty(Qty=500) 12.Send Order Cancellation
01. Send a series of buy and sell orders
06.Send Buy Order([email protected]) 10.Send Sell Order([email protected])
03.Order with trigger in the book but no active(150=0,39=X)
07.Fully matched(qty=100) 08.Stop order is triggered but no matched(150=5,39=0) 11.Partially matched(qty=300) 13.Remaining order qty cancelled
02 Stop/Stop Loss Orders TriggerPriceType=LastTrade(2) TriggerPriceDirection=Down Note: LastDonePrice > TrigerPrice
01.Send Sell Stop Loss-Day order (Qty=3500,Trigger Price=19.00)
03.Send Sell Order([email protected])
02.Order with trigger in the book but no active(150=0,39=X) 04.Fully matched(qty=100) 05.Stop order is triggered(150=5,39=0) 06.Partially matched(qty=2800)
07.Remaining order qty convert to Limit
(Qty=700@B5)
BTS2 FIX Certification Version 1.12
Page 18 of 34
E4
Fill or Kill Orders Instrument = INST4
01 Limit-FOK Order
02.Send Sell Order(Qty=2000)
04.Send Sell Order(Qty=1000)
01.Send Buy Order(Qty=1000)
03.Order expired
05.Fully Matched(Qty=1000)
02 Market-FOK Order
02.Send Buy Order(Qty=2000)
01.Send Sell Order(Qty=2000)
03.Fully Matched(Qty=2000)
E5
RSS Instrument = INST5(RSS)
01 Limit-Day Sell Order, RSS
(54=5)
01.Send RSS Order(Qty=8000)*Revised 1
04.Send Order Modification(Qty remaining=2000)
07.Send Order Cancellation
02.Send Buy Order(Qty=5000)
05.Send Buy Order(Qty=1000)
03.Partially Matched(Qty=5000)
06.Partially Matched(Qty=1000)
08.Remaining order qty cancelled
E6
PDT Instrument = INST6(PDT)
01 Limit-Day Sell Order, PDT
(54=6)
01.Send PDT Order(Qty=9000)
04.Send Order Cancellation
02.Send Buy order(Qty=5000) 03.Partially Matched(Qty=5000)
05.Remaining order qty cancelled
E7
IDSS Instrument = INST7(IDSS)
01
Limit-Day Sell Order, IDSS
(54=I)
01.Send IDSS Order(Qty=10000)
04.Send Order Modification(Qty remaining=2000)
07.Send Order Cancellation
02.Send Buy Order(Qty=5000)
05.Send Buy Order(Qty=1000)
03.Partially Matched(Qty=5000)
06.Partially Matched(Qty=1000)
08.Remaining order qty cancelled
Amend limit to Limit-FOK or Market-FOK is not allowed. FOK EFFECTIVELY MinQty=OrderQty, since MinQty is not allowed in order amendment.
Revised 1 : Revised of RSS rules where RSS orders can only be entered at a price or above the best prevailing sell price.
BTS2 FIX Certification Version 1.12
Page 19 of 34
E8
LOC/MOC (Self-certification)
01
LOC - BUY Order
(59=7)
ON-CLOSE orders can be
submitted ONLY before the
Pre-Closing phase, i.e. Pre-
Opening and Continuous
Trading phases.
01. Send a series of buy and sell orders below BEFORE pre-closing phase * you can select any instrument & price but remain the qty as below.
Instrument A
Buy Qty Buy Price Sell Price Sell Qty 2000 1.99(B1) 2.00(S1) 1000
4000 1.98(B2) 2.01(S2) 3000
3000 1.97(B3) 2.03(S3) 1500
02. Send LOC-Buy Order (Qty=3000, Price=2.01 or S2*) BEFORE pre-closing phase
* If you select different instrument & price, LOC order price equal to your S2 price level.
03. Verify the LOC(triggered) and order book at start of the pre-closing
Buy Qty Buy Price Sell Price Sell Qty 3000 2.01(LOC) 2.00 1000
2000 1.99 2.01 3000
4000 1.98 2.03 1500
3000 1.97
04. Verify the LOC(matching) and order book at closing
Buy Qty Buy Price Sell Price Sell Qty 2000 1.99 2.01 1000
4000 1.98 2.03 1500
3000 1.97
When triggered, Limit-On-Close(LOC) orders will be converted to LIMIT orders with SESSION(59=S) as validity and if
they are not fully matched at Closing, they will be expired automatically.
In addition, triggered LOC orders are checked against Last Price Limits and Static Price Limits.
BTS2 FIX Certification Version 1.12
Page 20 of 34
02 MOC - BUY Order
(59=7)
01. Send a series of buy and sell orders below BEFORE pre-closing phase * you can select any instrument & price but remain the qty as below.
Instrument B
Buy Qty Buy Price Sell Price Sell Qty 2000 1.99 2.00 1000
4000 1.98 2.01 3000
3000 1.97 2.03 1500
02. Send MOC-Day Buy Order (Qty=5000) BEFORE pre-closing phase
03. Verify the MOC(triggered) and order book at start of the pre-closing
Buy Qty Buy Price Sell Price Sell Qty 5000 (MOC) 2.00 1000
2000 1.99 2.01 3000
4000 1.98 2.03 1500
3000 1.97
04. Verify the MOC(matching) and order book at closing
Buy Qty Buy Price Sell Price Sell Qty 2000 1.99 2.03 500
4000 1.98
3000 1.97
When triggered, Market-On-Close(MOC) orders will be converted to MARKET orders with SESSION(59=S) as validity and
if they are not fully matched at Closing, they will be expired automatically.
The different between MOC and Normal Market Order(40=1) orders with DAY(59=0) as validity.
Normal Market Order will be carry into next trading phase(i.e TAL), if they are not fully matched.
BTS2 FIX Certification Version 1.12
Page 21 of 34
E9
LOO/MOO (Self-certification)
01
LOO - BUY Order
(59=2)
ON-OPEN orders can be
submitted ONLY during the
first Pre-Opening
phase(POP1), i.e. 8:30-
9:00AM.
01. Send a series of buy and sell orders below ON first pre-opening phase * you can select any instrument & price but remain the qty/TOV as below.
Instrument A(TOP=2.01, TOV=3000)
Buy Qty Buy Price Sell Price Sell Qty 1000 2.03(S3) 2.00(S1) 2000
2000 2.02(B2) 2.01(S2) 3000
1500 1.99(B3) 2.03(S3) 1000
02. Send LOO- Buy Order (Qty=3500, Price=2.03 or S3*) ON first pre-opening phase
* If you select different instrument & price, LOO order price equal to your S3 price level.
03. Verify the LOO(triggered) and order book at start of the opening
Post-Opening(OP=2.01)
Buy Qty Buy Price Sell Price Sell Qty 1500 1.99 2.01 2000
2.03 1000
04. Verify the LOO(matching) and order book at continuous-trading
Continuous-Trading
Buy Qty Buy Price Sell Price Sell Qty 500 2.03(LOO)
1500 1.99
05. Verify the LOO(Expired) at end of this phase
When triggered, Limit-On-Open(LOO) orders will be converted to LIMIT orders with SESSION(59=S) as validity and
partially matched orders will be carry into Continuous Trading(CNT1) phase.
On-Open orders carried into Continuous Trading phase will EXPIRED at the end of this CNT1 phase, i.e 12:30pm.
In addition, triggered LOO orders are checked against Dynamic Price Limits and Static Price Limits.
BTS2 FIX Certification Version 1.12
Page 22 of 34
02 MOO - BUY Order
(59=2)
01. Send a series of buy and sell orders below ON first pre-opening phase * you can select any instrument & price but remain the qty/TOV as below.
Instrument B(TOP=2.01, TOV=3000)
Buy Qty Buy Price Sell Price Sell Qty 1000 2.03(S3) 2.00(S1) 2000
2000 2.02(B2) 2.01(S2) 3000
1500 1.99(B3) 2.03(S3) 1000
02. Send MOO- Buy Order (Qty=3500) ON first pre-opening phase
03. Verify the MOO(triggered) and order book at start of the opening
Post-Opening(OP=2.01)
Buy Qty Buy Price Sell Price Sell Qty 1500 1.99 2.01 2000
2.03 1000
04. Verify the MOO(matching) and order book at continuous-trading
Continuous-Trading
Buy Qty Buy Price Sell Price Sell Qty 1500 2.01(MOO) 2.03 1000
1500 1.99
05. Verify the MOO(Expired) at end of this phase
When triggered, Market-On-Open(MOO) orders will only match at Opening Price(OP) and orders will be expired if cannot
matched.
Partially matched orders will be converted to LIMIT orders with limit price as Opening Price with SESSION(59=S) as
validity and will be carry into Continuous Trading(CNT1) phase.
On-Open orders carried into Continuous Trading phase will EXPIRED at the end of this CNT1 phase, i.e 12:30pm.
**Any order amendment on partially matched order will change the validity from Session(59=S) to Day(59=0). Only
59=0 is supported for inbound at this moment. Day orders will be expired at the end of market closed, i.e 17:30pm.
BTS2 FIX Certification Version 1.12
Page 23 of 34
E10
Iceberg (Self-certification)
01
Iceberg Order
LIMIT-DAY-SELL
An Iceberg order has 2
quantities:
-Order Quantity(38)
-Visible Quantity(1138)
Maximum Order Quantity is
still 500,000 and minimum
Visible Quantity is 10% of
Order Quantity.
01. Send Iceberg-LIMIT-DAY Sell order(Qty=20,000, Price=2.00 or S1, Visible Qty=5,000)
* you can select any instrument & price but remain the qty as above.
Instrument A
Buy Qty Buy Price Sell Price Sell Qty 2.00(S1) 5,000
02. Send NORMAL-LIMIT-DAY Sell order(Qty=10,000, Price=2.00 or S1)
* If you select different instrument & price, order price equal to your S1 price level.
Continuous-Trading
Buy Qty Buy Price Sell Price Sell Qty 2.00(S1) 15,000
03. Send NORMAL-LIMIT-DAY Buy order(Qty=18,000, Price=2.00 or S1)
* If you select different instrument & price, order price equal to your S1 price level.
04. Verify the order book and matching sequence
Continuous-Trading
Buy Qty Buy Price Sell Price Sell Qty 2.00(S1) 2,000
MatchSeq# Order OrderQty MatchQty BalanceQty MarketQty 1 Iceberg 20,000 5,000 15,000 5,000
2 Normal Sell(02) 10,000 10,000 0 0
3 Iceberg 20,000 3,000 12,000 2,000
Each time the Visible Quantity(i.e 5,000) is FULLY matched, it be replenished until the total Order Quantity is FULLY
matched.
Each time the Visible Quantity is replenished, the order will lose its priority and gain a new one based on the latest
replenishment's date and time.
BTS2 FIX Certification Version 1.12
Page 24 of 34
02 Continue from E10.01
Continuous-Trading
Buy Qty Buy Price Sell Price Sell Qty 2.00(S1) 2,000
05. Send NORMAL-LIMIT-DAY Sell order(Qty=5,000, Price=2.01 or S2)
* If you select different instrument & price, order price equal to your S2 price level.
Continuous-Trading
Buy Qty Buy Price Sell Price Sell Qty 2.00(S1) 2,000
2.01(S2) 5,000
06. Send NORMAL-LIMIT-DAY Buy order(Qty=15,000, Price=2.01 or S2)
* If you select different instrument & price, order price equal to your S2 price level.
07. Verify the order book and matching sequence
Continuous-Trading
Buy Qty Buy Price Sell Price Sell Qty 2.01(S2) 2,000
MatchSeq# Order OrderQty MatchQty BalanceQty MarketQty 1 Iceberg 20,000 5,000 15,000 5,000
2 Normal Sell(02) 10,000 10,000 0 0
3 Iceberg 20,000 3,000 12,000 2,000
4 Iceberg 20,000 2,000 10,000 5,000
5 Iceberg 20,000 5,000 5,000 5,000
6 Iceberg 20,000 5,000 0 0
7 Normal Sell(05) 5,000 3,000 2,000 2,000
The entire Order Quantity(i.e 20,000) of an Iceberg order will have priority to match first before next price(i.e. S2).
BTS2 FIX Certification Version 1.12
Page 25 of 34
E11
OCO (Self-certification)
01
One-Cancel-Other Order
OCO consist of TWO orders
linked together:
- One LIMIT order
- One STOP order
Prerequisite: must complete the Module E3(Stop Orders)
01. Send a series of buy and sell orders below * you can select any instrument & price but remain the qty as below.
Instrument A
Buy Qty Buy Price Sell Price Sell Qty 2000 1.99(B1) 2.00(S1) 1000
4000 1.98(B2) 2.01(S2) 3000
3000 1.97(B3) 2.03(S3) 1500
With condition: LastDonePrice > TrigerPrice, i.e LDP = 2.00
02. Send a OCO order with following requirement:
- LIMIT-DAY Sell order(Qty=5,000, Price=2.01 or S2)
- STOP-LIMIT-DAY Sell order(Qty=5,000, Price=1.99 or B1, trigger price=1.99 or B1, TriggerPriceType=LastTrade(2) TriggerPriceDirection=Down)
Instrument A
Buy Qty Buy Price Sell Price Sell Qty 2000 1.99(B1) 2.00(S1) 1000
4000 1.98(B2) 2.01(S2) 8000
3000 1.97(B3) 2.03(S3) 1500
03. Send NORMAL-LIMIT-DAY Buy order(Qty=1,000, Price=2.00 or S1)
* If you select different instrument & price, order price equal to your S1 price level.
Instrument A
Buy Qty Buy Price Sell Price Sell Qty 2000 1.99(B1) 2.01(S2) 8000
4000 1.98(B2) 2.03(S3) 1500
3000 1.97(B3)
BTS2 FIX Certification Version 1.12
Page 26 of 34
04. Send NORMAL-LIMIT-DAY Buy order(Qty=5,000, Price=2.01 or S2)
* If you select different instrument & price, order price equal to your S2 price level.
Instrument A
Buy Qty Buy Price Sell Price Sell Qty 2000 1.99(B1) 2.01(S2) 3000
4000 1.98(B2) 2.03(S3) 1500
3000 1.97(B3)
05. Verify the OCO order and trade
- LIMIT-DAY Sell order (Partially matched=2,000, balance=3,000)
- STOP-LIMIT-DAY Sell order (Expired by trading systems)
If LIMIT order is partially or fully matched, the STOP order will be automatically expired. If the STOP order is triggered,
the LIMIT order will be automatically expired.
If one of the orders is cancelled by the trader or the Exchange, the other is cancel as well automatically.
Sample of FIX message for OCO
< 8=FIXT.1.1|9=213|35=D|49=012|56=USR|34=577|52=20181206-
06:54:04|50=012915|453=1|448=myTraderID|447=C|452=11|11=OCO001|48=9148|762=NM|22=99|1=000000042|38=5000|40=2|44=2.01|54=2|60
=20181206-06:54:04|59=0|528=P|529=R|58=LIMIT-ORDER|10=103|
< 8=FIXT.1.1|9=261|35=D|49=012|56=USR|34=578|52=20181206-
06:54:04|50=012915|453=1|448=myTraderID|447=C|452=11|11=OCO002|48=9148|762=NM|22=99|1=000000042|38=5000|40=4|44=1.99|54=2|60
=20181206-06:54:04|59=0|528=P|529=R|58=STOP-ORDER|583=OCO001|1100=4|1101=1|1102=1.99|1107=2|1109=D|10=084|
BTS2 FIX Certification Version 1.12
Page 27 of 34
02 One-Cancel-Other Order
Instrument A(Continue)
Buy Qty Buy Price Sell Price Sell Qty 2000 1.99(B1) 2.01(S1) 3000
4000 1.98(B2) 2.03(S3) 1500
3000 1.97(B3)
With condition: LastDonePrice > TrigerPrice, i.e LDP = 2.01
06. Send a OCO order with following requirement:
- LIMIT-DAY Sell order(Qty=5,000, Price=2.02 or S2)
- STOP-LIMIT-DAY Sell order(Qty=5,000, Price=1.99 or B1, trigger price=1.99 or B1, TriggerPriceType=LastTrade(2) TriggerPriceDirection=Down)
Instrument A
Buy Qty Buy Price Sell Price Sell Qty 2000 1.99(B1) 2.01(S1) 3000
4000 1.98(B2) 2.02(S2) 5000
3000 1.97(B3) 2.03(S3) 1500
07. Send NORMAL-LIMIT-DAY Sell order(Qty=1,000, Price=1.99 or B1)
* If you select different instrument & price, order price equal to your B1 price level.
Instrument A
Buy Qty Buy Price Sell Price Sell Qty 4000 1.98(B2) 1.99(B1) 4000
3000 1.97(B3) 2.01(S1) 3000
2.03(S3) 1500
05. Verify the OCO order and trade
- LIMIT-DAY Sell order (Expired by trading systems)
- STOP-LIMIT-DAY Sell order (Triggered and convert to LIMIT-DAY, partially match=1,000, balance=4,000)
BTS2 FIX Certification Version 1.12
Page 28 of 34
E12
PSS Instrument = INSTX(PSS)
01 Limit-Day Sell Order, PSS
(54=V)
01.Send PSS Order(Qty=9000)
04.Send Order Cancellation
02.Send Buy order(Qty=5000) 03.Partially Matched(Qty=5000)
05.Remaining order qty cancelled
BTS2 FIX Certification Version 1.12
Page 29 of 34
3.6 Module F : Market Maker
Table F1.01
Bid Qty Bid Price Offer Price Offer Qty 200 Best Bid Best Offer 200
Table F1.02
Bid Qty Bid Price Offer Price Offer Qty 300 Best Bid Best Offer 300
Table F1.03
Bid Qty Bid Price Offer Price Offer Qty Best Offer 400
No Test Case External Input Exchange Input Expected Results
F1 Normal Market[762=NM] Instrument = INST1
01 Submit MassQuote (Table F1.01) Submit MassQuote (Table F1.02) - ALL previous quotes for INST1
will be cancelled Submit MassQuote (Table F1.03) - ALL previous quotes for INST1
will be cancelled
Submit MassQuote to cancel
01. Submit 1 quotes (1 bids & 1 offers) for security INST1 04. Submit 1 quotes (1 bids & 1 offers) for security INST1 07. Submit 1 single-sided quote (1 offers) for security INST1
10. Submit 1 quote with BidPx, BidSize, OfferPx and OfferSize equal to “0”
02. Send Sell Order(Qty=100) 05. Send Buy Order (Qty=300) 08. Send Buy Order (Qty=300)
03. Partially Matched Best Bid (Qty=100)
06. Fully Matched Best Offer (Qty=300) 09. Partially Matched Best Offer (Qty=300) 11. ALL outstanding quotes cancelled.
BTS2 FIX Certification Version 1.12
Page 30 of 34
Table F2.01
Bid Qty Bid Price Offer Price Offer Qty 200 Best Bid Best Offer 200
200 Best Bid – 1 tick Best Offer + 1 tick 200
200 Best Bid – 2 tick Best Offer + 2 tick 200
Table F2.02
Bid Qty Bid Price Offer Price Offer Qty 300 Best Bid Best Offer 300
300 Best Bid – 1 tick Best Offer + 1 tick 300
Table F2.03
Bid Qty Bid Price Offer Price Offer Qty 400 Best Bid Best Offer 400
400 Best Bid – 1 tick Best Offer + 1 tick 400
Best Offer + 2 tick 400
No Test Case External Input Exchange Input Expected Results
F2 Normal Market[762=NM] Instrument = INST1
01 Submit MassQuote (Table F2.01) Submit MassQuote (Table F2.02) - ALL previous quotes for INST1
will be cancelled Submit MassQuote (Table F3.03) - ALL previous quotes for INST1
will be cancelled
Submit MassQuote to cancel
01. Submit 3 quotes (3 bids & 3 offers) for security INST1
04. Submit 2 quotes
(2 bids & 2 offers) for security INST1 07. Submit 2 quotes & 1 single-sided quote
(2 bids & 3 offers) for security INST1
10. Submit 1 quote with BidPx, BidSize, OfferPx
and OfferSize equal to “0”
02. Send Sell Order(Qty=100) 05. Send Buy Order (Qty=300) 08. Send Sell Order (Qty=800)
03. Partially Matched Best Bid (Qty=100)
06. Fully Matched Best Offer (Qty=300) 09. Fully Matched ALL Bids
(Qty=400+400) 11. ALL outstanding quotes cancelled.
BTS2 FIX Certification Version 1.12
Page 31 of 34
Table F3.01 for security INST1 Table F3.02 for security INST2
Bid Qty Bid Price Offer Price Offer Qty Bid Qty Bid Price Offer Price Offer Qty 200 Best Bid Best Offer 200 300 Best Bid Best Offer 300
200 Best Bid – 1 tick Best Offer + 1 tick 200 300 Best Bid – 1 tick Best Offer + 1 tick 300
Table F3.03 for security INST1 Table F3.04 for security INST2
Bid Qty Bid Price Offer Price Offer Qty Bid Qty Bid Price Offer Price Offer Qty 400 Best Bid Best Offer 400 500 Best Bid Best Offer 500
200 Best Bid – 1 tick Best Offer + 1 tick 200 500 Best Bid – 1 tick Best Offer + 1 tick 500
No Test Case External Input Exchange Input Expected Results
F3 Normal Market[762=NM] Instrument = INST1 & INST2
01 Submit MassQuote (Table F3.01 & F3.02) Submit MassQuote (Table F3.03) - ALL previous quotes for INST1
will be cancelled Submit MassQuote (Table F3.04) - ALL previous quotes for INST2
will be cancelled
Submit MassQuote to cancel quotes for security INST1 & INST2
01. Submit 2 quotes (2 bids & 2 offers) each for security INST1 & INST2
02. Submit 2 quotes (2 bids & 2 offers) for security INST1
05. Submit 2 quotes
(2 bids & 2 offers) for security INST2
08. Submit 1 quote (BidPx, BidSize, OfferPx and
OfferSize equal to “0”) each for INST1 and INST2
03. Send Buy Order (Qty=300) for
security INST1 06. Send Sell Order (Qty=500) for
security INST2
04. Partial Matched Best Offer (Qty=300) for security INST1
07. Fully Matched Best Bid
(Qty=500) for security INST2 09. ALL outstanding quotes for security
cancelled.
BTS2 FIX Certification Version 1.12
Page 32 of 34
3.7 Module G : GTD/GTC Order
Module G certification required 3 days to completed the test cases. Each day required 10-15 minutes. Definition of “T day”. Example, Today 25/08/2014. Maximum expiry date of GTD/GTC is 30 Calendar day. T = 25/08/2014 T+1 = 26/08/2014 T+2 = 27/08/2014 T+30 = 24/09/2014 T+31 = 25/09/2014
No Test Case External Input Exchange Input Expected Results
G1 T day
01 GTD Limit-Day Order, INST1
Expire Date = T+1
01.Send Buy GTD Order(Qty=1000)
02.Change the reference price/Last done
price to ensure the carry forward GTD
order price is outside of static price limit
on next day
02 GTD Limit-Day Order, INST2
Expire Date = T+1
01.Send Sell GTD Order(Qty=2000)
02.Send Buy Order(Qty=1000)
04.Halt the stock
03.Partially Matched(Qty=1000)
03 GTD Limit-Day Order, INST3
Expire Date = T+2
01.Send Buy GTD Order(Qty=3000)
02.Send Order modification on price
03.Halt the stock
04 GTD Limit-Day Order, INST4
Expire Date = T+2
01.Send Sell GTD Order(Qty=4000)
02.Send Buy Order(Qty=2000)
04.Halt the stock
03.Partially Matched(Qty=2000)
05 GTD Market-Day Order, INST5
Expire Date = T+2
02.Send Sell Order(Qty=5000)
01.Send Buy Order(Qty=3000)
05.Halt the stock
03.Partially Matched(Qty=3000)
04.Remaining order qty convert to GTD
Limit-Day Order
06 GTD Limit-Day Order, INST6
Expire Date = T+31
01.Send Sell GTD Order(Qty=1000)
02. Order rejected
# Exchange will halt the stock to avoid the order matched by external parties. # Exchange will halt the stock to avoid the order matched by external parties before 8:30am and resume the market during certification period.
BTS2 FIX Certification Version 1.12
Page 33 of 34
#Carry forward GTD order execution report will send out at 6:00am. If FIX client connect to FIX server before 6:00am will get the execution report real time. If FIX client connect after 6:00am then FIX client need to send a resend_request to request all the execution report.
No Test Case External Input Exchange Input Expected Results
G2 T + 1 day
01 Continue from section G1.01 01.Verify the order execution report(qty=1000)
02.Order is cancelled due to outside of
static price limit(378=3) at 6:00am
#Order cancel due to corporation
actions will have same execution report
message except 378=0
02 Continue from section G1.02 01.Verify the order execution report(qty=1000)
02.Send Order Modification(QtyRemaining=2000)
05.Send Order Modification on Expire Date to T+2
(Step 05 is optional)
03.Send Buy Order(Qty=1000)
06.Halt the stock
04.Partially Matched(Qty=1000)
# Order expired at 5:30pm if step 05 is
skipped
03 Continue from section G1.03 01.Verify the order execution report(qty=3000)
02.Send Order cancellation
03.Order cancelled(378=99)
04 Continue from section G1.04 01.Verify the order execution report(qty=2000)
02.Send Order modification on price
03.Send Buy Order(Qty=1000)
05.Halt the stock
04.Partially Matched(Qty=1000)
05 Continue from section G1.05 01.Verify the order execution report(qty=2000)
02.Send Buy Order(Qty=2000)
03.Fully Matched(Qty=2000)
# Exchange will halt the stock to avoid the order matched by external parties before 8:30am.
BTS2 FIX Certification Version 1.12
Page 34 of 34
No Test Case External Input Exchange Input Expected Results
G3 T + 2 day
01 Continue from section G2.01 N/A
02 Continue from section G2.02 01.Verify the order execution report(qty=1000)
02.Wait order to expired
03.Order expired at 5:30pm
03 Continue from section G2.03 N/A
04 Continue from section G2.04 01.Verify the order execution report(qty=1000)
02.Wait order to expired
03.Order expired at 5:30pm
05 Continue from section G2.05 N/A
No Test Case External Input Exchange Input Expected Results
G4 T day
01 GTC Limit-Day Order, INST1 01.Send Buy GTC Order(Qty=1000)
02.Change the reference price/Last done
price to ensure the carry forward GTD
order price is outside of static price limit
on next day
02 GTC Limit-Day Order, INST2
01.Send Sell GTC Order(Qty=2000)
02.Send Buy Order(Qty=1000)
04.Halt the stock
03.Partially Matched(Qty=1000)
03 GTC Limit-Day Order, INST3
01.Send Buy GTC Order(Qty=3000)
02.Send Order modification on price
03.Halt the stock
# Tester should verify the order execution report on next day # Exchange may set the Maximum expiry date of GTC is 3 Calendar day for certification purpose only.