I think I have gotten into the habit of doing a summer interview. I quite like doing them. This summer’s interview is with Sam of Speedingtradingservers. I have used one of his VPS’s for a while and I have been quite happy with running on his machine.
I have been running on different cloud servers and VPS’s for a while. The first VPS I used was with AWS ( Which was horrible by the way ) and then I ran my own VPS on a server on the east coast.
The reason I switched was there was a connectivity problem between the east coast and Chicago. On that day I could get to the VPS, but I could not get Ninja to connect to the broker’s system. I did not know my position or if I still had one. The brokers phone lines were busy because so many traders were calling in at the same time. I will leave it to your imagination as to how it all turned out.
It was one of those once every few year things, but a lot of people were affected, including me and a bond trade I was in at the time. So I got a VPS near Chicago which was Sam’s and it has been great so far.
INTERVIEW WITH SAM OF SPEEDING TRADING SERVERS
Question 1 Most trading software runs on Windows, NinjaTrader, TT, etc. I myself am a Mac person, but I use Windows to trade. So I connect my mac to the VPS. Since I am believe you have explained this a lot, can you explain how traders connect to a VPS servers?
The first step is maybe to define what is a VPS, and also explain why VPS is maybe not the most appropriate word. VPS means Virtual Private Server, but in our case, the good definition should be VPTW like Virtual Private Trading Workstation.
Virtual: the machine you access to is a virtual machine, hosted on a physical server (in two words this helps to reduce costs, for similar performances).
Private: you are the administrator of your machine, you can install the programs you want, add some fixes yourself, reboot, … The owner of the physical server, where this machine is hosted, can’t see your files, or what you’re doing, it’s your private machine.
Server/Trading Workstation: “server” is commonly used for VPS because most of them are used as web or application servers, using Linux 99.9% of the time. In our case, it’s a server operating system (Windows 2008 R2), but the “server” functions are not used, and the VPS is acting as a remote workstation.
So, just to describe what is a VPS/VPTW, what I’m saying to non-technical guys, is to imagine this:
- you have a powerful PC, in a data center near the CME or the NYSE, with all your trading tools,
- your own PC (or Mac, iPad, tablet, …), in your own office (or in your car, boat, …), is connected to your remote PC (the VPS) with few hundreds/thousands miles keyboard/mouse/screen/printer/audio cables.
You move your mouse: the cursor on the VPS will move. You have an audio alert on your trading software, running on the VPS: you’ll hear the sound on your local PC.
Now, if the basic logic is simply getting “virtual cables”, we only need to get a software that will allow the creation of these cables.
The communication protocol used for this is named RDP (Remote Desktop Protocol): all the events (move the mouse, type on the keyboard, …) is sent/received using this network protocol.
The idea now is only to get a software able to do this, which is quite easy on Windows machines, as this program is already installed (usually in c:\Windows\System32). This is a standard program, created by Microsoft, the executable is mstsc.exe.
Now, the user execute this program, and have to enter few pieces of information:
- the name (or the IP address) of the remote machine, which is your VPS name
- a username and its password
This is not your PC username/password, their is no link between those two.
You can also change some options:
- display options: would you like to be on your VPS in full screen, do you want to use all your monitor, …
- will you allow copy/paste between your PC and the VPS ? It’s very useful, you can also transfer files from your PC to the VPS with a simple copy/paste
- will the VPS sound have to play your own PC ?
Once this is done, click on connect, and you will see your VPS screen(s), just like it was your own PC.
Question 2 What is your favorite RDP client ? Have you seen a major difference in speed or performance from different clients? How is using RDP over multiple screens ?
The question might be “favorite RDP client for each architecture” .;).
For Windows based client, the official Microsoft client (mstsc) works fine, no need to look somewhere else.
For Mac, cord is pretty cool (http://cord.sourceforge.net/), so are 2X products (http://www.2x.com/rdp-client/windows-linux-mac/downloadlinks/). But for my own needs, I’m still using the official Microsoft client (http://www.microsoft.com/mac/remote-desktop-client).
For Android and iPad/iPhone devices, I’m now using the 2X client (http://www.2x.com/rdp-client/android/ and http://www.2x.com/rdp-client/ipad-iphone-ios/). Some other Apple/Android clients are also good, but this one is the most stable.
On Linux, I use xfeerdp, but rdesktop is also a good choice.
The RDP protocol is already very optimized, I never found any performances differences between them, only more functions, or more stability.
For multiple screens, I only used it with from Windows or Linux, nothing special on this side, it works…
Question 3 Can you talk about WHERE you should have your VPS. For example, I trade on Eurex sometimes but my broker is in Chicago, so even if I have a VPS in Europe, my trades would still have to make the round trip to Chicago.
The broker’s location is not the key point, it’s the location of its servers. Most brokers’s servers are located near the main exchanges, and your trading platform will be connected to the nearest servers. This is not true for Interactive Brokers, and maybe Tradestation (hard to get the truth here…), as IB is only in New-Jersey (and have dedicated servers in Europe/Asia).
Question 4 From what you have seen, what trading software uses the most RAM? NinjaTrader ? TWS ? CT4 ?
Whatever the software, this is not the key point. The key point is the number of charts open, how many bars are loaded, what kind of indicators are used, …
I didn’t find any big differences between each major trading software, MultiCharts seems to eat a bit more memory than NinjaTrader for examples. Same story for IB TWS, which can quickly eat a lot of memory when a lot of instruments are loaded.
Question 5 How can I tell if a VPS is ‘oversold’? I had tried a ‘Virtuozzo’ server and it was the slowest thing I had ever seen, the CPU was just slow.
That’s also a good question, you can’t know how oversold is your VPS, if it’s oversold. You’ll have a clue, if you have some erratic performances, or just bad performances… Another clue will be the price: if it’s too cheap, do not expect too much…
Question 6 What are some advantages for discretionary traders like me to run trade on a VPS ?
I see few things:
- security: your PC is “clean”, no extra or useless softwares, only trading related programs,
- reliability: the hardware used are enterprise grade servers, using Raid technologies, redundant power supply, ECC memory, Xeon processors, … All this makes these servers much more reliable than a standard PC.
- network: this is maybe the key point. The bandwidth is much higher than from any cable or DSL connection, as we have 1000 mb/s connection, which is 50 times faster than most good DSL connections. More important than the bandwidth itself, the latency is much lower than using a basic Internet connection, and is also much stable. I have few examples of round-turn in less than 16ms (which is the minimum which can be measured by a Windows machine). Most data feed gateway servers are 1ms from our VPS, vs 130ms for European users, 300ms for Asia, …, between their PC and the market gateways. Of course, these low latencies are helping to get better fills, when the entry/exit orders are managed on the VPS itself.
Question 7 Finally, what is the most common question you get about using a VPS for trading ?
The main question is “How do I change my Windows password on the VPS”. The information is easy to find in our FAQ, but it seems it’s not so popular ;). The other question is “How can I transfer my files (indicators, strategies, templates, …) to the VPS”. It’s a simple copy/paste, between your own computer and the VPS.
If you have any questions or are interested in learning more, post them over at CandleWerks. This is a longer post and I did cut out a lot to get the size down. I try to keep my posts under a thousand words.
PIMPING MY NEWSLETTER
I don’t post often, but I do have a mailing list you can subscribe to in the meantime. I usually write about Ninjatrader programming, but other trading topics as well. Subscribe to TraderWerks Blog by Email