All Courses are free for limited time.
NISM Professor

Self-trade check

An exchange pre-trade control that cancels an incoming order — the active or passive side — when it would match against another order from the same PAN or custodial-participant code.

In plain language

A trader is not supposed to be both the buyer and the seller of the same trade. It can happen by accident — two desks of the same broker, or the same client's orders routed through different members, ending up on opposite sides of the same trade. The exchange stops this before it happens with a self-trade check.

How it works

The workbook's own description, listed among the exchange's pre-trade checks: "Pro/Client orders entered by same/different members are resulting in self-trade due to same PAN or CP code, as the case may be, on the active and passive side, the same shall result in active or passive order will get cancelled due to self-trade checks."

Unpacked, the check works like this:

  • The trigger is a matching PAN (for a client order) or a matching custodial participant (CP) code (for a custodian-cleared order) appearing on both sides of a potential trade.
  • It does not matter whether the two orders came from the same member or different members — the check looks at the underlying PAN/CP code, not the broker.
  • It applies to both proprietary and client orders.
  • The result is a cancellation — of the active order (the one that arrived and would have matched) or the passive order (the one already resting in the book), as the case may be — rather than letting the trade go through.

The self-trade check sits alongside other pre-trade controls the workbook lists in the same place: the trade execution range (based on the contract's reference price), market price protection, the kill switch (cancel all outstanding orders in one command) and cancel on logout.

A worked example

A brokerage runs two separate dealing desks for the same large corporate client, who holds one PAN across both. Desk A places a sell order for 50 lots of 6.10% GOI 2031 futures at Rs 98.60. Minutes later, Desk B — unaware of Desk A's order — places a buy order for 50 lots at the same price for the same underlying client.

When the exchange's matching engine sees the incoming buy order would match against the resting sell order, it checks the PAN behind each side. Both orders carry the same PAN. The self-trade check fires, and the incoming (active) buy order is cancelled rather than matched — the client never ends up as both buyer and seller of the same 50 lots, and no artificial trade or volume is created.

Had the two orders instead belonged to two genuinely different clients who simply happened to route through the same broker, the PAN check would find no match, and the trade would proceed normally.

Why NISM asks about it

Chapter 6 (Trading Mechanism in Exchange Traded IRD), in the section on pre-trade checks, lists the self-trade check alongside the trade execution range, market price protection, kill switch and cancel-on-logout as part of the exchange's order-entry risk controls. Expect a question distinguishing what triggers cancellation under this check (same PAN/CP code) from other pre-trade controls.

Common exam traps

  • The check is based on PAN or CP code, not on which broker or trading member entered the order. Two different members can still trigger it if the underlying client is the same.
  • Either the active or the passive order is cancelled — the workbook does not say the trade is merely flagged; it is stopped.
  • This is a pre-trade check, run at the point of matching — it is different from post-trade client code modification rules, which deal with correcting genuine entry errors after execution.
  • It applies to proprietary as well as client orders.

Where this is taught

Free preparation for NISM Series IV

Related terms

← All terms
Something look wrong? Report it