OpenQuant strategy coding

Quote from dom993:

Speed to implement comes from an adequate programming language (I'd say any object-oriented language fits the bill, but obviously some are better than others), and from the amount of libraries available to use in your strategy development.

Amongst those libraries, the most important ones are those that you will develop yourself, providing you with the proper framework for what you want to do.

Agree. To balance between " waiting to get everything optimal" or " get in quicker with an acceptable arsenal of tools" is crucial. That is why i decided to : 1- not learn C++. I know C++ is more powerful but it will be nearly impossible for someone like me to learn it enough to get the benefit.
2- To start working on an already tested framework and not to reinvent the wheel.


The acceptable level, i think comes when i decided to not learn programming by start with languages such as easy language or AFL. I decided to go to languages such as c# and Java. They relatively could get things done with relatively enough power. General purpose and OO languages. Also, OpenQuant could give me the event oriented architecture.

If i could achieve all that in a reasonable time frame, i will feel so content.
 
My goal is to play at the edge of retail in terms of execution speed. This is where my system will be at minimum risk. I care about risk more than profit. :)

Hopefully LMAX + OpenQuant can get me there. Till now i think so.
 
You mentioned AFL though... if I had to pick another package right now I'd probably go with Amibroker for awhile to see if I like it.

I can, have not quite bothered yet, but could, bring Event Driven Architecture to any of the packages. I wrote my own functions to implement that in Sierrachart but it's a hokey way to go, I want it done at a lower level. Ninja has a little bit of it and Openquant has it in spades...
 
Quote from Eight:

You mentioned AFL though... if I had to pick another package right now I'd probably go with Amibroker for awhile to see if I like it.

I can, have not quite bothered yet, but could, bring Event Driven Architecture to any of the packages. I wrote my own functions to implement that in Sierrachart but it's a hokey way to go, I want it done at a lower level. Ninja has a little bit of it and Openquant has it in spades...

AFL is a powerful concise language indeed. But very few are depending on it for live trading. Only for backtesting and optimizing. It is one of the least priority on list. It would be another plus for me to be able to play with it one day. But to be realistic, i have to focus on one thing at a time.
 
Quote from mcgene4xpro:

Agree. To balance between " waiting to get everything optimal" or " get in quicker with an acceptable arsenal of tools" is crucial. That is why i decided to : 1- not learn C++. I know C++ is more powerful but it will be nearly impossible for someone like me to learn it enough to get the benefit.
2- To start working on an already tested framework and not to reinvent the wheel.

I'd say C++ is more open than C#, but in everyday terms that means more opportunities for uncaught (by the compiler) mistakes.

C# provides a safer development environment, its main feature - vs C++ - (imo) is the garbage collector (which is a double-edge sword), its main limitation - vs C++ - is the single inheritance.


On the trading platform side, already tested framework doesn't mean bug-free or even fast-fixes ... I have generated a fair number of tickets with Ninja, and I have yet to see an answer different from "this is expected behavior" ... even when it is followed by "it will be fixed in the next major release". To be fair, in all but one case, I found a workaround (in one case, that workaround takes 1000+ lines). Sadly, you'll only find out about platform bugs usually late in the game.
 
Quote from dom993:

I'd say C++ is more open than C#, but in everyday terms that means more opportunities for uncaught (by the compiler) mistakes.

C# provides a safer development environment, its main feature - vs C++ - (imo) is the garbage collector (which is a double-edge sword), its main limitation - vs C++ - is the single inheritance.


On the trading platform side, already tested framework doesn't mean bug-free or even fast-fixes ... I have generated a fair number of tickets with Ninja, and I have yet to see an answer different from "this is expected behavior" ... even when it is followed by "it will be fixed in the next major release". To be fair, in all but one case, I found a workaround (in one case, that workaround takes 1000+ lines). Sadly, you'll only find out about platform bugs usually late in the game.

I can not seek the perfect .. If i do, this will
1- Delay me from getting into the game.
2- Make the learning curve brutally high for me.

Regarding my specific situation, i believe i have to make compromises but the valid question is to which degree?
 
Quote from mcgene4xpro:

I can not seek the perfect .. If i do, this will
1- Delay me from getting into the game.
2- Make the learning curve brutally high for me.

Regarding my specific situation, i believe i have to make compromises but the valid question is to which degree?

My understanding is

Retail + Millisecond ---> C# or Java
Institutional + microsecond -----> C++

fair enough
 
single inheritance in C#? Care to elaborate?

Quote from dom993:

I'd say C++ is more open than C#, but in everyday terms that means more opportunities for uncaught (by the compiler) mistakes.

C# provides a safer development environment, its main feature - vs C++ - (imo) is the garbage collector (which is a double-edge sword), its main limitation - vs C++ - is the single inheritance.


On the trading platform side, already tested framework doesn't mean bug-free or even fast-fixes ... I have generated a fair number of tickets with Ninja, and I have yet to see an answer different from "this is expected behavior" ... even when it is followed by "it will be fixed in the next major release". To be fair, in all but one case, I found a workaround (in one case, that workaround takes 1000+ lines). Sadly, you'll only find out about platform bugs usually late in the game.
 
Quote from mcgene4xpro:

AFL is a powerful concise language indeed. But very few are depending on it for live trading. Only for backtesting and optimizing. It is one of the least priority on list. It would be another plus for me to be able to play with it one day. But to be realistic, i have to focus on one thing at a time.

They just have an interface for IB but it's very rich in features.
 
Quote from amazingIndustry:

single inheritance in C#? Care to elaborate?

The fact that a class X can inherit (be derived) from a single base class B:

// C#
class X : B { ... }

contrary to C++ where a class X can inherit (be derived) from multiple base classes B1, B2, ... Bn

// C++ only
class X : B1, B2, ..., Bn { ... }


Of course, in C# a class can *implement* multiple interfaces, but that's the thing - it has to provide the implementation for each interface it supports, and this is a world apart from inheritance.
 
Back
Top