Building a computer to optimize Matlab with applications to algorithmic trading

1 view (last 30 days)
I'm interested in selecting components for a computer that will optimize the performance of Matlab software with applications to algorithmic trading. For instance, what cpu, memory, graphics card(for cuda), etc will optimize matlab. I will be performing large matrix computations and fft functions mostly. I plan on using control system, signal processing, and computational finance toolboxes to name a few. Overall goal is to research, back test, and develop algorithms. I have viewed the following link below and was wondering if anyone would be willing to share their benchmarking data applied to their system. Thanks!

Accepted Answer

John D'Errico
John D'Errico on 25 Feb 2014
The problem is, this is an impossible question as posed. To "optimize matlab" means nothing, since every application is slightly different. Anyway, choosing the truly optimal hardware is a silly goal, since your own applications will probably change over time as you use various tools and your problems change.
Just get a reasonably powerful system. Get sufficient memory. The fact is, no matter how much memory you have, no matter how fast a CPU you get, it will be insufficient if you are determined to exceed the limits imposed. There will always be some determined optimist who will insist on solving a problem just too large for the computer they have available, and then be proud of the fact that their problem is so large and nasty.
Once you have that reasonable system, then learn to use it. Learn to use MATLAB to solve the problems that you have. The best people in this respect are able to to choose the necessary approximations to enable them to solve the problems they are faced with. Don't just throw the largest, most powerful computer at the largest problems. Instead, find ways to reduce the problem to something you can solve. As I said, this is a special skill, but one that can be learned by those who are willing to do so.
  1 Comment
Daniel
Daniel on 25 Feb 2014
Edited: Daniel on 25 Feb 2014
I agree with what you are saying. To optimize matlab is kind of a lofty objective. However, one can still fine tune matlab with its components. You mention to build a reasonable system in which I agree with. But how does one define a reasonable system? One needs to quantify how matlab performs with its components. Matlab has a built-in benchmarking utility called "bench" that provides 6 matlab tasks and displays the execution speed of each. I will predominantly be using 3 of the 6 tasks and therefore would like to get a general layout of how benchmarking data varies with certain computer components. I propose for anyone interested in building a computer or wondering how their computer compares with others using matlab, to post your benchmarking data and general computer components. Benchmarking data can be attained by typing in bench in the command prompt. Matlab will then return to you the execution speeds of each task. I would be interested in seeing the results for bench(1), bench(10), and bench(50). Also, please identify what version of matlab you are running. If you have any questions or benchmarking data please feel free to share. Thanks!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!