Any good structure for a simple self-made backtesting platform?

Ninja or other retail level trading system cannot handle the "most complicated algorithms". You need reasonable work-arounds and maybe you show us how Ninja handles a matrix inversion without having to link up to external libraries. Also, how to implement multithreaded paradigms? How do you handle database access to those dbs that are not supported out of the box? How do you connect to unsupported broker APIs? Right, you need to code an interface in a compiled language!!! And how do you implement a simple Kalman or Particle filter? Ninja is what it is, a scripting language / a limited C# set in order to avoid having to learn a complete programming language. That is all to it. It comes with all the limitations that most other scripting languages suffer from as well.

Quote from dom993:

You are totally wrong & stubborn. Ninja (and likely Multichart) offers the full spectrum of C# to develop your indicators & strategies.

I have developed in Ninja/C# systems which complexity is far beyond what you'll ever do. Ninja's framework isn't hard to understand at all, and again, by using it you would learn a lot about what a trading platform must offer, and that would give you a basis to compare architecture options.
 
Quote from j2ee:

easy language is limited and i cannot do what i want with easy language. i can build a trading system that works but i want to know how to build with good structure to have good speed and effective OOP structure. Even someone is hired to work in ibank or trading system company, the job is very specific like just design the backend or front end of a big system, so technically almost no one has professional individual simple trading system build experience. Even excel is better than retail trading system out there because at least knowing the backtest is exactly what i design and it is precised. Backtest with retail software out there just give me the result, I don't even know how they calculate and does it precised, the biggest problem is still once I am not with normal common way of strategy that requires programming to build the strategy, easy language just never works or almost impossible to learn how to do with that easy language. It is pointless to be professional with an easy language, it is valueless in professional financial IT industry. Commonly only Java, C#, C++/C mean the most for programming language. Some people mention R but it is still very rarely in job market.

Personally I prefer Matlab - much faster development time than e.g. C++ and fast enough unless you do HFT.
 
Quote from QuantWizard:

Personally I prefer Matlab - much faster development time than e.g. C++ and fast enough unless you do HFT.

How about live trading? Matlab seem like has nothing for live trading at all.
 
Quote from j2ee:

How about live trading? Matlab seem like has nothing for live trading at all.

What do you mean with "have nothing"? If you mean an off-the-shelf trading platform the answer is no - but if you need that I'd say your knowledge is not adequate to pursue automated trading in the first place.

I do automated day trading live and it works perfect. If you need speed you can compile or even invoke C++ and java.
 
Quote from j2ee:

How do you live trade with matlab? I don't think it is even supported.
There is activeX connection to Interactive Brokers, also some 3rd partz java interface to Interactive Brokers exist. But this part I haven't implemented yet.. (i am not so smart..)
 
Quote from QuantWizard:

What do you mean with "have nothing"? If you mean an off-the-shelf trading platform the answer is no - but if you need that I'd say your knowledge is not adequate to pursue automated trading in the first place.

I do automated day trading live and it works perfect. If you need speed you can compile or even invoke C++ and java.

If you choose to use a retail trading system, there is no point to choose something that has no live trading at all.
 
Quote from QuantWizard:

What do you mean with "have nothing"? If you mean an off-the-shelf trading platform the answer is no - but if you need that I'd say your knowledge is not adequate to pursue automated trading in the first place.

I do automated day trading live and it works perfect. If you need speed you can compile or even invoke C++ and java.

come on man, if you choose to buy a retail trading system but not create one by yourself, then of course choose a retail trading system that comes with an automatic live trading part and totally alright with your broker api. This is very simple common sense except matlab gives you money to promote over here.
 
Quote from j2ee:

come on man, if you choose to buy a retail trading system but not create one by yourself, then of course choose a retail trading system that comes with an automatic live trading part and totally alright with your broker api. This is very simple common sense except matlab gives you money to promote over here.

Don't get me wrong - retail solutions may work just fine for you, but in my experience they simply haven't been able to offer the level of control and customization I need for my systems to work optimally.
 
Quote from QuantWizard:

Don't get me wrong - retail solutions may work just fine for you, but in my experience they simply haven't been able to offer the level of control and customization I need for my systems to work optimally.

Agreed.

Just as one simple example, no available retail or professional platform I have found handles systematic options strategies back-testing. This makes them all useless to me.

They also tend not to cover less-common futures etc.

And all of them, including the open source ones, are now excluding from their open source most of their broker connectors, which they are now licensing and charging for. (The IB connector might typically be free but they charge for most everything else).

So if you use them, you are forever dependent on unknown code developed by somebody else that might stop working any day and you can do nothing about it. Their connectors tend to also be out of date and incomplete and require old levels of the broker API's to limp along.
 
Quote from QuantWizard:

Don't get me wrong - retail solutions may work just fine for you, but in my experience they simply haven't been able to offer the level of control and customization I need for my systems to work optimally.

Your reason may be good only if you do backtesting but not live trading because there is no official live trading support with matlab.

As I knew matlab language is not that easy too, may be it is easier to build a new backtesting system with C#/Java then learning matlab codes. Well matlab codes mean something in job industry but not a lot.
 
Back
Top