Imported from previous forum
Today I am trying to understand FX Swap orders with a Limit Price.
Problem 1: Differentiating Limit and Market Swap Orders
It appears that for FX Swap Orders, the OrdType should always be:
40=G (Forex-Swap)
However with OrdType overloaded in this manner, it begs the question: how is one to differentiate a Market Swap Order from a Limit Swap Order?
Presently the idea I have is that if the Swap order omits Price(44) and Price2(640) it should be regarded as a Market order, otherwise if the Prices are populated it is a Limit Order? (If only one Price is populated, this could be considered an error.)
Problem 2: What does "Limit" mean in the context of the way Forex – Swap Orders are submitted?
In Volume 4 of the FIX spec, under Price (44) we see:
“For F/X orders, should be the ‘all-in’ rate (spot rate adjusted for forward points)”
For Price2 (640) we see:
“Can be used with OrdType = ‘Forex - Swap’ to specify the price for the future portion of a F/X swap which is also a limit order. For F/X orders, should be the ‘all-in’ rate (spot rate adjusted for forward points).”
For a vanilla swap where the near portion is executed on the Spot date and the far portion on a future date, we would therefore see:
Symbol=EUR/USD
Price=X.XX (this is the Spot Rate, since the All-In-Rate and Spot Rate are the same thing for this leg)
Price2=Y.YY (this is the All-In-Rate for the future portion)
When this order is executed, one might expect:
Price(44)=X.XX (spot rate, echoed from New Order Single)
Price2(640)=Y.YY (All-In-Rate for future portion, also echoed)
AvgPx(6)=Y.YY (Price we executed at )
LastPx(31)=Y.YY (Price we executed at )
LastSpotRate(194)=X.XX (By definition)
LastForwardPoints2(641)=Roughly speaking, difference between X.XX and Y.YY (By definition)
The only possible controversial field in that fill is the choice of LastForwardPoints2 over LastForwardPoints (195). This seems logical to me as the Forward Points in a vanilla swap apply to the future portion. We would use LastForwardPoints for a Forward Outright fill, or a Tom/Next swap, and we would use both LastForwardPoints and LastForwardPoints2 for a Forward Forward Swap fill.
Time for some questions:
Firstly: In a Forward Forward Swap scenario, given Price=All-In-Rate for first portion, Price2=All-In-Rate for second portion, we note neither portion falls on the Spot Date. This means the New Order Single message for a Forward Forward Swap does not contain the Spot Rate anywhere?
This is unfortunate, but acceptable if one is trading in a Previously Quoted scenario, where the Spot Rate in question is clearly understood by both parties.
Secondly: n the eyes of the FIX specification, what does Limit mean for a Swap Order?
As we have seen above, a vanilla Swap order contains the Spot Rate and All-In-Rate for the two legs of the Swap order. Assume we are trading on a firm price, streamed to the client. We are accepting a Limit order, meaning the execution will be at the Limit Price or better.
What happens if the Spot Rate and the Forward Points both move between the time the client receives the streamed Price and we receive the order they submit? eg, assume the Spot Rate gets worse, and the Forward Points get better, leaving a situation where the All-In-Rate is actually better for the client. Should we execute this Limit order? To put it another way: when we do a Limit order with a Swap, which Rate are we guaranteeing will not get worse? Is the Limit Price specified by considering both the Price & Price2 fields, or only one of them?
For contrast, in our OMS we avoid this problem by expressing Swaps in terms of Forward Points. The prices we provide are Forward Points and the Limit Price submitted in a Swap order is the Forward Points. In the FIX model, instead of using the Forward Points the Swap order is defined in terms of the Spot Rate and the All-In-Rate. It is not clear to us which Rate we are committing to execute ‘no-worse-than’ when we get a Swap Limit order. Is the scenario I give above a realistic concern? How do those trading Swap for FX currently handle this ambiguity?