java+netbeans+mysql+ubuntu 64 bits LTS VS C#+MS SQL for fast develop a trading system


Junior member
I am going to build a trading system and use with the broker "Interactive Broker" API.
The API supports C++ Socket, Java Socket, DDE, Active X APIs in Windows.
The API supports Java Socket API, Posix C++ Socket API in Unix kind like Ubuntu.

My trading system has some real time long calculations to do and a lot of maths for backtest. I am using a retail trading program Amibroker which is written in C++ and I run it in windows xp 32 bits, it will take me days to do one serious backtest with my G620 Sandy Bridge CPU and 3GB of ram.

So for my trading system, I need to have 1. speed, 2. stability, 3. fast development

I have done some research, C++ is fastest but I am not good at it and it takes much longer time to develop. Other than C++, Java in linux has the best speed.

I also did some research for database and look like mysql has the best speed.

Netbeans should be the most popular Java IDE now and seem like its GUI design can be as easy as Virtual Studio now. I am not sure if made by Netbeans would affect the speed and if its GUI design is really that good and easy to use.

Ubuntu 64 bits LTS has good long term support, good community support, and stable.

I will buy a new computer if I can create a good trading system for live trading and backtest. Very likely I will buy a I7 or I5 depends on if I7 can really have better speed for my case.

Actually I mainly deal with C# in my jobs and I just knew java but not good at java. What would you guys recommend? Any better solution? This will be a big project and very likely life long project for me so I seriously do research including asking you guys before I start and focus on what I should, thanks!
I have been around the block and have developed my own trading system first with JAVA, then php with SQL back end and CPP code. Finally I settled on CPP native and that was because of the need for speed. The back end database is my own in CPP to help with speed since I load everything into memory to start with. I trade intraday using Lightspeed API. I wish I had just started with CPP MFC to begin with, I would have saved so much time. Do yourself a favor, if you want to make your own platform, start with the best tools, CPP in my opinion. Once you set up the initial framework the rest of pattern coding and discovery will be easy. I was scared away by the initial complexity of windows programming and graphics but once started learning I realized that any problem is always solvable by using web resources. Now when I want more speed I just buy a faster machine but I haven't even had need for that and I'm only using an i5 processor. Loading the database into memory is the key for speed.

Very briefly I would look at getting your market data from someone like morningstar using their TCP connection to get live data and alerts. For historic prices, fundamental and company info I would import daily from someone like finex. I would then get quotes and execute trades through a back office provider.

Front end wise I would do it in PHP which connects to a MySQL database and for anything back end I would use C++

I would optimize PHP and MySQL by using the latest versions (PHP 5.5) and whatever the latest of MySQL is. I would use JavaScript for the rendering of the data and use PHP to return JSON data to the JavaScript.

Doing it this way you way support many platforms.

Finally if you are doing it on your own I would estimate it will take you 2 years solid 3 years part time.