L
Lorn
I'm going to be attempting my most challenging programming task to date
and was wondering if I could get some input on what would be the most
efficient way of working with stock price quote data for an entire
order book. I'm working with a raw text data stream that delivers
quotes in realtime for each price level with the quantity of shares,
the ID of the exchange that is honoring the quote, and the side of the
market it is on. For instance, a typical feed might look something like
this:
Symbol, Side, Price, Shares, ID
XYZ, S, 33.02, 100, ARCA
XYZ, B, 33.01, 200, NYSE
XYZ, B, 33, 1000, NYSE
XYZ, S, 33.02, 0, ARCA
A quote is deemed as having been removed from the book when a share
size of 0 is received, as in the last quote received above.
I'd like to have the data sorted into two containers (bidSide and
askSide) by price into an order book in realtime... but I'm having a
difficult time deciding on the best way to do this due to the fact that
it should be the most efficient design possible regarding speed. If
anyone has some experience with this type of data or could suggest a
possible route (lists, maps, or, etc.?), it would be hugely appreicated
as I'm definitely taking on a bit more than I can chew.
Many thanks,
Lorn Davies
and was wondering if I could get some input on what would be the most
efficient way of working with stock price quote data for an entire
order book. I'm working with a raw text data stream that delivers
quotes in realtime for each price level with the quantity of shares,
the ID of the exchange that is honoring the quote, and the side of the
market it is on. For instance, a typical feed might look something like
this:
Symbol, Side, Price, Shares, ID
XYZ, S, 33.02, 100, ARCA
XYZ, B, 33.01, 200, NYSE
XYZ, B, 33, 1000, NYSE
XYZ, S, 33.02, 0, ARCA
A quote is deemed as having been removed from the book when a share
size of 0 is received, as in the last quote received above.
I'd like to have the data sorted into two containers (bidSide and
askSide) by price into an order book in realtime... but I'm having a
difficult time deciding on the best way to do this due to the fact that
it should be the most efficient design possible regarding speed. If
anyone has some experience with this type of data or could suggest a
possible route (lists, maps, or, etc.?), it would be hugely appreicated
as I'm definitely taking on a bit more than I can chew.
Many thanks,
Lorn Davies