Understand PHLX Order Price Protection

Discussion in 'Options' started by q0987, Jul 26, 2019.

  1. q0987

    q0987

    https://business.nasdaq.com/media/PHLXOrderRiskManagement_tcm5044-53209.pdf

    When the contra side NBBO or the internal market BBO is at or less than $1.00, orders with a limit more than 100% through the contra side NBBO will be rejected.

    When the contra side NBBO or the internal market BBO is greater than $1.00, orders with a limit more than 50% through the contra side NBBO will be rejected.

    Example A:
    NBBO: 0.70 - 0.80
    Order to buy 50 for 2.00 received during free trading.
    Reject order because limit is priced through the 1.60 threshold.

    Question> Why the order to buy 50 for 2.00 is rejected? where do we get this 1.60 threashold?

    0.80 x (1+100%) = 1.60?

    If that is the case, given NBBO $100.00 - $100.50
    the threshold will be $100.50 x 2 = $201? So I cannot place a buy order with price of $202?

    Can some please explain this rule for me?

    Thank you

    BTW:
    I also have problems to understand the following two more examples:


    B -- NBBO: 0.70 - 0.80
    Cancel replace a resting buy order for 2.00 during free trading.
    The order is replaced (meaning the original got cancelled).
    The replacement gets an unsolicited out because limit is priced through the 1.60 threshold.

    C -- NBBO: 0.70 - 0.80
    Accept a buy stop limit order for stop price 0.75 and price 1.6
    NBBO moves to 0.75 – 0.80
    The order is elected but it gets an unsolicited cancel because limit is priced through the 1.60 threshold.
     
  2. rb7

    rb7

    The calculated limit over $1.00 is 50% (of the opposite side of the order), so for a NBBO of 100.00-100.50, the max will be (100.50 + (100.50 x 50%)) = $150.75 for a Buy order.

    In your first example, the NBBO is lower than $1.00, so the limit is 100% of the opposite limit. For a Buy order, if the NBBO is 0.70-0.80, the limit is (0.80 + (100% of 0.80)) = $1.60. Any buy order greater than $1.60 is rejected.

    The same goes for the other examples.

    Many option exchanges have similar price control to avoid fat finger error.
     
  3. q0987

    q0987

    Hello rb7,

    C -- NBBO: 0.70 - 0.80
    Accept a buy stop limit order for stop price 0.75 and price 1.6
    NBBO moves to 0.75 – 0.80
    The order is elected but it gets an unsolicited cancel because limit is priced through the 1.60 threshold.


    Based on the formula, the buy order threshold is 0.80 + 100%*0.80=1.6.
    So a buy stop limit order for stop price 0.75(<1.6) and price 1.6(=1.6) are accepted.

    When NBBO moves to 0.75 - 0.80, why the order gets an unsolicited cancel?
    Since the ask price is still 0.80 and the threshold should still be 1.60.

    Please refer to 2.2.11 Order price protection
    https://www.nasdaqtrader.com/content/phlxxl/FIX_SessionAndApplicationManual.pdf

    Thank you
     
  4. rb7

    rb7

    Because once the stop order is triggered it becomes a regular limit order and it is now subject to the price order protection.
     
  5. q0987

    q0987

    Hello rb7,

    Sorry, I still have problems to understand the example C.

    C -- NBBO: 0.70 - 0.80
    Accept a buy stop limit order for stop price 0.75 and price 1.6
    NBBO moves to 0.75 – 0.80
    The order is elected but it gets an unsolicited cancel because limit is priced through the 1.60 threshold.


    Question 1> Accept a buy stop limit order for stop price 0.75 and price 1.6
    Why does this buy stop limit order have two stop prices(i.e. 0.75 and 1.6)?
    Is it true that the order will become a limit order when the price moves to either 0.75 or 1.6?

    Question 2> When NBBO moves to 0.75-0.80, the converted limit order still doesn't exceed the threshold of $1.6, why this order has to be canceled?

    Thank you
     
  6. rb7

    rb7

    Q1: In this example, the 0.75 is the triggered price (or stop price) and the 1.60 is the price at which the order is booked once it's triggered (at 0.75).

    Q2: The order shouldn't be cancelled because it doesn't exceed the 1.6 limit. It's probably an error in their doc.
     
    q0987 likes this.
  7. q0987

    q0987

    thx