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

Discussion in 'App Development' started by j2ee, May 11, 2013.

  1. Nanex extracted into a binary format optimized for a specific test (market).

    I am an enterprise database version by profession - SQL Server, ORacle. SQL Server all the way, been doing 3rd level support for that at MS for some time. My answer to MySQL as a programmer is: learn SQL, please, way too many funny behaviors for me. If you need open source, never ever touch MySQL - it would be stupid these days (check MariaDb - it is a fork from MySql by the prople that DID MySql before selling it to Oracle). Or use Postgres. But MySQL is senseless....

    Personally I am happy noone here tells me to use an Oracle RAC for that and I can use SQL Server ;)
     
    #61     May 14, 2013
  2. j2ee

    j2ee

    So you mean you are using Microsoft SQL database? I guess you are using C# with it?

    What data structure you use the most or all the way in your program? Linked list? Simple array? You don't sound like using any retail trading system or open source trading system.
     
    #62     May 14, 2013
  3. Gonz

    Gonz

    I implemented my backtesting platform in MATLAB, you can see some results in www.stocklah.com. It's free for sharing.
     
    #63     May 14, 2013
  4. MS SQL, C#. Some minor C++ mixed in - of the CLR variant - to interface with some API's that simply do not have C# access.

    The question for data structures is stupid - sorry. UTTERLY stupid. I use the data structure that is applicable for the task. As such you will find all of them at one point or the other. Lists and arrays have specific different behavioral patterns and a professional will use at any moment what is best suitable.
     
    #64     May 14, 2013
  5. Are the results generated from live data or from back tests on historical data?

    Would be interesting if you could customize the indicators/strategies fully, as the "classic" TA indicators are not very effective these days...
     
    #65     May 14, 2013
  6. Gonz

    Gonz

    The results are generated from backtest. Nevertheless, I can also do backtesting + walkforward testing using my platform.

    Yes, I can almost customize any strategies if isn't too complicated.
     
    #66     May 14, 2013
  7. j2ee

    j2ee

    Would any data structure faster than another for backtesting / live trading?

    I don't think it is very stupid, not a bad thing to think about...
     
    #67     May 14, 2013
  8. The question is stupid because "backtesting and trading" is like driving a car and you ask whether it is better to turn left or right on a corner. You turn the direction you need to go.

    Both, backtesting and trading, will use data structures on hundreds of places and not all are coming with the same requirements. An idiot will look for "the data structure to use everywhere", a programmer will decide on every place which is the best data structure to use RIGHT THERE. Similar to someone very stupid only making right turns on the road (because they are easier) and someone who knows how to drive planning the whole trip and turning into whatever direction he needs to go at this moment.
     
    #68     May 14, 2013
  9. Gonz

    Gonz

    Generally object oriented accessing is slower while vector processing is faster. Well, the platform is of more important. Example, Java tends to be slower compare to C++.

    It's not so critical aspect of a platform unless you have huge amount of stocks and data-points to process.
     
    #69     May 14, 2013
  10. j2ee

    j2ee

    There are new and old data structure which would affect speed, just like an updated component in a car would be very different from 50 years ago even it is still a car.
     
    #70     May 14, 2013