Ah, I see. Apologies I mistook this for an idle banter thread but this is actually very interesting.
I would say the first thing to keep in mind is your goal is a technological one and should be implemented in a matter that does not consider business functionality. That is if you want the best efficiency you are probably going to want something that is only integers, if it happens to match ISIN then great, but it wont. If it's only speed your looking for then maybe the stream the ticks go through should be aware of what symbol it's for? If not just however many bytes you need to represent all of your contracts.
I'm working on a tick fed simulator myself but I wasn't planning on actually analyzing ticks (I wasn't planning on such short term for my first system) but I didn't consider how many raw ticks it could handle. How many ticks are you expecting to have to process? What's the goal? I'm just wondering as my own was around 100k per second (very fair estimate that I have yet to measure, hopefully more like 500k) but this was going to be for 5second+ data not raw ticks so I figured I would be fine.
As for what natural identifier you have for all instruments, I would say ISIN. It sounds like equities all have properly formed ISINs and you can always create fake ones for Options/Futures and/or use some hybrid that considers the exchanges (eg, CME + SecurityID) and just be sure you allow a lot of characters or not a set amount of characters anyways.
If any of that didn't make sense please tell me, I've been programming a lot so communication is a little rough sometimes.
I would say the first thing to keep in mind is your goal is a technological one and should be implemented in a matter that does not consider business functionality. That is if you want the best efficiency you are probably going to want something that is only integers, if it happens to match ISIN then great, but it wont. If it's only speed your looking for then maybe the stream the ticks go through should be aware of what symbol it's for? If not just however many bytes you need to represent all of your contracts.
I'm working on a tick fed simulator myself but I wasn't planning on actually analyzing ticks (I wasn't planning on such short term for my first system) but I didn't consider how many raw ticks it could handle. How many ticks are you expecting to have to process? What's the goal? I'm just wondering as my own was around 100k per second (very fair estimate that I have yet to measure, hopefully more like 500k) but this was going to be for 5second+ data not raw ticks so I figured I would be fine.
As for what natural identifier you have for all instruments, I would say ISIN. It sounds like equities all have properly formed ISINs and you can always create fake ones for Options/Futures and/or use some hybrid that considers the exchanges (eg, CME + SecurityID) and just be sure you allow a lot of characters or not a set amount of characters anyways.
If any of that didn't make sense please tell me, I've been programming a lot so communication is a little rough sometimes.