{{Quickfixn}} Handling Security Definitions

Lanfranco Morini Lanfranco.Morini at cegeka.it
Thu Oct 1 07:24:44 PDT 2020


Hi Raju,
what immediately jumps to the eye is the strange composition of the .FromString() result message, in fact part of the NoUnderlyings group (711) is outside from the group itself (you can find a tag 307 before tag 711=100 (see yellow highlighting in your message)) while another one is “inside” group…
Can I suggest to give a look at your dictionary?

Best,
Lanfranco


From: Quickfixn <quickfixn-bounces at lists.quickfixn.com> On Behalf Of Grant Birchmeier
Sent: giovedì 1 ottobre 2020 15:45
To: Mailing list for QuickFIX/n <quickfixn at lists.quickfixn.com>
Subject: Re: {{Quickfixn}} Handling Security Definitions

Raju,

Please don't send giant message logs to the list.  I have rejected it from being distributed to the list.

I am repasting the top portion of your message, which is more than enough for followup:

==== Begin message from Raju:

They are different in length.

The message logs and the sec def message in the onMessage call back and the message pushing into the queue as a string are all identical.
However when the message is converted back to SecDef object using the message.FromString() method it comes with weird message with only one underlying and with two tag 311 (see the bold below).

Below i am pasting the original message and the message after converting from string to SecDef object.

The below is the message after message.FromString() call :
{8=FIX.4.4||9=4012||35=d||34=6||49=ICE||52=20200930-04:09:45.018||56=50320||57=2||67=1||82=52||305=8||307=Butane, ID, Percentage of WTI 1st Line Future (CMA) (USD/bbl) - Dow - Ft. Saskatchewan - Jan21||308=IEPA||311=6249223||318=USD||320=319||322=2234250||323=4||326=17||393=5164||436=1.0||463=FXXXXX||542=20201231||763=0||916=20210101||917=20210131||998=cbm||1039=P||9013=0.00250||9014=500.0||9017=500.0||9022=1||9024=1.0||9025=N||9032=1.25000||9040=0.00250||9041=500||9061=21704||9062=Butane, ID, Percentage of WTI 1st Line Future (CMA) (USD/bbl)||9063=Butane, ID, Percentage of WTI 1st Line Future (CMA) (USD/bbl)||9064=0||9083=5||9084=0||9085=monthly||9100=USD||9101=%||9133=0.00250||9134=0.00250||9200=12||9201=1860||9202=Jan21||9205=0||9215=0||9216=0||9217=0||9300=24503||9301=Dow - Ft. Saskatchewan||9302=Dow - Ft. Saskatchewan||711=100||311=6249222||305=8||463=FXXXXX||763=0||542=20201231||436=1.0||308=IEPA||307=Butane, ID, Percentage of WTI 1st Line Future (CMA) (USD/bbl) - Plains - Ft. Saskatchewan - Jan21||318=USD||326=17||916=20210101||917=20210131||998=cbm||1039=P||9013=0.00250||9014=500.0||9017=500.0||9022=1||9024=1.0||9025=N||9032=1.25000||9040=0.00250||9041=500||9061=21704||9062=Butane, ID, Percentage of WTI 1st Line Future (CMA) (USD/bbl)||9063=Butane, ID, Percentage of WTI 1st Line Future (CMA) (USD/bbl)||9083=5||9084=0||9085=monthly||9100=USD||9101=%||9200=12||9201=1860||9202=Jan21||9205=0||9215=0||9216=0||9300=24500||9301=Plains - Ft. Saskatchewan||9302=Plains - Ft. Saskatchewan||10=050||}

The below is the original message:
8=FIX.4.4||9=53970||35=d||34=6||49=ICE||52=20200930-04:09:45.018||56=50320||57=2||67=1||82=52||320=319||322=2234250||323=4||393=5164||711=100||311=6249222||305=8||326=17||463=FXXXXX||763=0||542=20201231||436=1.0||308=IEPA||307=Butane, ID, Percentage of WTI 1st Line Future (CMA) (USD/bbl) - Plains - Ft. Saskatchewan - Jan21||318=USD||9040=0.00250||9041=500||1039=P||916=20210101||917=20210131||9032=1.25000||9061=21704||9062=Butane, ID, Percentage of WTI 1st Line Future (CMA) (USD/bbl)||9063=Butane, ID, Percentage of WTI 1st Line Future (CMA) (USD/bbl)||9215=0||9216=0||9205=0||9083=5||9084=0||9085=monthly||9100=USD||9101=%||9300=24500||9301=Plains - Ft. Saskatchewan||9302=Plains - Ft. Saskatchewan||9200=12||9201=1860||9202=Jan21||9013=0.00250||9014=500.0||9017=500.0||998=cbm||9022=1||9024=1.0||9025=N||9133=0.00250||9134=0.00250||9217=0||311=6249223||305=8||326=17||463=FXXXXX||763=0||542=20201231||436=1.0||308=IEPA||307=Butane, ID, Percentage of WTI 1st Line Future (CMA) (USD/bbl) - Dow - Ft. Saskatchewan - Jan21||318=USD||9040=0.00250||9041=500||1039=P||916=20210101||917=20210131||9032=1.25000||9061=21704||9062=Butane, ID, Percentage of WTI 1st Line Future (CMA) (USD/bbl)||9063=Butane, ID, Percentage of WTI 1st Line Future (CMA) (USD/bbl)||9215=0||9216=0||9205=0||9083=5||9084=0||9085=monthly||9100=USD||9101=%||9300=24503||9301=Dow - Ft. Saskatchewan||9302=Dow - Ft. Saskatchewan||9200=12||9201=1860||9202=Jan21||9013=0.00250||9014=500.0||9017=500.0||998=cbm||9022=1||9024=1.0||9025=N||9133=0.00250||9134=0.00250||9217=0||311=6249351||305=8||326=17||463=FXXXXX||763=0||542=20211231||436=1000.0||308=IEPA||307=IsoButane, ID, OPIS (50) - MT.B-ENT - Cal 22||318=USD||9040=0.00125||9041=50||1039=P||916=20220101||917=20221231||9032=62.50000||9061=20011||9062=IsoButane, ID, OPIS (50)||9063=IsoButane, OPIS Average (50)||9215=0||9216=0||9205=0||9083=5||9084=0||9085=monthly||9100=USD||9101=USD / gal||9300=786||9301=Mt. Belv-Enterprise||9302=MT.B-ENT||9200=16||9201=4343||9202=Cal 22||9013=0.00125||9014=50.0||9017=50000.0||998=bbl||9022=12||9024=1.0||9025=N||9133=52.50000||9134=52.50000||9217=0||311=6249352||305=8||326=17||463=FXXXXX||763=0||542=20211029||436=1000.0||308=IEPA||307=IsoButane, ID, OPIS (50) - MT.B-ENT - Q4 21||318=USD||9040=0.00125||9041=50||1039=P||916=20211001||917=20211231||9032=62.50000||9061=20011||9062=IsoButane, ID, OPIS (50)||9063=IsoButane, OPIS Average (50)||9215=0||9216=0||9205=0||9083=5||9084=0||9085=monthly||9100=USD||9101=USD / gal||9300=786||9301=Mt. Belv-Enterprise||9302=MT.B-ENT||9200=15||9201=1915||9202=Q4 21||9013=0.00125||9014=50.0||...[about a million more tags here]...||10=047||


On Wed, Sep 30, 2020 at 4:31 PM Mike Gatny <mgatny at connamara.com<mailto:mgatny at connamara.com>> wrote:
If you compare the entry in quickfixn's messages log to the string you are parsing off your message queue, are they identical?  If not, how do they differ?

--
Mike Gatny
Connamara Systems


On Wed, Sep 30, 2020 at 5:16 PM Veduruparthi Raju <rveduruparthi at gmail.com<mailto:rveduruparthi at gmail.com>> wrote:
Hello,

I am trying to implement the SecurityDefinitions and as part of it I am making a SecurityDefinitionRequest (35=c) subscription and I am receiving the SecurityDefinitions (35=d)
Each security definition is huge and is a batch of 100 underlyings. I am trying to parse these security definitions and unfortunately running into the below exception, which obviously tells me that the message length is too long.
I am using the Quick version 4.4 and the latest dll of 1.9 version.

The onMessage callback of the SecDef receives the original message as pasted below and we are pushing that to a message queue as a string and there is a handler class where we process that message converting back from string to the SecurityDefinition Object  using the below syntax, where  requestMessage is the original sec def message from the OnMessage

var message = new SecurityDefinition();
 message.FromString(requestMessage, true, dataDictionary, dataDictionary, _defaultMsgFactory);

Invalid message: Expected BodyLength=4012, Received BodyLength=53970, Message.SeqNum=6

The below is one of the original SefDef..
Please advise how to handle security definitions.


Thanks,
--Raju.v

This email, along with any attachments, is confidential. If you believe you received this message in error, please contact the sender immediately and delete all copies of the message. Thank you from Connamara Systems, LLC.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20201001/00f22c44/attachment.htm>


More information about the Quickfixn mailing list