RFQ workflow for equity options

Hi,

I have a question about RFQ workflow with FIX for BUY-side use in the context of equity options. The particularity of RFQ workflow in case of options is that the business workflow do not end with Acceptation of quote.

After the RFQ, the trader needs to hedge the options and then declare the option dealt with the client on the market (=cross order). These 2 last steps are just orders (one for the hedge the other for the option) and we can easily use FIX order workflow.

The particularity, which doesn’t seem to be handled in FIX, is between these 2 orders : actually when the hedge order is FILLED, the average price is used to adjust the option price (as option price is directly linked to hedge price = spot price). This adjusted price is then used in the cross order.

I don’t see any message in FIX that will allow trader to send the adjusted price to the client (this price is computed using delta, gamma etc…) between the hedge order and the cross order.

Therefore my question is : is there any good practice for such use case ? I checked what is done by platform like Tradeweb, Bloomberg or RFQHub and this sound not very FIX compliant for me.

I hope I was clear :slight_smile:

Thanks for your feedback,

Cheers,

PyT

A hedge as you describe is a kind of strategy fully supported by the FIX standard. You define the hedge and cross in separate Legs of a single message - NewOrderMultileg(35=AB) for order book trading or QuoteRequest(35=R) for negotiated trading. The dealer responding to the request must price both legs as a single trading unit adjusting as needed. When the buyside accepts the quote the dealer fills both Legs simultaneously sending either a single multi-leg ExecutionReport(35=8) or two separate ExecutionReport(35=8) messages.

A number of trading platforms support this workflow.

Another thought from my side if individual orders are required for other reasons and you want to change the price of the other order as soon as the hedge order is filled. I am not sure whether the cross order is then also filled. This would be a pre-requisite when using NewOrderMultileg as suggested by Dean. He is more familiar with RFQ flows than I am.

The TriggeringInstruction component lets you link two orders together in a way that an order is changed (or even cancelled) if a certain event occurs on another order. TriggerType(1100) defines the event and TriggerAction(1101) the change. TriggerNewPrice(1110) allows you to define a new price. Normally this all refers to the same order, i.e. the one containing the triggering instruction (e.g. for complex stop orders). However, the field TriggerScope(1628) allows you to point to another order by also using RefOrderID(1080).

Please also have a look at Extension Pack 100 (https://www.fixtrading.org/packages/ep100/) for some other use cases.

Thanks a lot guys, I will look into it. Very helpful thanks