Quote from flakac:
I decided to use Matlab for backtesting&trading system development. Yes, the Java (or any real programming language is better) but I had no experience to work in anything else then Matlab.
My system consist of several objects, they are connected to each other trough event -listener mechanism (=nightmare for debugging and source of instability) The first objects reads the data and the last objects creates the trading signals. (the objects between do data processing, machine learning, etc)
The connection to broker I haven't done yet..
Matlab pros:
- You can do what you want, the programming is easy and quick
- Plenty of ready made methods you can use (like machine learning methods in statistic toolbox) You do not need program this yourselv.
Matlab cons:
- Mechanisms common in other programming languages are missing
- Matlab calculation are vector based, which is good for simple ccalculations but if you want incremental steps (data arrive - data are processed) then you must handle it accordingly.
- No multithreading (or at least it is difficult)
- Big memery demands
- Very slow
And even the programming in Matlab is easier then in other languages (at least for me..) the time demand to develop something useful is huge huge....
If you want you need OWN back testing platform, think carefully why not to use something what is available already. Because development something from scratch is really not easy. If I know it beforehand, I never do it again ...
So if you really need your own backtesting, do the flowing:
- Hire a project manager
- Hire some programmers