Quote Management
Once you establish a session with Bloomberg, it will start sending Quote requests/Market data requests. The received requests will be first converted to com.apama.fix.bloomberg.QuoteRequest then will be converted to com.apama.mds.SubscribeDepth and routed to external Business application. Business application needs to send com.apama.mds.MDServerDepth to the adapter. The adapter processes MDServerDepth and sends com.apama.fix.Quote to Bloomberg.
Example:
com.apama.fix.QuoteRequest("RFQ","FIX.4.2:APAMA_RFQ_TEST->Bloomberg_FX_TEST"
,"1",[com.apama.fix.QuoteRequest_RelatedSym("EUR/USD",1000,{15:"EUR",40:"C",
54:"0",60:"20010909-01:46:40",64:"20131119",167:"FOR",6215:"1M"})],
{},
{"1":"FXPV","35":"R","5082":"2","52":"20130924-10:24:37.118","6065":"15",
"75":"20131119","78":"[]"})
com.apama.fix.Quote("RFQ","FIX.4.2:APAMA_RFQ_TEST->Bloomberg_FX_TEST",
"EUR/USD_Depth:5082:2:40:C",
"EUR/USD","",{1250:392213.589957,1499:392213.589959},{"1":"FXPV",
"131":"1","15":"EUR","167":"FOR","38":"1000","40":"C","5082":"2",
"54":"0","60":"20010909-01:46:40","6065":"15","6215":"1M","64":"20131119",
"75":"20131119","78":"[]","RelatedPayload":"{15:\"EUR\",38:\"1000\",40:\"C\
",54:\"0\",60:\"20010909-01:46:40\",64:\"20131119\",167:\"FOR\",6215:\"1M\"}"})
If business application wants to stop streaming prices, it can send com.apama.mds.MDServerDepth with an extraparam 'isCancelled' set true. This will send QuoteCancel to Bloomberg.
com.apama.fix.QuoteCancel("RFQ","FIX.4.2:APAMA_RFQ_TEST->Bloomberg_FX_TEST",
"*",1,[],{1250:392477.121503, 1499:392477.121512},{"35":"Z","131":"1",
"52":"20131125-13:20:20.452"})
Application | FIX Quote Provider | Server |
| <-- mds.SubscribeDepth <-- | QuoteRequest |
| QuoteCancel --> | |
mds.MarketDataRequestReject | --> QuoteAcknowledgement --> | |
mds.MDServerDepth | --> Quote --> | |