OpenQuant strategy coding

Discussion in 'App Development' started by mcgene4xpro, Jul 11, 2012.

  1. 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.
     
    #11     Jul 12, 2012
  2. 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.
     
    #12     Jul 12, 2012
  3. Eight

    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...
     
    #13     Jul 12, 2012
  4. 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.
     
    #14     Jul 12, 2012
  5. dom993

    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.
     
    #15     Jul 12, 2012
  6. 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?
     
    #16     Jul 12, 2012
  7. My understanding is

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

    fair enough
     
    #17     Jul 12, 2012
  8. single inheritance in C#? Care to elaborate?

     
    #18     Jul 12, 2012
  9. Eight

    Eight

    They just have an interface for IB but it's very rich in features.
     
    #19     Jul 12, 2012
  10. dom993

    dom993

    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.
     
    #20     Jul 13, 2012