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
Best Answer
-
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.
0
Answers
-
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 339The trade is filling two prices. You could see that the SEQNUM are the same.
The blank was sent because this trade fills multiple prices.
0 -
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.
0
Categories
- All Categories
- 6 AHS
- 39 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 60 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛