Imported from previous forum
When a stop order is triggered, I want to return the market price that caused the trigger in the execution report. This could of course be different than the StopPx on the order because the market could have moved quickly downwards.
However, I can’t find a field that seems appropriate. I looked at 5.0 fields and also the user defined fields.
I need a reference price related to the trigger of the order.
The description doesn’t fit, but the tag that seems to be best:
1095/PeggedRefPrice
Ideally, I would like to avoid creating a 20000 range tag.
Any suggestions?
I have not come across such a requirement yet but I consider it to be a gap in FIX. Semantically, we would need a new field called something like EffectiveTriggerPrice(TBD) to go along with TriggerPrice(1102) (or StopPx(99)) which is the price for triggering entered by the order submitter. Both are likely to be equal in liquid markets because even in a market moving down very quickly, each "move" should require the verification of resting stop orders and could cause them to be triggered, even if the triggered order is not processed before the entire transaction caused by the incoming order has been completed. Transaction boundaries are important here for the sequence of execution.
For example, an incoming order may match (downwards) against multiple resting orders at different prices. One of those prices might cause a stop order to be triggered, not necessarily the last of those prices. The devil is in the details on how to handle (cascading) triggers of stop limit and stop market orders. See Chapter 4.3 in http://www.eurexchange.com/blob/exchange-en/467204/636686/3/data/eurex_functional_reference_v201.pdf for the approach Eurex has taken for derivatives.
Thanks Hanno.
The markets concerned are illiquid, so the price might have moved suddenly downwards below the trigger.