-1
$\begingroup$

I've been trading forex and programming (I'm in college), but want to get into automated trading and analyzing data real-time to make decisions (and learning more about stats and math as a hobby). I only have a laptop with a small SSD, so I'm planning to build a computer for this.

  1. For storing data, would something like this 4tb hdd work? I'm not sure if the seek time will matter (vs getting a SSD) because most of the data reading will be sequential anyways, right? Will a regular HDD work or will it bottleneck the performance? Will getting a HDD with size as large as 4TB bottleneck the performance?

  2. Should there be a minimum amount of memory/cpu/gpu I should aim for? (grabbing and analyzing real-time data especially)

  3. My broker (IB) offers platforms for both windows and unix. Does it matter which OS I use?

$\endgroup$
  • 2
    $\begingroup$ You should get to the point of having your laptop be a bottle neck first before even thinking about anything else. $\endgroup$ – pyCthon May 17 '15 at 7:11
3
$\begingroup$

Depending on how you are processing the data it might be cheaper to create a simple web app and run this on Amazon or Google Web services. You get charged in ¢ per hour that way and can focus on improving the logic of your algorithms etc. Rather than upgrading your hardware. This way you have a speedy connection even a few milliseconds in delay can cost you throughout the course of a year.

$\endgroup$
0
$\begingroup$

To run local tests, particularly tick data tests, you want to use SSD drive. Intel i5 processor or better. You can get away with i3 processor. But 2 cores is the absolute minimum, with 4+ processors or higher recommended. You said you were using IB, so perhaps you are coding in MultiCharts? If you want to only run simulations, you could use MT4 and import dukascopy data. I recommend Birt's Tick Data Suite v2 to make your life a lot easier.

Ideally this would be a separate laptop that you can run tests on and maybe run some music or a movie on also. But more processors mean you can run more tests simultaneously.

And not a bad idea to consider using an external vacuum fan, like this:

usb external vacuum suction fan

Help to take off the excess heat while using more processing power.

$\endgroup$
0
$\begingroup$

You absolutely do not need to build a computer to do this. Certainly not to do research, and probably not even to trade. A more sensible approach might be

  1. Acquire some data (store it on your laptop's SSD, or on an external drive if too large)
  2. Start experimenting with simulated trading on historical data, either by writing your own back-testing engine or using one provided by your broker.
  3. If you have something that looks profitable, start paper trading it in real time. Is it profitable in paper trading? If not, why not? If you can determine that the problem is the speed of your computer or the speed of your connection, then you may need to upgrade these (but as suggested in another post, you can run your algorithms on AWS without going to the expense of building a new computer).
  4. Once you are profitable in paper trading, start trading small amounts of money live. Again, if you are not profitable, you need to analyse why. You only need to upgrade your hardware if you can convince yourself that the speed of your computer or connection is the problem.
$\endgroup$
0
$\begingroup$

I agree that you should write a server program for this. It's cheaper, and most of the bottleneck will reside on the network connection anyway, and something like AWS will likely have a better WAN infrastructure and locality than you can at your university or home.

You haven't given us enough information to answer this question properly for you but:

  • FX ECNs or dealers generally require much lower bandwidth and storage space for their market data. 4 TB should give you excess space for a year. If you use AWS/Azure, you can always increase the amount of storage you're using as your needs increase so I would start small (<=100GB).
  • You can handle real-time data with 1 GB of memory and any modern processor on a server (minimal background programs) really. If you're asking this question, you probably don't need to think about upgrading this yet.
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.