# How to choose a data center for deploying high frequency trading strategies?

We are in the process of selecting the data center for deploying our high frequency strategies. Does anyone has some questionnaire that can be used to figure out that what type of infrastructure (hardware, processor, cores, ram, network interface card, switch, OS, etc. etc.) will be the best for our strategies? I know this is a big question but any useful input based on your past experience will be very helpful...

-

3
Sorry, I can't take this question seriously. Surely if you developed true HFT models you've considered proximity and latency to matching engines and associated venue fee structures very carefully. Right? – Louis Marascio Mar 22 '12 at 13:58

1
Only you can assess what your needs are. – chrisaycock♦ Mar 22 '12 at 14:05

## 3 Answers

be careful: if you want to implement a smart routing strategy (addressing more than one trading venue), you should at least have one component of your strategy located at the same distance (i.e. same time to each matching engine) from all the orderbooks you plan to interact with.

Just say that you detect at $\tau_0$ that bid price in the matching engine $B$ is higher than the ask price in the matching engine $A$. The time to reach $B$ is $\tau_B$ and to reach $A$ is $\tau_A$. Your two orders will reach $A$ at $\tau_0+\tau_A$ and $B$ at $\tau_0+\tau_B$. The larger $|\tau_A-\tau_B|$, the higher the probability that one of the two quotes will have been removed one way or the other (cancelled or traded), and you will have to pay the full bid-ask spread to unwind your position.

In detail, if you have some tactics that can be run at one order-book only, it is good to be as close as possible from it; but for a simple bid-ask crossing arbitrage:

• say that you see a quantity of $Q_a$ at the best ask (at price $P_a$) on a trading venue $A$ and a quantity $Q_b$ at the best bid (at price $P_b=P_a+u$) on another venue $B$.
• You want to buy $Q=\min(Q_a,Q_b)$ on $A$ and sell it on $B$ (you will earn $Q \times u$).
• You send your two orders simultaneously to $A$ and $B$ at $\tau_0$, say that $\tau_A<<\tau_B$

1. It hits $A$ at $\tau_0+\tau_A$, assuming that $\tau_A$ is small, you bought $Q$ as you expected.
2. in between the market participant who owns the order on $B$ realized that he crossed the spread without being executed: we sent a cancel.
3. his cancel has $\tau_B-\tau_A$ milliseconds to reach $B$ before the order you sent at $\tau_0$, and your pair would be ruined.

More generally, any observer of the price formation process has $\tau_B-\tau_A - 2\tau_{ex}$ (where $\tau_{ex}$ is its average latency to $A$ and $B$) to remove $Q_b$ one way or the other and ruin your pair.

The lower $|\tau_A-\tau_B|$, the better, it is even sometime better to slow one of your message to ensure a small $|\tau_A-\tau_B|$. Of course, the larger $(\tau_A+\tau_B)/2$, the worst.

You have to find the best balance between $\tau_A$ and $\tau_B$ such that $|\tau_A-\tau_B|$ and $(\tau_A+\tau_B)/2$ are as small as possible.

-

lehalle, can you elaborate on why "same distance" matters? – Ryogi Apr 17 '12 at 1:53
@RYogi it seams lehalle is stating that if your trying to do arbitrage (think forex and two trading venues with different prices for the same coin) it will make more sense to have a similar latency for both trading venues (say 200ms) than to have 10ms for one and 390ms for the other. – Frankie Aug 6 '12 at 0:07
yes: it is a well-known effect. I tried to modify my answer, @RYogi. – lehalle Aug 6 '12 at 6:02

Ok firstly while i am only an amateur quant i just happen to be a professional data center designer in the UK. I design data centers from small N resilient rooms to multi megawatt co-location facilities.

Ultimately the question of whether to move your equipment into a co-location facility depends entirely on your business needs. To properly understand this you need to assess the capabilities of your existing facilities with respects to the connectivity of the site, security, power availability, average external ambient conditions and the cost of floor space vs office space.

Simply put you should invest in a consultancy for an expert to perform a needs analysis and site assessment, with this information they can write a report with some indicative costing of building a new data centre and any site limitations. Using this information you can then quantify any decision on whether to co-locate or build a new facility.

If you are serious about owning a data center then i urge you to contact a professional as soon as possible, the earlier the engagement the more effective the design and the more informed the business decisions. Retrospective designing is painful for everyone!!

I hope this helps.

-

1
even though your input as a data center (DC) expert is very valued, and I loved your answer, I think it has never crossed the mind of the OP to build it's own DC! ;) – Frankie Aug 6 '12 at 0:04
• Depends if your trading strategy requires co-location; based on speed of execution and latency. i.e. if your strategy is market data event driven; then yes; you do need to be co-located
• Co-location vs close proximity.
• Cost. Co-location usually more expensive than close proximity
• Services provided. i.e.; if your host provider have a market data API that you understand; it might be the only choice
• HFT strategies rely heavily on Market data. If you are trading on multiple exchanges; the chances that you colocated close to one exchange but not the others!

At the end of the day; it is all about cost. If colocating will make you 50% more money; then it is worth it. If you are going to make only 10% extra; it may not be worth it.

-
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 46, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9461966753005981, "perplexity_flag": "middle"}