Hot answers tagged

5

I am not aware on any rules preventing a too high number of entries at a limit price. Nevertheless you usually have controls for each trader id. A trader cannot have too many orders in the book or send them at a too high frequency. [EDIT] Moreover, on most trading platforms you cannot have orders too far away from the mid (or a reference price like the ...


3

A lot of people are working on this and at this time a lot of money and investment is chasing this. As a result market microstructure is changing a lot. Liquidity is becoming much less visible. You have stocks that might trade a 100 million shares a day but the sizes you will see in the book at any time in a lit exchange like Nasdaq might not be more than ...


3

The round-trip latency from point A to a matching engine at point B can be thought of being comprised of two components: $RTT_{total,A \rightarrow B} = RTT_{network\_transit,A \rightarrow B} + MPL_{matching\_engine,B}$ Where $RTT$ is the round-trip time and $MPL$ is the message processing latency (how long it takes to receive a message and produce an ...


3

You are usually given an option to either - Request a re-transmission of the messages you missed (through a different channel). Request a snapshot of the current book from a dedicated server. Both are likely TCP based.


2

No. 10 shares from Order1 have time priority. The 100 shares of Order2 will trader after 10 from Order1. The 90 hidden shares of Order1 are hidden, and therefore at the back of the queue. When they light, they get in line at the back.


2

To slice up an order you can use several execution strategies. TWAP which will execute small slices of your order over a time period VWAP which will spread your order over time and try to minimize slippage against the vwap benchmark for a given instrument POV which will split your order up into smaller chunks and attempt to keep your order filled as a ...


2

Quote: Starting in 2003, the NYSE started disseminating automatically, with a software called autoquote, any change in the best quotes in its listed stocks. Before that specialists had to update manually new inside quotes in the LOB. This implementation considerably accelerated the speed at which algorithmic traders receive information Endquote Source: ...


1

Only the transactions affect the account. See example implementation below. The position and money should be initialized at the beginning. Note that both of them, and also quantity can be positive and negative. public static class PNL { private double position = 0; // number of BTC private double money = 0.0; // USD public double get_position() ...


1

Most of the big players offer a suite of execution algorithms for big orders, as seen in this listing from Credit Suisse. Very generally speaking, the algorithms will have a pedigree going back to volume weighted average pricing schedules, or perhaps to the famous paper by Almgren and Chriss. They have various modifications, including use of "unusual" ...


1

Every match that hits the tape from the perspective of displayed ECNs is a market order matched with a limit order. You can think of this in terms of makers and takers. If I want to buy MSFT at 51.00 and post a limit for that price 3 microseconds before you post your limit to sell at 51.00 then I am the maker and you are the taker. And your sell order will ...


1

If memory serves correctly, the cran package "orderbook" was for NYSE's TAQ (Transactions and Quotes) database. the limit order book is the aggregation of latent demand in the market. For you to construct the limit order book you face a few (!) challenges. 1) Parsing itch raw messages (casting in the case of version 5.0) and 2) constructing the actual ...


1

My blog discusses this at length: https://mechanicalmarkets.wordpress.com/2015/02/16/protecting-client-interests-anonymity-in-us-equities/ . To quickly summarize, as Louis Marascio said, DirectEdge pays brokers to disclose their MPID. Another possible incentive is the broker trying to maximize their order's chance of execution; if by disclosing their MPID ...


1

I am not familiar with F#. I have implemented this many times in C++. I would go with fixed length arrays. Fr me performance is paramount. In C++, one is better off handling holes than allocating memory on the heap and add the complexity of a cache miss.



Only top voted, non community-wiki answers of a minimum length are eligible