FAQs on PAN based Self Trade Prevention Check (STPC) Mechanisms
Background:
Self-trades are trades executed on the stock market in which the same entity is both buyer and seller. These trades do not represent a real change in beneficial ownership of the security. Accordingly, a mechanism for Self Trade Prevention has been implemented by the Exchange.
STPC mechanism has been implemented by the Exchange in the Capital Markets (CM), Futures & Options (FO) and Currency Derivatives (CD) Segments.
STPC is applicable to all orders entered in continuous session (Normal Market & Block Window) and closing session. The mechanism shall be applicable during matching during the session.
STP check shall also be implemented for all other market types i.e. pre-open, special pre-open, and call auction session. The mechanism shall be applicable during order entry period where on encountering a potential self-trade, the active order shall be cancelled by default irrespective of option set in the active order.
STPC is applicable to all orders entered in continuous session. The mechanism shall be applicable during matching during the session.
The PAN no provided at the time of original order entry is a non-modifiable field. Members will not be able to modify the PAN no. using the option of order modification / order cancellation.
Yes, STPC mechanism is applicable for PRO as well as CLI - Custodial Participant (CP) and Non-Custodial Participant (Non-CP) orders.
In NEAT/NEAT Plus application-
Self Trade Prevention Option can be set from the “Order Entry Defaults” This window can be invoked from Menu Option of Dialog. Alternatively user can press [Alt + D + E ] keys to invoke this window.
The Self Trade Prevention Option will be set to “Cancel Passive Order” by default. The User can change the Self Trade Prevention Option to “Cancel Passive Order” or “Cancel Active Order” by clicking on respective radio button.
For NNF application-
Members are required to set the STP bit in the order structure while sending orders to the Exchange. Kindly refer API specs for details.
In case an order is resulting in a self-trade, the condition for cancellation as set in the active order shall be considered and accordingly the relevant order shall be cancelled.
The rejection message for orders cancelled due to STPC shall be “Order cancelled by the System - The order could have resulted in self-trade” (For 2L/3L orders refer point 10).
If an active PRO / CLI (Non-CP) order is likely to match with any passive order (PRO / Non-CP CLI / CP-CLI) having the same PAN (Permanent Account Number) in the same order book; then the active or passive order (full or partial as the case may be) as per the option set in order entry by the active order shall be cancelled by the Exchange with rejection message “Order cancelled by the System - The order could have resulted in Self- trade”.
Example 1:
Consider the below orders:
Passive:
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
11111 |
Buy |
Pro |
UVWXY1234Z |
|
10 |
64.0025 |
C1 |
11111 |
Buy |
Cli |
ABCDE1111F |
|
10 |
64.0000 |
C1 |
11111 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
C1 |
11111 |
Buy |
Cli |
GHIJK1111L |
|
10 |
63.0075 |
C1 |
22222 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
Active (client order): Same PAN but different member
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
33333 |
Sell |
Cli |
GHIJK1111L |
|
50 |
63.0075 |
Instruction set in active order: Cancel Active order
The STPC logic shall be as below:
- The active order shall get partially traded (30 qty) against the first three passive orders
- For the 4th passive order since the Client PAN is the same as that of the active order, the remaining active sell order (20 qty) shall be cancelled as the instruction set in active order is to cancel the active order resulting in self-trade.
- The outstanding orders shall be:
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
11111 |
Buy |
Cli |
GHIJK1111L |
|
10 |
63.0075 |
C1 |
22222 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
Example 2:
Consider the below orders:
Passive:
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
code |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
11111 |
Buy |
Pro |
UVWXY1234Z |
|
10 |
64.0025 |
C1 |
11111 |
Buy |
Cli |
ABCDE1111F |
|
10 |
64.0000 |
C1 |
11111 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
C1 |
11111 |
Buy |
Cli |
GHIJK1111L |
|
10 |
63.0075 |
C1 |
22222 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
Active (client order):
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
33333 |
Sell |
Cli |
GHIJK1111L |
|
50 |
63.0075 |
Instruction set in active order: Cancel Passive order
The STPC logic shall be as below:
- The active order shall get partially traded (30 qty) against the first three passive orders
- The 4th passive buy order shall be cancelled as the instruction set in active order is to cancel the passive order resulting in self-trade.
- The active order shall get further partially traded (10 qty) against the fifth passive order. Total traded qty shall be 40 qty
- The remaining 10 qty of the active sell order shall remain open in the book
- The outstanding orders shall be:
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
33333 |
Sell |
Cli |
GHIJK1111L |
|
10 |
63.0075 |
Example 3:
Consider the below orders:
Passive:
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
11111 |
Buy |
Cli |
ABCDE1111F |
|
10 |
64.0025 |
C1 |
11111 |
Buy |
Cli |
GHIJK1111L |
|
10 |
64.0000 |
C1 |
11111 |
Buy |
Cli |
GHIJK1111L |
|
10 |
63.0075 |
C1 |
11111 |
Buy |
Pro |
UVWXY1234Z |
|
10 |
63.0075 |
C1 |
22222 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
Active (Pro order):
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
11111 |
Sell |
Pro |
UVWXY1234Z |
|
50 |
63.0075 |
Instruction set in active order: Cancel Active order
The STPC logic shall be as below:
- The active order shall get partially traded (30 qty) against the first three passive orders
- For the 4th passive order since the PAN No. is the same as that of the active order, the remaining active sell order (20 qty) shall be cancelled as the instruction set in active order is to cancel the active order resulting in self-trade.
- The outstanding orders shall be:
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
11111 |
Buy |
Pro |
UVWXY1234Z |
|
10 |
63.0075 |
C1 |
22222 |
Buy |
cli |
ABCDE1111F |
|
10 |
63.0075 |
Example 4:
Consider the below orders:
Passive:
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
11111 |
Buy |
Cli |
ABCDE1111F |
|
10 |
64.0025 |
C1 |
11111 |
Buy |
Cli |
GHIJK1111L |
|
10 |
64.0000 |
C1 |
11111 |
Buy |
Cli |
GHIJK1111L |
|
10 |
63.0075 |
C1 |
11111 |
Buy |
Pro |
UVWXY1234Z |
|
10 |
63.0075 |
C1 |
22222 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
Active (Pro order):
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
11111 |
Sell |
Pro |
UVWXY1234Z |
|
50 |
63.0075 |
Instruction set in active order: Cancel Passive order
The STPC logic shall be as below:
- The active order shall get partially traded (30 qty) against the first three passive orders
- The 4th passive order shall be cancelled as the instruction set in active order is to cancel the passive order resulting in self-trade
- The active order shall get further partially traded (10 qty) against the fifth passive order. Total traded qty shall be 40 qty.
- The outstanding orders shall be:
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
11111 |
Sell |
Pro |
UVWXY1234Z |
|
10 |
63.0075 |
a) If an active CP code order is likely to match with a passive CP code order having the same CP code (excluding CP code “INST” for CM segment) in the same order book; Or
b) If an active CP code order is likely to match with a passive PRO / Client (Non CP code) order having the same PAN (Permanent Account Number) in the same order book;
Then the active or passive order (full or partial as the case may be) as per the option set in the in order entry by the active order shall be cancelled by the Exchange with rejection message “Order cancelled by the System - The order could have resulted in Self- trade”.
The self-trade prevention check in case of custodial participant (CP) orders shall be done at same CP code across members.
Example 1:
Consider the below orders:
Passive:
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
11111 |
Buy |
Pro |
UVWXY1234Z |
|
10 |
64.0025 |
C1 |
11111 |
Buy |
Cli |
ABCDE1111F |
|
10 |
64.0000 |
C1 |
11111 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
C1 |
11111 |
Buy |
Cli |
PQRST1234U |
CP0000000001 |
10 |
63.0075 |
C1 |
22222 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
Active (CP order):
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
33333 |
Sell |
Cli |
PQRST1234U |
CP0000000001 |
50 |
63.0075 |
Instruction set in active order: Cancel Active order
The STPC logic shall be as below:
- The active order shall get partially traded (30 qty) against first three orders
- Since the 4th passive order has the CP Code as that of the active order, the remaining active sell order (20 qty) shall be cancelled as the instruction set in active order is to cancel the active order resulting in self-trade.
- The outstanding orders shall be:
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
11111 |
Buy |
Cli |
PQRST1234U |
CP0000000001 |
10 |
63.0075 |
C1 |
22222 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
Example 2:
Consider the below orders:
Passive:
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
11111 |
Buy |
Pro |
UVWXY1234Z |
|
10 |
64.0025 |
C1 |
11111 |
Buy |
Cli |
ABCDE1111F |
|
10 |
64.0000 |
C1 |
11111 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
C1 |
11111 |
Buy |
Cli |
PQRST1234U |
CP0000000001 |
10 |
63.0075 |
C1 |
22222 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
Active (CP order):
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
33333 |
Sell |
Cli |
PQRST1234U |
CP0000000001 |
50 |
63.0075 |
Instruction set in active order: Cancel Passive order
The STP logic shall be as below:
- The active order shall get partially traded (30 qty) against first three orders
- The 4th passive order shall be cancelled as the instruction set in active order is to cancel the passive order resulting in self-trade.
- The active order shall get further partially traded (10 qty) against the fifth passive order. Total traded qty shall be 40 qty
- The outstanding orders shall be:
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
33333 |
Sell |
Cli |
PQRST1234U |
CP0000000001 |
10 |
63.0075 |
Yes, STPC is applicable on all symbols and contracts, including spread contracts.
STPC is applicable for all orders including the following conditions:
Time conditions: Day and IOC
Price conditions: Limit, market, stop loss, spread and 2L, 3L.
In case of stop loss orders, once the order is triggered or is modified such that it gets triggered, it becomes an active limit / market order. Accordingly, STPC mechanism as explained above shall become applicable.
If any one leg of the 2L / 3L order is resulting in self-trade then orders in both the legs shall get rejected after partial executing in both the legs as per the ratio to the extent possible. However, members may kindly note that for 2L/3L orders, if the orders are being rejected for STPC, the members will receive rejection reason for IOC and not STPC in the Exchange response messages.
If a passive order is modified it becomes an active limit / market order and the STPC mechanism as explained above shall become applicable. Members should ensure that the instruction to cancel active or passive order during order modification shall be same as set during order entry else the order modification request shall be rejected with message “CFO request rejected - The Order cannot be modified”.
STPC mechanism shall not be applicable during trade modification. Members need to take due precaution to prevent self-trade while performing trade modification. Members shall be solely responsible for the correctness of PAN provided in orders.
In cases where the investor is exempt from PAN, the member will need to mandatorily send ‘PAN_EXEMPT’ in the PAN Field. Members may however note that STPC shall be applicable even for “PAN_EXEMPT” clients. i.e. in case orders of 2 different “PAN_EXEMPT” clients is likely to match in the same order book; then the active or passive order (full or partial as the case may be) as per the option set in order entry shall be cancelled by the Exchange with rejection message “Order cancelled by the System – The order could have resulted in Self-trade”.
Client A and Client B two different clients and are both exempt from PAN. Both clients A and B are trading through different members of the Exchange.
As per Exchange circular, in cases where the investor is exempt from PAN, it will be mandatory to provide ‘PAN_EXEMPT’ in the PAN Field.
Example 1:
Consider the below orders:
Passive:
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
11111 |
Buy |
Pro |
UVWXY1234Z |
|
10 |
64.0025 |
C1 |
11111 |
Buy |
Cli |
ABCDE1111F |
|
10 |
64.0000 |
C1 |
11111 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
C1 |
11111 |
Buy |
Cli |
PAN_EXEMPT |
|
10 |
63.0075 |
C1 |
22222 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
Active (client order): Different Clients, both Exempt from PAN entering orders from different members
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
33333 |
Sell |
Cli |
PAN_EXEMPT |
|
50 |
63.0075 |
Instruction set in active order: Cancel Active order
The STPC logic shall be as below:
- The active order shall get partially traded (30 qty) against the first three passive orders
- For the 4th passive order since the PAN is the same i.e. “PAN_EXEMPT” as that of the active order, the remaining active sell order (20 qty) shall be cancelled as the instruction set in active order is to cancel the active order resulting in self-trade even if the clients are different for both the orders.
- The outstanding orders shall be:
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
11111 |
Buy |
Cli |
PAN_EXEMPT |
|
10 |
63.0075 |
C1 |
22222 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
Example 2:
Consider the below orders:
Passive:
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
11111 |
Buy |
Pro |
UVWXY1234Z |
|
10 |
64.0025 |
C1 |
11111 |
Buy |
Cli |
ABCDE1111F |
|
10 |
64.0000 |
C1 |
11111 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
C1 |
11111 |
Buy |
Cli |
PAN_EXEMPT |
|
10 |
63.0075 |
C1 |
22222 |
Buy |
Cli |
ABCDE1111F |
|
10 |
63.0075 |
Active (client order): Different Clients, both Exempt from PAN, entering orders from different members
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
33333 |
Sell |
Cli |
PAN_EXEMPT |
|
50 |
63.0075 |
Instruction set in active order: Cancel Passive order
The STPC logic shall be as below:
- The active order shall get partially traded (30 qty) against the first three passive orders
- The 4th passive buy order shall be cancelled as the instruction set in active order is to cancel the passive order resulting in self-trade even if the clients are different for both the orders.
- The active order shall get further partially traded (10 qty) against the fifth passive order. Total traded qty shall be 40 qty
- The remaining 10 qty of the active sell order shall remain open in the book
- The outstanding orders shall be:
Contract |
Member Code |
Buy/Sell |
Pro/Cli |
PAN |
Participant Code |
Quantity |
Price |
---|---|---|---|---|---|---|---|
C1 |
33333 |
Sell |
Cli |
PAN_EXEMPT |
|
10 |
63.0075 |
The client-type wise applicability of STPC in CM segment is as tabulated below:
SR No |
Segment |
Passive order |
Active order |
STPC Applicability |
STPC based on |
---|---|---|---|---|---|
1 |
CM |
PRO |
PRO |
Yes |
PAN No. |
2 |
CM |
PRO |
CLI Non-CP |
Yes |
PAN No. |
3 |
CM |
PRO |
CLI CP (other than INST) |
Yes |
PAN No. |
4 |
CM |
PRO |
CLI CP (INST) |
Yes |
PAN No. |
5 |
CM |
CLI Non-CP |
PRO |
Yes |
PAN No. |
6 |
CM |
CLI Non-CP |
CLI Non-CP |
Yes |
PAN No. |
7 |
CM |
CLI Non-CP |
CLI CP (other than INST) |
Yes |
PAN No. |
8 |
CM |
CLI Non-CP |
CLI CP (INST) |
Yes |
PAN No. |
9 |
CM |
CLI CP (INST) |
PRO |
Yes |
PAN No. |
10 |
CM |
CLI CP (INST) |
CLI Non-CP |
Yes |
PAN No. |
11 |
CM |
CLI CP (INST) |
CLI CP (other than INST) |
No |
- |
12 |
CM |
CLI CP (INST) |
CLI CP (INST) |
No |
- |
13 |
CM |
CLI CP (other than INST) |
PRO |
Yes |
PAN No. |
14 |
CM |
CLI CP (other than INST) |
CLI Non-CP |
Yes |
PAN No. |
15 |
CM |
CLI CP (Other than INST) |
CLI CP (other than INST) |
Yes |
Participant Id |
16 |
CM |
CLI CP (Other than INST) |
CLI CP (INST) |
No |
- |
The client-type wise applicability of STPC in F&O and CD segments is as tabulated below:
SR No |
Segment |
Passive order |
Active order |
STPC Applicability |
STPC based on |
---|---|---|---|---|---|
1 |
FO/CD |
PRO |
CLI Non-CP |
Yes |
PAN No. |
2 |
FO/CD |
PRO |
CLI CP |
Yes |
PAN No. |
3 |
FO/CD |
PRO |
PRO |
Yes |
PAN No. |
4 |
FO/CD |
CLI Non-CP |
CLI Non-CP |
Yes |
PAN No. |
5 |
FO/CD |
CLI Non-CP |
CLI CP |
Yes |
PAN No. |
6 |
FO/CD |
CLI Non-CP |
PRO |
Yes |
PAN No. |
7 |
FO/CD |
CLI CP |
CLI Non-CP |
Yes |
PAN No. |
8 |
FO/CD |
CLI CP |
CLI CP |
Yes |
Participant Id |
9 |
FO/CD |
CLI CP |
PRO |
Yes |
PAN No. |
The STPC mechanism has been updated over a period of time and the latest update was as per following circulars in the respective segment with the applicable dates:
Segment |
Exchange Circular |
Effective Date |
---|---|---|
CM |
NSE/CMTR/40132 dated February 05, 2019 |
April 8, 2019 |
FO |
NSE/ FAOP/40133 dated February 05, 2019 |
April 8, 2019 |
CD |
NSE/CD/40134 dated February 05, 2019 |
March 11, 2019 |
Download FAQs on PAN based Self Trade Prevention Check (STPC) Mechanisms (.pdf)
Disclaimer:
“This document/FAQ has been drafted in order to ease Member’s/reader’s understanding of the subject matter. The information and/ or content (collectively ‘Information’) provided herein is general information only and NSE has issued detailed circulars to that effect from time to time. While reasonable care has been exercised to ensure that the information is adequate and reliable, no representation is made by NSE as to its accuracy or completeness and NSE, its affiliates and subsidiaries accept no liability of whatsoever nature for any direct or consequential loss, including without limitation any loss of profits, arising from reliance on this Information. The readers are expected to undertake their own diligence and are advised not to solely rely on this document. Any such reliance shall be at the reader’s own risk. Nothing stated herein shall bind NSE, in any manner whatsoever.”