Skip to content
Advertisement

Bloomberg not publishing prices from QuickFixJ

I am using QuickFixJ with SpringBoot to publish market price data to Bloomberg. When publishing prices, everything is working well. However, I cannot see any prices published on Bloomberg when I hit ALLQ.

Event log files :

8=FIXT.1.1^A9=60^A35=0^A34=617^A49=ARHGPROD^A52=20211110-16:16:44.472^A56=BBGPROD^A10=223^A
8=FIXT.1.1^A9=60^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=603^A52=20211110-16:16:58.566^A10=227^A
8=FIXT.1.1^A9=60^A35=0^A34=618^A49=ARHGPROD^A52=20211110-16:17:14.472^A56=BBGPROD^A10=222^A
8=FIXT.1.1^A9=60^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=604^A52=20211110-16:17:28.573^A10=224^A
8=FIXT.1.1^A9=60^A35=0^A34=619^A49=ARHGPROD^A52=20211110-16:17:44.472^A56=BBGPROD^A10=226^A
8=FIXT.1.1^A9=60^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=605^A52=20211110-16:17:58.576^A10=231^A
8=FIXT.1.1^A9=89^A35=A^A34=1^A49=ARHGPROD^A52=20211110-16:18:45.788^A56=BBGPROD^A98=0^A108=30^A141=Y^A789=1^A1137=9^A10=059^A
8=FIXT.1.1^A9=83^A35=A^A49=BBGPROD^A56=ARHGPROD^A34=1^A52=20211110-16:18:46.082^A98=0^A108=30^A141=Y^A1137=9^A10=018^A
8=FIXT.1.1^A9=161^A35=X^A34=2^A49=ARHGPROD^A52=20211110-16:18:49.492^A56=BBGPROD^A1022=KPIS^A268=2^A279=0^A269=0^A48=XS2269741729^A22=4^A270=99.59^A279=0^A269=1^A48=XS2269741729^A22=4^A270=100.59^A10=192^A
8=FIXT.1.1^A9=161^A35=X^A34=3^A49=ARHGPROD^A52=20211110-16:18:49.496^A56=BBGPROD^A1022=KPIS^A268=2^A279=0^A269=0^A48=XS2269741729^A22=4^A270=99.59^A279=0^A269=1^A48=XS2269741729^A22=4^A270=100.59^A10=197^A
8=FIXT.1.1^A9=160^A35=X^A34=4^A49=ARHGPROD^A52=20211110-16:18:49.499^A56=BBGPROD^A1022=KPIS^A268=2^A279=0^A269=0^A48=XS2343341074^A22=4^A270=98.39^A279=0^A269=1^A48=XS2343341074^A22=4^A270=99.39^A10=128^A
8=FIXT.1.1^A9=160^A35=X^A34=5^A49=ARHGPROD^A52=20211110-16:18:49.500^A56=BBGPROD^A1022=KPIS^A268=2^A279=0^A269=0^A48=XS2343341074^A22=4^A270=98.39^A279=0^A269=1^A48=XS2343341074^A22=4^A270=99.39^A10=112^A
8=FIXT.1.1^A9=58^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=2^A52=20211110-16:19:16.585^A10=129^A
8=FIXT.1.1^A9=58^A35=0^A34=6^A49=ARHGPROD^A52=20211110-16:19:19.609^A56=BBGPROD^A10=133^A
8=FIXT.1.1^A9=58^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=3^A52=20211110-16:19:46.587^A10=135^A
8=FIXT.1.1^A9=58^A35=0^A34=7^A49=ARHGPROD^A52=20211110-16:19:49.609^A56=BBGPROD^A10=137^A
8=FIXT.1.1^A9=58^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=4^A52=20211110-16:20:16.595^A10=124^A
8=FIXT.1.1^A9=58^A35=0^A34=8^A49=ARHGPROD^A52=20211110-16:20:19.609^A56=BBGPROD^A10=127^A
8=FIXT.1.1^A9=58^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=5^A52=20211110-16:20:46.597^A10=130^A
8=FIXT.1.1^A9=58^A35=0^A34=9^A49=ARHGPROD^A52=20211110-16:20:49.609^A56=BBGPROD^A10=131^A
8=FIXT.1.1^A9=58^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=6^A52=20211110-16:21:16.603^A10=117^A
8=FIXT.1.1^A9=59^A35=0^A34=10^A49=ARHGPROD^A52=20211110-16:21:19.609^A56=BBGPROD^A10=170^A
8=FIXT.1.1^A9=58^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=7^A52=20211110-16:21:46.610^A10=119^A
8=FIXT.1.1^A9=59^A35=0^A34=11^A49=ARHGPROD^A52=20211110-16:21:49.609^A56=BBGPROD^A10=174^A
8=FIXT.1.1^A9=58^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=8^A52=20211110-16:22:16.616^A10=124^A
8=FIXT.1.1^A9=59^A35=0^A34=12^A49=ARHGPROD^A52=20211110-16:22:19.609^A56=BBGPROD^A10=173^A
8=FIXT.1.1^A9=58^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=9^A52=20211110-16:22:46.621^A10=124^A
8=FIXT.1.1^A9=59^A35=0^A34=13^A49=ARHGPROD^A52=20211110-16:22:49.609^A56=BBGPROD^A10=177^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=10^A52=20211110-16:23:16.626^A10=168^A
8=FIXT.1.1^A9=59^A35=0^A34=14^A49=ARHGPROD^A52=20211110-16:23:19.609^A56=BBGPROD^A10=176^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=11^A52=20211110-16:23:46.632^A10=169^A
8=FIXT.1.1^A9=59^A35=0^A34=15^A49=ARHGPROD^A52=20211110-16:23:49.609^A56=BBGPROD^A10=180^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=12^A52=20211110-16:24:16.636^A10=172^A
8=FIXT.1.1^A9=59^A35=0^A34=16^A49=ARHGPROD^A52=20211110-16:24:19.609^A56=BBGPROD^A10=179^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=13^A52=20211110-16:24:46.643^A10=174^A
8=FIXT.1.1^A9=59^A35=0^A34=17^A49=ARHGPROD^A52=20211110-16:24:49.609^A56=BBGPROD^A10=183^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=14^A52=20211110-16:25:16.647^A10=177^A
8=FIXT.1.1^A9=59^A35=0^A34=18^A49=ARHGPROD^A52=20211110-16:25:19.609^A56=BBGPROD^A10=182^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=15^A52=20211110-16:25:46.654^A10=179^A

Message log files :

8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=30^A52=20211110-16:33:16.726^A10=172^A
8=FIXT.1.1^A9=59^A35=0^A34=34^A49=ARHGPROD^A52=20211110-16:33:19.609^A56=BBGPROD^A10=179^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=31^A52=20211110-16:33:46.731^A10=172^A
8=FIXT.1.1^A9=59^A35=0^A34=35^A49=ARHGPROD^A52=20211110-16:33:49.609^A56=BBGPROD^A10=183^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=32^A52=20211110-16:34:16.733^A10=173^A
8=FIXT.1.1^A9=59^A35=0^A34=36^A49=ARHGPROD^A52=20211110-16:34:19.609^A56=BBGPROD^A10=182^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=33^A52=20211110-16:34:46.739^A10=183^A
8=FIXT.1.1^A9=59^A35=0^A34=37^A49=ARHGPROD^A52=20211110-16:34:49.609^A56=BBGPROD^A10=186^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=34^A52=20211110-16:35:16.742^A10=176^A
8=FIXT.1.1^A9=59^A35=0^A34=38^A49=ARHGPROD^A52=20211110-16:35:19.609^A56=BBGPROD^A10=185^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=35^A52=20211110-16:35:46.750^A10=179^A
8=FIXT.1.1^A9=59^A35=0^A34=39^A49=ARHGPROD^A52=20211110-16:35:49.609^A56=BBGPROD^A10=189^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=36^A52=20211110-16:36:16.757^A10=185^A
8=FIXT.1.1^A9=59^A35=0^A34=40^A49=ARHGPROD^A52=20211110-16:36:19.609^A56=BBGPROD^A10=179^A
8=FIXT.1.1^A9=59^A35=0^A49=BBGPROD^A56=ARHGPROD^A34=37^A52=20211110-16:36:46.763^A10=186^A
8=FIXT.1.1^A9=162^A35=X^A34=41^A49=ARHGPROD^A52=20211110-16:36:49.235^A56=BBGPROD^A1022=KPIS^A268=2^A279=0^A269=0^A48=XS2269741729^A22=4^A270=99.59^A279=0^A269=1^A48=XS2269741729^A22=4^A270=100.59^A10=239^A
8=FIXT.1.1^A9=162^A35=X^A34=42^A49=ARHGPROD^A52=20211110-16:36:49.236^A56=BBGPROD^A1022=KPIS^A268=2^A279=0^A269=0^A48=XS2269741729^A22=4^A270=99.59^A279=0^A269=1^A48=XS2269741729^A22=4^A270=100.59^A10=241^A

My Java code :

/**
 * Classe responsable de la publication des prix sur Bloomberg
 * */
public class BloombergPricePublisher {
    Logger logger = LoggerFactory.getLogger(BloombergPricePublisher.class);
    /**
     * Constructeur de BloombergPricePublisher
     * */
    public BloombergPricePublisher(){
        super();
    }

    /**
     * Méthode de publication d'un prix sur Bloomberg
     * */
    public void publish(MarketPrice marketPrice) {

        MarketDataIncrementalRefresh marketDataIncrementalRefresh = createMarketDataIncrementalRefresh(marketPrice);

        try{
            for (SessionID sessionID : ValuationApplication.threadedSocketInitiator.getSessions()){

                Boolean sent = Session.lookupSession(sessionID).send(marketDataIncrementalRefresh);
                logger.info("Prix publié sur Bloomberg : " + marketDataIncrementalRefresh.toString().replace('01', '|'));
                logger.info("Confirmation de réception : " + sent);

            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }

    /**
     * Méthode de création d'un nouveau prix pour le publier sur Bloomberg
     * @param marketPrice
     * */
    public MarketDataIncrementalRefresh createMarketDataIncrementalRefresh(MarketPrice marketPrice) {

        quickfix.fix50sp2.MarketDataIncrementalRefresh message = new MarketDataIncrementalRefresh();

        quickfix.fix50sp2.MarketDataIncrementalRefresh.NoMDEntries group = new MarketDataIncrementalRefresh.NoMDEntries();

        message.getHeader().setString(1022, "****");

        /**
         * FIX tags :
         * 8: BeginString
         * 9: BodyLength
         * 10: CheckSum
         * 22: IDSource
         * 34: MsgSeqNum
         * 35: MsgType
         * 49: SenderCompID
         * 52: SendingTime
         * 56: TargetCompID
         * 268: NoMDEntries
         * 269: MDEntryType
         * 270: MDEntryPx
         * 279: MDUpdateAction (0 = New, 1 = Change, 2 = Delete)
         * */

        /**
         * Ajout prix Bid au message
         * */
        group.setString(48, marketPrice.getISIN());
        group.setString(22, "4");
        group.setString(279, "0");
        group.setString(269, "0");
        group.setString(270, marketPrice.getBid_kech().toString());
        message.addGroup(group);

        /**
         * Ajout prix Ask au message
         * */
        group.setString(48, marketPrice.getISIN());
        group.setString(22, "4");
        group.setString(279, "0");
        group.setString(269, "1");
        group.setString(270, marketPrice.getAsk_kech().toString());
        message.addGroup(group);

        return message;
    }
}

I cannot see what I’m doing wrong as my parameter send is set to true after the Publish method is called. Can anyone help me with this issue? Many thanks in advance !

Advertisement

Answer

Just changed publication to CUSIP instead of ISIN

User contributions licensed under: CC BY-SA
7 People found this is helpful
Advertisement