Restate settlement price due to Corporate Action

Corporate actions (e.g. stock splits) can change the previous day’s settlement price. We (the exchange) must communicate the restated price to:

  1. Satisfy a regulatory requirement; and
  2. Allow client systems to ingest the new price (e.g. for margin requirements)

We have two ideas, but we welcome other ideas.

Option 1: As a Settlement Price with 286=4

Communicate the new price over MD Snapshot and MD Incremental messages just like our “regular” settlement prices, but set tag 286 (OpenCloseSettlFlag) to ‘4’ (Entry from previous business day) to indicate it’s a restated price.

MDEntryDate would be set to the previous trading day.

Option 2: As a new Reference Price

Set tag 1150 (TradingReferencePrice) in the PriceLimits group (on MD Snapshot, MD Incremental, and SecurityList messages) to the new price.

The challenge with this is that we already use the PriceLimits group to communicate an instrument’s “relative price limits” (i.e. orders must be entered at a price within a configurable % above and below the settlement price).

Furthermore, not every instrument has relative price limits. However, we could do the following:

When an instrument has relative price limits

Set the PriceLimits group normally. That is:
1306 (PriceLimitType) = 2 (Percentage)
1148 (LowLimitPrice) and 1149 (HighLimitPrice) = [the configurable % bands]
1150 (TradingReferencePrice) = [the restated settlement price]

We would modify our system to ensure the price limits are based off the restated price, so setting 1150 to the new price is accurate.

When an instrument does not have relative price limits

1306 = 2 (or should we omit 1306 entirely?)
1148 and 1149 are omitted entirely
1150 = [the restated settlement price]
Possibly: 5796 (TradingReferenceDate) = [the previous trading day]

Discussion

  1. The problem with Option 1 is that, although I’ve been using the language “restated settlement price” in this post for simplicity, it may be wrong to frame things as such. It may be more accurate to frame things as “restated reference price”. After all, the settlement price on the day before the stock split was 100% correct, and arguably still is correct even after the split. So while Option 1 may be technically feasible, it may simply be wrong in a business sense to say that the settlement price “changed”.

  2. The problem with Option 2 is that we may be misusing the PriceLimits group. In the case where the instrument has no price limits, will it be confusing for clients to see a PriceLimits group with tag 1148 and 1149 omitted?

It depends on the regulatory requirement as you can send an updated settlement price from the previous day and/or a trade reference price for the current day. Does the official settlement price change for the previous day after a stock split? Then you should send an updated settlement price. TradingReferencePrice(1150) can be any price and should not be implied to be the last settlement price, i.e. you should send a reference price as well, even if both are identical. The context is different.

PriceLimits is a component (not a repeating group) and hence has no mandatory fields. PriceLimitType(1306) has a default of 0=Price and can even be omitted when stating a range with LowLimitPrice(1148) and HighLimitPrice(1149). You should omit PriceLimitType(1306) if you are not using one or both of the limit fields.

However, if the range is defined out-of-band or not relevant, you can use the component with just TradingReferencePrice(1150). It is a parameter for the price validation of incoming orders and can be the sole parameter, e.g. when the limit percentages never change. The Rules of Engagement should then state how the reference price is used to validate orders.

1 Like

I would add that there is a field called CorporateAction(292) that should be considered so you can signal that this is a corporate action change, then to me either option could work as you now have something that tells you this “restated reference price” is due to a corporate action event.