It appears that there are some interests on running automated strategies on VPS. I am creating this thread to share experiences and to find help related to VPS.
First, VPS stands for Virtual Private Server. From a trader's point of view, it is like your own PC located in a data center in a remote place (under the hood, you are sharing a multi-CPU 64-bit server with many other people with their own VPS but there are clear boundaries between VPS's).
I have a few strategies running now on VPS. The hosting company is called commercial network services (CNS http://www.commercialnetowrkservices.com). They have a product called "Trader's Desktop" that is tailored for the needs of traders. It seems that the biggest problem with the conventional VPS is the random reboots which cause interruptions to trading. They guarantee that the reboot time will not be in regular trading hours (of US markets, not sure for European and Asian markets but you can always ask the support).
The basic system configuration (system resource) is 5GB of hard disk space, 5GB/mo. of network traffic and 384MB of memory. The cost is ~$32 per month. You can add more resources at additional cost (for example, ~$2.5/mo. for each additional 128MB memory block).
I found that the 5GB network traffic is more than plenty. For the past 20 days, the total traffic of my TD is less than 2 MB! I guess they only count outgoing traffic.
The operating system on Trader's Desktop is 64-bit Windows Server 2003. Here are the software packages I have run on the platform:
- Interactivebroker's TradersWorkstation (TWS). You will have to install Java JRE to run it.
- Tradestation 8.6 b2525. I have seen on the web that Tradestation had problems with Windows Server 2003 but TS 8.6 works fine on my TD.
- This looks obvious: If you trade futures on NYBOT or NYMEX, choose a TD in the NY data center. CNS has also other locations (one in San Diego and one in Europe).
- The basic 384MB memory is not enough. If your estimated maximum memory usage is 800MB, add to 1024MB for the first month or two. You can always cut it down if you feel it is too plenty. However, if your program cannot allocate memory when it needs, it will abort and that can create a lot of risk for traders.
- This is important: you might want (and I strongly recommend) to encrypt the connection between your local PC and your TD. The security issue is discussed in this excellent link: Securing Remote Desktop for Windows XP
Follow the instructions and you should be ok.
These are all I can think of at this moment. Please share your experience:
-- with high-frequency trading robots (my strategies are mostly inter-day)
-- with other hosting companies
-- report success or failure of running trading software on certain operating systems
Comments are welcome.
Last edited by edgefirst; September 22nd, 2009 at 03:48 AM.
The following 20 users say Thank You to edgefirst for this post:
Thanks edgefirst, that was very informative.
Some time ago I was actually looking into some VPS offering companies but I couldn't really find anything (with a decent price cap) I could trust.
I was wondering about the RAM size. From your own experience how much RAM will just single instance of running strategy on NinjaTrader consume? Have you ever run out of memory with 1gb of RAM?
Also, are there any other VPS users who can share their own experiences with the company you suggested or any other VPS providers?
You are welcome. I am glad that my post can be of help of other people.
You will probably need 90MB to run NinjaTrader with a single strategy. You will also need a lot of memory for TWS if you use IB as your broker.
I am using 896MB at this time because I have to run Tradestation, Ninja, and TWS. Most of the time 768MB is ok but then I must be very careful if I want to open any other applications. So I added one more 128MB block just to be safe.
No, you don't need too much RAM for TWS, if you use it just as a bridge between NT and IB. No charts, no market scanner, no Level 2, no Option Trader, etc, etc, and your TWS will live with its 256 mb. And you can also tune the Java launcher for allowing less memory to be used.
The following 4 users say Thank You to sam028 for this post:
My server is a Linux machine, 1gb ram, with TWS and a lot of other things, and I didn't try to explore the limits (remove swap space, write a program which use a lot of ram to see how TWS like it, ...), so no clear answers. And there is memory and memory, if your TWS seems to need 512mb, maybe if a part of it is swapped-out, it still working fine.
Their is only one way to know that, testing in real conditions and see how it goes.
In pursuit of my further interest in hosting my strats closer to the action with lower latency, I contacted my broker (Mirus) if they knew of any hosting providers close to or near ZenFire since they are providing my data feed. They say they offer a service that runs on ZenFire's network that might be interesting to some of you. Here's their response...
Mirus offers TradeAssist at the Order Desk, in which you could host your systems on the Zen-Fire network at the exchange for execution. You would have view only access into your account from NinjaTrader or the Risk Management software. The Trade Desk would monitor the systems to ensure everything is running properly. You would also have access to them via Instant Message and/or by phone for any modifications you would like to make at anytime. We can sign a non-disclousre agreement as well. Commissions are slightly higher for this service at $7 per Round Turn, but we believe it's a more cost effective solution than leasing rack space or hosting a server locally. The exchange is located in downtown Chicago, but the data center where the exchange host resides is near 300 Cermak blvd, near Soldier Field and McCormick Place. The only other option would be to lease the rack space from Zen-Fire at the data center, which would cost upwards of $5k-$10k per month for those services.
Last edited by shodson; October 12th, 2009 at 06:16 PM.
That is highway robbery.. I pay $120/month for 4U rackspace (colocation), 100Mbps pipe with unlimited data, 20ms ping times to rithmic (hosts of zenfire)
If it were located in chicago I might get around 10ms ping time or less
A strategy which can take advantage of those extra 10-15ms would be extremely complex and likely require special low latency hardware too (ie FPGA implementations).
I am pretty certain that those kind of low latency strategies are highly inefficient also. I suspect the only reason institutions use them is because they are accountable for other peoples money therefore they have predefined (low) levels of risk they are allowed to take on, the shorter the time horizon you are looking at the more accurately you can gauge risk so they use the low latency stuff to engage in statistical arbitrage of sorts.
The following 2 users say Thank You to sefstrat for this post: