Imported from previous forum
Dear All,
Could you please help me with correct representation in FIX of currency swaps?
I use FIX44 and Market Data messages (V, W, X) to distribute different prices (Bid, Ask, Last, High, Low, Open, Close, etc.) for currency swaps.
For example, I have swap with CCY1/CCY2_TOD near leg and CCY1/CCY2_TOM far leg.
Market data source provides base swap price (rate for near leg) and then provides all prices (Bid, Ask, Last, …) as difference between rates for near leg and far leg.
So I am looking to correct way of representing this base swap price in messages.
I see different tags like BidSwapPoints(1065), OfferSwapPoints(1066), LegBidForwardPoints(1067), LegOfferForwardPoints(1068), SwapPoints(1069), LastSwapPoints(1071) in FIX 5.0.
However, it looks like they do not fit.
First of all, they are not defined in Market Data messages. Also there are no possibility to represent other prices except Bid/Offer/Last.
Could you please advise?
Maybe I missed something?
Thank you in advance!
[ original email was from Jay Hurley - Jay.Hurley@morganstanley.com ]
The FX committee like all FIX committees is driven by industry practice and demand. At least at the time, there was no demand for streaming swap prices. Typically the RFQ model is used for this product so the fields that you need are missing from market data because the analysis was not done. Perhaps you could explain a bit more about the business driver for streaming swaps.
Dear All,
Could you please help me with correct representation in FIX of
currency swaps?I use FIX44 and Market Data messages (V, W, X) to distribute
different prices (Bid, Ask, Last, High, Low, Open, Close, etc.) for
currency swaps.For example, I have swap with CCY1/CCY2_TOD near leg and CCY1/CCY2_TOM
far leg. Market data source provides base swap price (rate for near leg)
and then provides all prices (Bid, Ask, Last, …) as difference between
rates for near leg and far leg.So I am looking to correct way of representing this base swap price
in messages.I see different tags like BidSwapPoints(1065), OfferSwapPoints(1066),
LegBidForwardPoints(1067), LegOfferForwardPoints(1068),
SwapPoints(1069), LastSwapPoints(1071) in FIX 5.0. However, it looks
like they do not fit. First of all, they are not defined in Market Data
messages. Also there are no possibility to represent other prices except
Bid/Offer/Last.Could you please advise? Maybe I missed something?
Thank you in advance!
Hi Jay!
The FX committee like all FIX committees is driven by industry
practice and demand. At least at the time, there was no demand for
streaming swap prices. Typically the RFQ model is used for this
product so the fields that you need are missing from market data
because the analysis was not done. Perhaps you could explain a bit
more about the business driver for streaming swaps.
Currently we need to distribute statistical information about swap products (like BBO, Last, High, Low, etc.). We do not need to stream swap prices.
My main question is the following:
What is standard practice in distribution swap prices?
Is this correct to distribute price as difference between rate of near leg and far leg?
If yes, what is correct way to represent base swap price (rate of near leg) in FIX?
Thank you.
No one we know distributes swap prices like a market in itself (please enlighten us if wrong !).
That said, I see no reason why not. See below…
The FX committee like all FIX committees is driven by industry
practice and demand. At least at the time, there was no demand for
streaming swap prices. Typically the RFQ model is used for this
product so the fields that you need are missing from market data
because the analysis was not done. Perhaps you could explain a bit
more about the business driver for streaming swaps.Currently we need to distribute statistical information about swap
products (like BBO, Last, High, Low, etc.). We do not need to stream
swap prices.
BBO (Best Bid-Offer ?) is not statistic, but market data (= stream if continuous).
My main question is the following: What is standard practice in
distribution swap prices? Is this correct to distribute price as
difference between rate of near leg and far leg?
Yes, this is correct. Swap price = Farleg - Nearleg
If yes, what is correct
way to represent base swap price (rate of near leg) in FIX?
I don’t understand fully the question.
In the case of a “Forward-Forward” (near leg is NOT spot), it would still be interesting to have a Spot reference.
If you quoted only the difference (far - near) and a Spot ref it would be sufficient. If you added the individual leg swap points it would be overkill but very good.
Can you clarify again ?
Hi Oksana,
As you saw from Jay’s e-Mail the topic of Swap streaming rates is not completely clarified in FIX, but this is not to say that it cannot be done.
We are both working with the FX Technical subcommittee and I would like to help if I can.
I assume that you are looking to offer to users a way to connect to your FIX gateway and subscribe to a certain currency pair Swap points.
These points would update every time the market changes and a new market message would be sent to the subscriber.
If these assumptions are correct, could you clarify exactly which is your problem for formating the message ?
It is a benefit to publish a Spot price ref for a Swap, and this is possible. Which additional element are you looking for ?
Franck MIKULECZ
Dear All,
Could you please help me with correct representation in FIX of
currency swaps?I use FIX44 and Market Data messages (V, W, X) to distribute
different prices (Bid, Ask, Last, High, Low, Open, Close, etc.) for
currency swaps.For example, I have swap with CCY1/CCY2_TOD near leg and CCY1/CCY2_TOM
far leg. Market data source provides base swap price (rate for near leg)
and then provides all prices (Bid, Ask, Last, …) as difference between
rates for near leg and far leg.So I am looking to correct way of representing this base swap price
in messages.I see different tags like BidSwapPoints(1065), OfferSwapPoints(1066),
LegBidForwardPoints(1067), LegOfferForwardPoints(1068),
SwapPoints(1069), LastSwapPoints(1071) in FIX 5.0. However, it looks
like they do not fit. First of all, they are not defined in Market Data
messages. Also there are no possibility to represent other prices except
Bid/Offer/Last.Could you please advise? Maybe I missed something?
Thank you in advance!
Dear Franck,
Yes, your assumption is correct.
We have a FIX gateway which clients can connect to and subscribe to information (like High, Low, Close, Open, etc.) for different instruments. Currency swaps are among these instruments.
We use Market Data Request message for subscribe/unsubscribe and Market Data - Snapshot/Full Refresh and Market Data - Incremental Refresh messages to distribute information.
It looks clear for me how to send information on equities, for example.
But it is not clear how to send information on swaps.
For example, I have spot-forward swap for CCY1/CCY2.
Let us say that High price for this instrument is 0.0045, and this price in fact is a difference between forward rate and spot rate.
So I suppose that in Market Data messages I need to use MDEntryType(269) = ‘7’ and corresponding MDEntryPx(270) = 0.0045.
However, I need to send spot rate also, and I try to understand which tag should be used for this.
Please let me know if there is not enough information to understand what I try to achieve.
And thank you again for help.
Hi Oksana,
As you saw from Jay’s e-Mail the topic of Swap streaming rates is not
completely clarified in FIX, but this is not to say that it cannot be
done. We are both working with the FX Technical subcommittee and I would
like to help if I can.I assume that you are looking to offer to users a way to connect to your
FIX gateway and subscribe to a certain currency pair Swap points. These
points would update every time the market changes and a new market
message would be sent to the subscriber.If these assumptions are correct, could you clarify exactly which is
your problem for formating the message ? It is a benefit to publish a
Spot price ref for a Swap, and this is possible. Which additional
element are you looking for ?Franck MIKULECZ