Setting up analytics - technology choices

Discussion in 'Trading Software' started by jfrayit, Jun 26, 2010.

  1. jfrayit



    I am in the process of setting up my own little analytics database for generating some technical

    indicators as well as for options Greek. I wrote the initial technical analysis part in Perl which I found

    was too slow when more than one day needs to be processed. So re-wrote it into Octave (clone of

    Mat lab) which was faster but querying the result from Octave native files was a pain. So yet again

    decided to use a database system to keep the data and chose kdb (trail version for now). However

    Octave does not seem to have any interface to kdb, once again I had to go back to Perl and write it

    for kdb - which is now fast enough.
    As you may realize Perl is not really handy for modeling ( while Octave is ), so although I am done for

    now I am realizing this is not perfect for future expansion considering that I have not yet started with

    the Options pieces. I was considering the "q" language which works with kdb as a script which seem

    to be quite different from any other scripting languages I have used in the past and not as much

    readable. I am sure a few of you out there have tacked similar problem as me with the wide choice of

    languages out there. Any suggestions which one of these (or something not mentioned here) could

    be a winner long term?

  2. PowerST


    I am not clear from your post what your goals are and what your price tolerance is. If your goal is to backtest a complete strategy and your price tolerance could afford the business level pricing of PowerST (discussed at the bottom of the Product Overview of the PowerST web site), possibly PowerST might be of interest to you.

    Is your goal real time, tick data backtesting, or EOD (End Of Day, daily data) backtesting? PowerST is for EOD backtesting.

    PowerST is a backtesting program based upon C++ that has the ability to handle essentially unlimited quantities of data very quickly. This might be a possibility, rather than using a database and writing your own code from scratch, depending on what you are seeking to accomplish. And if you want to keep your data in a database, probably you could use PowerST for the backtesting engine and pull the data from a database like kdb.