question

Upvotes
Accepted
9 3 2 9

How should blank values be handled?

This is a general question with a specific case as example.

Should blank values in fields that normally should not be blank, be considered an error? Should we just ignore the field? Should it be 0 (or equivalent for the data type)?

In my particular case, I have an unspecified event that would normally represent a trade, except for the presence of a quote price & qty field that are blank. The easy solution would be to ignore fields with blank values in this case, but how general is this solution? Should it be a solution only for unspecified events? Any event? Any field? Any data type?

Stream RBU7-X7 --- RSSL_MC_UPDATE/RDM_UPD_EVENT_TYPE_UNSPECIFIED field values
   TIMACT (5)                18:18:00:000:000:000
   TRDTIM_1 (18)             18:18:00:000:000:000
   ACT_TP_1 (270)             Þ (2)
   SC_ACT_TP1 (280)           + (1)
   TRDPRC_1 (6)              0.1323
   PRIMACT_1 (393)           0.1323
   NETCHNG_1 (11)            0.0062
   SEC_ACT_1 (275)           0.0062
   PRCTCK_1 (14)             Þ (1)
   ACVOL_1 (32)              1935
   PCTCHNG (56)              4.92
   NUM_MOVES (77)            1234
   ASK (25)                  <<blank>>
   ASKSIZE (31)              <<blank>>
   TRDVOL_1 (178)            38
   SALTIM (379)              18:18:32:000:000:000
   SEQNUM (1021)             63235757
elektronrefinitiv-realtimeelektron-sdkrrteta-apielektron-transport-apifields
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
Accepted
9 3 2 9

So what I figured is that blank values can sometimes mean something. I still have not figured out what they would mean in my example above, but in other cases, they tell you indirect information about the data. E.g. For futures, a blank "number of orders" indicates an implied order.

So my conclusion is that blank values should be ignored (as if the tag was not part of the data set) unless otherwise stated and the information they provide is needed.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
4.4k 10 6 9

Hi @Ypar

You should never treat a blank field as zero.

Blank field means you should clear the field, no value, just blank.

The actual reason behind the clearing differs case by case. But in your particular case, you have to look at the bigger picture.

RBU7-X7	Market Price	2017-07-18T18:18:30.098416602Z	UPDATE	UNSPECIFIED
	FID	25		ASK		0.1322
	FID	31		ASKSIZE		4
	FID	3264		PRC_QL3		339
...
...
BU7-X7	Market Price	2017-07-18T18:18:32.717695993Z	UPDATE	UNSPECIFIED
	FID	5		TIMACT		18:18:00
	FID	18		TRDTIM_1	18:18:00
	FID	270		ACT_TP_1	2
	FID	280		SC_ACT_TP1	1
	FID	6		TRDPRC_1	0.1322
	FID	393		PRIMACT_1	0.1322
	FID	11		NETCHNG_1	0.0061
	FID	275		SEC_ACT_1	0.0061
	FID	14		PRCTCK_1	1
	FID	32		ACVOL_1		1897
	FID	56		PCTCHNG		4.84
	FID	77		NUM_MOVES	1233
	FID	178		TRDVOL_1	4
	FID	379		SALTIM		18:18:32
	FID	1021		SEQNUM		63235757
RBU7-X7	Market Price	2017-07-18T18:18:32.718579330Z	UPDATE	UNSPECIFIED
	FID	5		TIMACT		18:18:00
	FID	18		TRDTIM_1	18:18:00
	FID	270		ACT_TP_1	2
	FID	280		SC_ACT_TP1	1
	FID	6		TRDPRC_1	0.1323
	FID	393		PRIMACT_1	0.1323
	FID	11		NETCHNG_1	0.0062
	FID	275		SEC_ACT_1	0.0062
	FID	14		PRCTCK_1	1
	FID	32		ACVOL_1		1935
	FID	56		PCTCHNG		4.92
	FID	77		NUM_MOVES	1234
	FID	25		ASK	
	FID	31		ASKSIZE	
	FID	178		TRDVOL_1	38
	FID	379		SALTIM		18:18:32
	FID	1021		SEQNUM		63235757
RBU7-X7	Market Price	2017-07-18T18:18:32.718579330Z	UPDATE	UNSPECIFIED
	FID	25		ASK		0.1323
	FID	31		ASKSIZE		38
	FID	3264		PRC_QL3		339
RBU7-X7	Market Price	2017-07-18T18:18:32.718579330Z	UPDATE	UNSPECIFIED
	FID	25		ASK		0.1324
	FID	31		ASKSIZE		13
	FID	3264		PRC_QL3		339

The trade is filling two prices. You could see that the SEQNUM are the same.

The blank was sent because this trade fills multiple prices.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Because it "fills multiple prices" makes no sense to me as a reason to add quote fields to a trade event, independently of their values. I see no sane justification there.

Aside from that, what I am understanding from your response is that we should just ignore blank values as if the fields were not even present.

Click below to post an Idea Post Idea