TSX FIX Certification v2.5

advertisement
FIX Certification
Version 2.5
For Certification of TSX FIX V4.3 (Quantum XA)
Apr 02, 2012
Version History
Version
Date
2.5
02 April 2012
2.4
14 February 2012
Changes

Added test cases #18 to #25 from FIX certification for Quantum

Updated test case #24 and #25

Added Reference section to clarify which test is applicable to
each trading engine

Removed Order Routing test cases
2.3.2
24 January 2012
Added Order Routing Test Cases per request.
2.3.1
17 November 2011
Updated Test Case SV1: 2 test scripts are added
2.1.2a
29 July 2009
Original Document
2
Reference
The table below contains
1. The list of test cases which are applicable to different market places/
trading engines at TMX.
2. Test cases which are mandatory for existing TMX clients who are already
certified on the Quantum platform. (Note: An existing Quantum client need
to run only those test cases that are marked mandatory in the table
below*. New clients will have to run all test cases that are marked as
mandatory later in this document.)
Test Case
TSX
TSXV
TMX Select
For existing clients*
SV1
√
√
√
√
SV2
√
√
√
√
SV3
√
√
√
√
SV4
√
√
√
√
SV5
√
√
√
√
SV6
√
√
√
√
SV7
√
√
√
√
SV8
√
√
√
√
SV9
√
√
√
√
#1
√
√
×
×
#2
√
√
√
×
#3
√
√
√
×
#4
√
√
√
×
#5
√
√
√
×
#6
√
√
×
×
#7
√
√
√
×
#8
√
√
×
×
#9
√
√
×
×
#10
√
√
×
×
#11
√
√
×
×
#12
√
√
×
×
#13
√
√
√
×
3
#14
√
√
√
×
#15
√
√
√
×
#16
√
√
√
×
#17
√
√
×
×
#18
√
√
×
×
#19
√
√
√
×
#20
√
√
√
×
#21
√
√
√
×
#22
√
√
√
×
#23
√
√
√
×
#24
√
√
√
×
#25
√
√
√
√
Legend: √: Yes; ×: No
4
TABLE OF CONTENTS
SESSION VERIFICATION TEST CASES .................................................................... 7
Test Case SV1:
Establish a FIX session........................................................................................................... 7
Test Case SV2:
Verify that a FIX session is alive ........................................................................................... 8
Test Case SV3:
Request missed messages ....................................................................................................... 9
Test Case SV4:
Process Reject message from TSX ........................................................................................ 9
Test Case SV5:
Terminate a FIX session: ..................................................................................................... 10
Test Case SV6:
Request missed messages ..................................................................................................... 12
Test Case SV7:
Retransmit missed messages ................................................................................................ 13
Test Case SV8:
Force outgoing sequence number to decrease .................................................................... 14
Test Case SV9:
Force outgoing sequence number to increase .................................................................... 15
PRE-OPEN TEST CASES .......................................................................................... 16
Test Case# 1: Pre-Open: Add order; OMR order; Cancel Order................................................................. 17
MANDATORY POST-OPEN TEST CASES ............................................................... 18
Test Case # 2: Post Open: Add Sell Order; OMR order ................................................................................ 19
Test Case # 3: Post-Open: Add Short Sell Order............................................................................................ 20
Test Case # 4: Post-Open: Add Buy Order; Trade; Trade Correction ........................................................ 21
Test Case # 5: Post-Open: FOK Orders .......................................................................................................... 22
Test Case # 6: Post Open: Enter Order, Order Protection Rule (OPR) Tags .............................................. 23
OPTIONAL POST-OPEN TEST CASES .................................................................... 25
Test Case # 7: Post-Open: Iceberg Orders ...................................................................................................... 26
Test Case # 8: Post-Open: StopPX orders ....................................................................................................... 27
Test Case # 9: Post-Open: Oddlot orders ........................................................................................................ 28
Test Case # 10: Pre/Post-Open: MOC Orders ................................................................................................ 29
Test Case # 11: Post-Open: LOC Orders ........................................................................................................ 30
Test Case # 12: Post-Open Regular Cross, with Cross Interference ............................................................. 31
5
Test Case # 13: Post-Open Specialty Cross: Basis .......................................................................................... 32
Test Case # 14: Post-Open Specialty Cross: Contingent ................................................................................ 33
Test Case # 15: Post-Open Specialty Cross: VWAP ....................................................................................... 34
Test Case # 16: Post-Open Specialty Cross: Internal ..................................................................................... 35
Test Case # 17: Post-Open Specialty Cross: Bypass ....................................................................................... 36
Test Case # 18: Extended Hours Specialty Cross: STS .................................................................................. 37
Test Case # 19: Undisplayed (Dark) Order - Midpoint .................................................................................. 37
Test Case # 19: Undisplayed (Dark) Order - Limit ........................................................................................ 39
Test Case # 20: Order Protection Rule (OPR) – Cancel/Kill Order ............................................................. 40
Test Case # 21: Order Protection Rule (OPR) – RePrice ............................................................................... 41
Test Case # 22: Order Protection Rule (OPR) – DOA ................................................................................... 42
Test Case # 23: Post Only.................................................................................................................................. 43
Test Case # 24: Self Trade Prevention ............................................................................................................. 44
Test Case # 25: TMX Select .............................................................................................................................. 45
6
Session Verification Test Cases
Test Case SV1:
Establish a FIX session
TSX FIX Message:
Logon
Day:
1
Execute the Test Script:
1) Issue a valid Logon message
2) Issue a Logon message with invalid password
3) Issue a Logon message with invalid password after session has been
establised
Were the Expected Results Obtained:
Action :
Yes
No
Yes
No
1) FIX session is established
2) A Reject message with error is returned, session connection is
dropped, FIX session is not established
3) A Reject message with error is returned, following a logout message,
FIX session is terminated
Messages Returned:
Action :
1) Logon (acknowledgement)
2) Reject
3) Reject with error, logout confirmation
Please cut and paste both Inbound and Outbound logs to capture test result.
7
Test Case SV2:
Verify that a FIX session is alive
TSX FIX Message:
Test Request
Day:
1
Execute the Test Script:
1) Issue a Test Request message
Were the Expected Results Obtained:
Action :
Yes
No
Yes
No
Received a Heartbeat with the “TestReqID” of the Test Request message
Messages Returned:
Action :
Heartbeat message
Please cut and paste both Inbound and Outbound logs in the space below
8
Test Case SV3:
Request missed messages
(Request includes no administrative messages)
TSX FIX Message:
Resend Request
Day:
1
Execute the Test Script:
1. Issue a set of business messages in order to increment the outgoing sequence
numbers.
2. Issue a Resend Request to recover a single business message
3. Issue a Resend Request to recover the set of business messages submitted earlier
Were the Expected Results Obtained:
Action :
Yes
No
Yes
No
Requested business messages are successfully recovered
Messages Returned:
Action :
A) Single business message
B) Set of business messages
Please cut and paste both Inbound and Outbound logs in the space below
Test Case SV4:
Process Reject message from TSX
TSX FIX Message:
Day:
Reject
1
Execute the Test Script:
Issue a TSX FIX message with invalid data (e.g., invalid MsgType field)
9
Were the Expected Results Obtained:
Action :
Yes
No
Yes
No
TSX’s Reject message is processed correctly
Messages Returned:
Action :
Reject message
Please cut and paste both Inbound and Outbound logs in the space below
Test Case SV5:
Terminate a FIX session:
TSX FIX Message:
Logout
Day:
1
Execute the Test Script:
1) Issue a Logout message
10
Were the Expected Results Obtained:
Action :
Yes
No
Yes
No
FIX session is closed
Messages Returned:
Action :
Logout (confirmation)
Please cut and paste both Inbound and Outbound logs in the space below
11
Test Case SV6:
Request missed messages
(Request includes some administrative messages)
TSX FIX Message:
Resend Request (out) / Sequence Reset-GapFill (in)
Day:
1
Execute the Test Script:
1) Issue a set of business and heartbeat messages in order to increment the outgoing
sequence numbers
2) Issue a Resend Request to recover a single business message
3) Issue a Resend Request to recover a single hearbeat message
4) Issue a Resend Request to recover the set of messages submitted earlier
Were the Expected Results Obtained:
Action :
Yes
No
Yes
No
Requested business messages are successfully recovered.
Sequence Reset (Gap Fill) messages are received in place of Heartbeats.
Messages Returned:
Action :
A) Single business message
B) Single Sequence Reset (Gap Fill)
C) Set of business and Sequence Reset (Gap Fill) messages
Please cut and paste both Inbound and Outbound logs in the space below
12
Test Case SV7:
Retransmit missed messages
(Retransmission skips over administrative messages)
TSX FIX Message:
Resend Request (in) / Sequence Reset-GapFill (out)
Day:
1
Execute the Test Script:
1. Issue a set of business and heartbeat messages with a starting sequence number
that is higher than the one expected by TSX. (Ensure that these messages are
available for resend)
2. TSX will respond with a Resend Request message
3. Resend the set of messages submitted earlier with the proper sequence numbers.
(The Heartbeats must be replaced with Sequence Reset (Gap Fill) messages).
Were the Expected Results Obtained:
Action :
Yes
No
Yes
No
Business messages requested by TSX are successfully retransmiited.
Messages Returned:
Action :
Resend Request message
Please cut and paste both Inbound and Outbound logs in the space below
13
Test Case SV8:
decrease
Force outgoing sequence number to
TSX FIX Message:
Sequence Reset-Reset
Day:
1
Execute the Test Script:
1) Issue a Sequence Reset-Reset message with the field “NewSeqNo” set to a
value that is lower than the one expected by TSX
Were the Expected Results Obtained:
Action :
Yes
No
Yes
No
Sequence Reset-Reset message is rejected by TSX
Messages Returned:
Action :
Reject message
Please cut and paste both Inbound and Outbound logs in the space below
14
Test Case SV9:
increase
Force outgoing sequence number to
TSX FIX Message:
Sequence Reset-Reset
Day:
1
Execute the Test Script:
1) Issue a Sequence Reset-Reset message with the field “NewSeqNo” set to a
value that is higher than the one expected by TSX
2) Issue a business message with the sequence number set to the value of
“NewSeqNo” .
Were the Expected Results Obtained:
Action :
Yes
No
Yes
No
TSX accepts the Sequence Reset-Reset and business messages.
Messages Returned:
Action :
N/A
Please cut and paste both Inbound and Outbound logs in the space below
15
PRE-OPEN TEST CASES
Please Contact TSX Vendor Services before proceeding to clarify
Symbol to be used for the following test cases. In all cases Stock “A”
refers to the symbol assigned to you for the purpose of this
Certification.
TSX Vendor Services can be reached from 07:00am to 5:00 pm EST
at 416-947-4705.
Note: Pre-open for the Gateway Test Environment is from 07:30 am
to 10:00 am EST.
16
Test Case# 1: Pre-Open: Add order; OMR order; Cancel Order
Execute the Test Script:
1. Enter an order to Buy 1,000 shares of Stock A with following attributes:
 Account (tag 1) = 123
 Price (tag 44) = MKT
 TSXAccountType (tag 6750) = NC
2. OMR order with following attributes:
 Account (tag 1) = ABC
 Price (tag 44) = $5.05
 TSXAccountType (tag 6750) = CL
3. Cancel order
Were the Expected Results Obtained:
Action :
Yes
Order is booked with specified attributes
OMR is booked with new attributes
Order is cancelled
Please cut and paste both Inbound and Outbound logs in the space below
17
No
MANDATORY POST-OPEN TEST CASES
Please Contact TSX Vendor Services before proceeding to clarify
Symbol to be used for the following test cases. In all cases Stock “A”
refers to the symbol assigned to you for the purpose of this
Certification.
TSX Vendor Services can be reached from 07:00am to 5:00 pm at
416-947-4705.
Note: Post-open for the Gateway Test Environment is from 10:00 am
to 9:00 pm.
18
Test Case # 2: Post Open: Add Sell Order; OMR order
Execute the Test Script:
1. Enter an order to Sell 1,000 shares of Stock A with following attributes:
 Account (tag 1) = 123
 Price (tag 44) = $5.00
 TSXAccountType (tag 6750) = CL
2. OMR order with following attributes:
 Account (tag 1) = ABC
 Price (tag 44) = $5.05
 TSXAccountType (tag 6750) = NC
 TSXAnonymous (tag 6761) = Y
Were the Expected Results Obtained:
Action :
Yes
Order is booked with specified attributes
OMR is booked with new attributes
Please cut and paste both Inbound and Outbound logs in the space below
19
No
Test Case # 3: Post-Open: Add Short Sell Order
Execute the Test Script:
1. Enter an order to Short Sell 1,000 shares of Stock A with following attributes:
 Price (tag 44) = $5.00
 TSXAccountType (tag 6750) = IN
 Side (tag 54) = 6(ShortExempt)
Were the Expected Results Obtained:
Action :
Yes
Order is booked with specified attributes
Please cut and paste both Inbound and Outbound logs in the space below
20
No
Test Case # 4: Post-Open: Add Buy Order; Trade; Trade Correction
Execute the Test Script:
1. Enter an order to Buy 1,500 shares of Stock A with following attributes:
 Price (tag 44) = $5.00
 TSXAccountType (tag 6750) = NC
 TimeInForce (tag 59) = 3 “IOC”
2. Contact Vendor Services to correct Trade price to $5.10
3. Cancel remaining volume on Sell side
Were the Expected Results Obtained:
Action :
Partial Fill – Buy Side
Yes
Fill – Sell Side
Cancelled/killed – unfilled Buy IOC
Cancel Trade
New Fill
Order is cancelled
Other Comments or Unexpected Results:
21
No
Test Case # 5: Post-Open: FOK Orders
Execute the Test Script:
1. Enter order to Buy 1,000 shares of Stock A with the following attributes:
 Price (tag 44) = $5.00
2. Negative Test - Enter order to Sell 1,500 shares of Stock A with following attributes:
 Price (tag 44) = $5.00
 TimeInForce (tag 59) = 4 “FOK”
3. Enter order to Sell 1,000 shares of Stock A with following attributes:
 Price (tag 44) = $5.00
 TimeInForce (tag 59) = 4 “FOK”
Were the Expected Results Obtained:
Action :
Buy Order is booked
Yes
1500 share FOK Sell Order is ‘killed’; insufficient volume on buy side
1000 share FOK Sell Order is acknowledged
Buy Fill Report
Sell Fill report
Other Comments or Unexpected Results:
22
No
Test Case # 6: Post Open: Enter Order, Order Protection Rule (OPR)
Tags
The below tests are to ensure that you are able to comply with the OPR. Please contact
Vendor Services to ensure that you are using a symbol that is set up for the below tests.
Vendor Services can also provide you with the ABBO if not available.
OPTION #1 DOA
Execute the Test Script:
3. Enter an order to Buy/Sell 1,000 shares of Stock A with following attributes:
 Price (tag 44) = $5.00
 Handllnst (tag 21) = 1 (default value)
Were the Expected Results Obtained:
Action :
Yes
No
Order is booked with specified attributes.
OPTION#2 RePrice
Execute the Test Script:
4. Enter an order to Buy/Sell 1,000 shares of Stock A with following attributes:
 Price (tag 44) = PRICE MUST TAKE INTO CONSIDERATION CURRENT ABBO.
 Handllnst (tag 21) = 5
Were the Expected Results Obtained:
Action :
Yes
Order is repriced to one tick above/below the ABBO qoute.
23
No
OPTION#3 Cancel
Execute the Test Script:
5. Enter an order to Buy/Sell 1,000 shares of Stock A with following attributes:
 Price (tag 44) = PRICE MUST TAKE INTO CONSIDERATION CURRENT ABBO.
 Handllnst (tag 21) = 6
Were the Expected Results Obtained:
Action :
Yes
Order is cancelled with specified attributes.
24
No
OPTIONAL POST-OPEN TEST CASES
The following test cases are for specialty Order Types and Crosses.
You only need to complete test cases for the functionality that your
systems will support.
TSX Vendor Services can be reached from 07:00am to 5:00 pm at
416-947-4705.
Note: Post-open for the Gateway Test Environment is from 10:00 am
to 9:00 pm.
25
Test Case # 7: Post-Open: Iceberg Orders
Execute the Test Script:
1. Enter an order to Buy 10,000 total shares, MaxFloor 2000 shares, of Stock A with
following attributes:
 Order Type (tag 40) = 1
 TSXAccountType (tag 6750) = NC
2. OMR MaxFloor Volume to 400 shares (negative test)
3. OMR Total Volume to 10,050 (negative test)
4. Cancel Order
Were the Expected Results Obtained:
Action :
Order is booked with specified attributes
Error Report: “DisclosedVolume has to be greater or equal to minimum
defined”
Error report: “Undisclosed Order Total Volume must be multiple of Boardlot
Size”
Order is cancelled
Other Comments or Unexpected Results:
26
Yes
No
Test Case # 8: Post-Open: StopPX orders
Execute the Test Script:
1. Enter an order to Buy 1000 shares of Stock A with following attributes:
 StopPX (tag 99) = $5.10
2. Enter an order to Buy 500 shares of Stock A
 Price (tag 44) = $5.15
3. Enter an order to Sell 500 shares of Stock A
 Price (tag 44) = MKT
4. Cancel Order
Were the Expected Results Obtained:
Action :
StopPX Order is booked in StopPX (OnStop) book with specified attributes
Buy Order is booked with specified attributes
Fill – Sell Side
Fill – Buy Side
StopPX buy order Triggered
Order Booked
Order cancelled
Other Comments or Unexpected Results:
27
Yes
No
Test Case # 9: Post-Open: Oddlot orders
Execute the Test Script:
1. Enter an order to Buy 50 shares of Stock A with following attributes:
 Price (tag 44) = $5.00
2. OMR to Anonymous (tag 6761) = Y
3. OMR order to the following attributes:
 Price (tag 44) = $5.05
 OrderQty (tag 38) = 75
4. Cancel Order
Were the Expected Results Obtained:
Action :
Oddlot Order is booked in Oddlot book with specified attributes
Error Report: “AnonymousOrder Volume must be a multiple of BoardlotSize”
Order is booked
Order is cancelled
Order cancelled
Other Comments or Unexpected Results:
28
Yes
No
Test Case # 10: Pre/Post-Open: MOC Orders
NOTE: MOC MKT orders must be entered prior to the posting of the MOC
Imbalance, normally 8:40pm in GTE environment
Execute the Test Script:
1. Enter an order to Buy 1000 shares of Stock A with following attributes:
 OrdType (tag 40) = 1 “Market”, TimeInForce (tag 59) = 7 “at the close”
2. OMR with following attributes
 Price (tag 44) = $5.00
3. Cancel Order
Were the Expected Results Obtained:
Action :
MOC Order is booked with specified attributes
Error Report: “Price is not valid”
Order is cancelled
Other Comments or Unexpected Results:
29
Yes
No
Test Case # 11: Post-Open: LOC Orders
NOTE: LOC orders must be entered between posting of MOC Imbalance and
Market Close, normally between 8:40pm and 9:00pm in GTE environment.
There must be a posted imbalance on a stock before LOC orders will be
accepted
Execute the Test Script:
1. Enter an order to Sell 500 shares of Stock A with following attributes:
 OrdType (tag 40) = 2 “Limit ” and TimeInForce (tag 59) = 7 “at the close”
 Price (tag 44) = $5.00
2. Cancel Order
Were the Expected Results Obtained:
Action :
LOC Order is booked with specified attributes
Order is cancelled
Other Comments or Unexpected Results:
30
Yes
No
Test Case # 12: Post-Open Regular Cross, with Cross Interference
Execute the Test Script:
1. Enter Order to Buy 200 shares of Stock A with following attributes:
 Price (tag 44) = $5.00
2. Enter a Short Exempt Cross of 1000 shares of Stock A with following attributes:
 Side (tag 54) = A ‘Cross Short Exempt’
 Price (tag 44) = $5.00
Were the Expected Results Obtained:
Action :
Buy Order is booked
Yes
Complete Fill of 200 shares against booked Buy order
Partial Fill of 200 shares against sell side of Cross
Partial Fill of 800 shares against buy side of Cross
Partial Fill of 800 shares against sell side of Cross
Remaining 200 shares of Buy Side of Cross are Killed
Other Comments or Unexpected Results:
31
No
Test Case # 13: Post-Open Specialty Cross: Basis
Execute the Test Script:
3. Enter a Short Cross of 1000 shares of Stock A with following attributes:
 Side (tag 54) = 9 ‘Cross Short’
 Price (tag 44) = $5.00
 TSXCrossType (tag 6773) = B ‘Basis’
Were the Expected Results Obtained:
Action :
Yes
Buy Side Acknowledged
Sell Side Acknowledged
Buy Side Fill
Sell Side Fill
Other Comments or Unexpected Results:
32
No
Test Case # 14: Post-Open Specialty Cross: Contingent
Execute the Test Script:
1. Enter a Cross of 1000 shares of Stock A with following attributes:
 Side (tag 54) = 8 ‘Cross’
 Price (tag 44) = $5.00
 TSXCrossType (tag 6773) = C ‘Contingent’
Were the Expected Results Obtained:
Action :
Yes
Buy Side Acknowledged
Sell Side Acknowledged
Buy Side Fill
Sell Side Fill
Other Comments or Unexpected Results:
33
No
Test Case # 15: Post-Open Specialty Cross: VWAP
Execute the Test Script:
1. Enter a Cross of 1000 shares of Stock A with following attributes:
 Side (tag 54) = 8 ‘Cross’
 Price (tag 44) = $5.00
 TSXCrossType (tag 6773) = V ‘VWAP’
Were the Expected Results Obtained:
Action :
Yes
Buy Side Acknowledged
Sell Side Acknowledged
Buy Side Fill
Sell Side Fill
Other Comments or Unexpected Results:
34
No
Test Case # 16: Post-Open Specialty Cross: Internal
Execute the Test Script:
2. Enter a Cross of 1000 shares of Stock A with following attributes:
 Side (tag 54) = 8 ‘Cross’
 Price (tag 44) = $5.00
 TSXCrossType (tag 6773) = I ‘Internal’
Were the Expected Results Obtained:
Action :
Yes
Buy Side Acknowledged
Sell Side Acknowledged
Buy Side Fill
Sell Side Fill
Other Comments or Unexpected Results:
35
No
Test Case # 17: Post-Open Specialty Cross: Bypass
Execute the Test Script:
3. Enter a Cross of 1000 shares of Stock A with following attributes:
 Side (tag 54) = 8 ‘Cross’
 Price (tag 44) = $5.00
 TSXBypass (tag 6791) = Y
Were the Expected Results Obtained:
Action :
Yes
Buy Side Acknowledged
Sell Side Acknowledged
Buy Side Fill
Sell Side Fill
Other Comments or Unexpected Results:
36
No
Test Case # 18: Extended Hours Specialty Cross: STS
NOTE: Extended Hours in GTE Environment are usually 9:15pm to 9:20pmEST
Execute the Test Script:
1. Enter a Cross of 1000 shares of Stock A with following attributes:
 Side (tag 54) = 8 ‘Cross’
 Price (tag 44) = $5.00
 TSXCrossType (tag 6773) = S ‘STS’
Were the Expected Results Obtained:
Action :
Yes
Buy Side Acknowledged
Sell Side Acknowledged
Buy Side Fill
Sell Side Fill
Other Comments or Unexpected Results:
Test Case # 19: Undisplayed (Dark) Order - Midpoint
Execute the Test Script:
Enter Buy order; undisplayed = Y, PegType = M, volume = 1000 shares
 Side (tag 54) = 1 ‘Buy’
 TSXUndisplayed (tag 7726) = Y
 TSXPegType (tag 7723) = M
 OrderQty (tag 38) = 100
37
No
Were the Expected Results Obtained:
Action :
Yes
Buy Side Acknowledged
Other Comments or Unexpected Results:
38
No
Test Case # 19: Undisplayed (Dark) Order - Limit
Execute the Test Script:
Enter Buy order; undisplayed = Y, PegType = N, volume = 1000 shares , Price $5.00
 Side (tag 54) = 1 ‘Buy’
 TSXUndisplayed (tag 7726) = Y
 TSXPegType (tag 7723) = N
 OrderQty (tag 38) = 100
 Price (Tag 44) = $5.00
Were the Expected Results Obtained:
Action :
Yes
Buy Order Acknowledged
Other Comments or Unexpected Results:
39
No
Test Case # 20: Order Protection Rule (OPR) – Cancel/Kill Order
NOTE: contact TSX Vendor Services to set this test case up with a stock
that has a better ABBO quote at an away market
Execute the Test Script:
Enter Buy order; undisplayed = Y, PegType = N, volume = 1000 shares , Price $5.00
 Side (tag 54) = 1 ‘Buy’
 OrderQty (tag 38) = 100
 Price (tag 44) = $5.00
 HandInst (tag 21) = 5
Were the Expected Results Obtained:
Action :
Yes
Execution Report – MsgType = 8;
Other Comments or Unexpected Results:
40
No
Test Case # 21: Order Protection Rule (OPR) – RePrice
NOTE: contact TSX Vendor Services to set this test case up with a stock
that has a better ABBO quote at an away market
Execute the Test Script:
Enter an order to Buy/Sell 1,000 shares of Stock A with following attributes:


Price (tag 44) = PRICE MUST TAKE INTO CONSIDERATION CURRENT ABBO.
Handllnst (tag 21) = 6
Were the Expected Results Obtained:
Action :
Yes
Order is repriced to one tick above/below the ABBO qoute.
Please cut and paste both Inbound and Outbound logs in the space below
41
No
Test Case # 22: Order Protection Rule (OPR) – DOA
Execute the Test Script:
Enter an order to Buy/Sell 1,000 shares of Stock A with following attributes:


Price (tag 44) = $5.00
Handllnst (tag 21) = 1 (default value)
Were the Expected Results Obtained:
Action :
Yes
Order is booked with specified attributes.
Please cut and paste both Inbound and Outbound logs in the space below
42
No
Test Case # 23: Post Only
Execute the Test Script:
NOTE: contact TSX Vendor Services to set this test case up with a stock
that is at 5.00
Enter an order to Sell 1,000 shares of Stock A with following attributes:


Price (tag 44) = $5.00
ExecInst (tag 18) = 0
Were the Expected Results Obtained:
Action :
Yes
Order is fully rejected
Please cut and paste both Inbound and Outbound logs in the space below
43
No
Test Case # 24: Self Trade Prevention
Execute the Test Script:
Enter an order to Buy 1,000 shares of Stock A with following attributes:



Price (tag 44) = $5.00
TSXNoTradeFeat(tag 7713) = NM
TSXNoTradeKey(tag 7714) = TEST
Enter an order to Sell 1,000 shares of Stock A with following attributes:



Price (tag 44) = $5.00
TSXNoTradeFeat (tag 7713) = NM
TSXNoTradeKey(tag 7714) = TEST
Were the Expected Results Obtained:
Action :
Yes
Sell order is killed
Please cut and paste both Inbound and Outbound logs in the space below
44
No
Test Case # 25: TMX Select
Execute the Test Script:
Enter an order to Sell 1,000 shares of Stock A with following attributes:
 Account (tag 1) = 123
 Price (tag 44) = $5.00
 TSXAccountType (tag 6750) = CL
CFO order with following attributes:



Price (tag 44) = $5.05
TSXAccountType (tag 6750) = NC
TSXAnonymous (tag 6761) = Y
Were the Expected Results Obtained:
Action :
Yes
Order is booked with specified attributes
CFO is booked with new attributes
Please cut and paste both Inbound and Outbound logs in the space below
45
No
Download